- 浏览: 301407 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (298)
- Tomcat (3)
- ZooKeeper (1)
- Maven (11)
- opensource (1)
- DataBase (5)
- UML (8)
- linux (87)
- Java (32)
- 算法 (3)
- Redis (1)
- HBase (2)
- 产品 (1)
- 模板引擎 (1)
- Eclipse (10)
- JUnit (5)
- Log4j (8)
- XML (2)
- JSON (1)
- SpringMVC (23)
- Spring (24)
- TCP/IP (4)
- Windows (10)
- Web Service (1)
- 源码版本管理 (1)
- Word (1)
- Test (1)
- Mybatis (7)
- CentOS (2)
- 多线程 (2)
- Web (7)
- Servlet (3)
- JavaWeb (4)
- MySQL (7)
- 汇编语言 (2)
- linux Shell (4)
- GIT (4)
- Python (1)
- 并发 (4)
- 编程通用 (1)
- JavaScript (1)
- 异常 (3)
- 自动化部署 (1)
- 大数据 (1)
- hive (2)
- 文本编辑器 (2)
- MINA (0)
- intellij IDEA (9)
- masm (0)
- blockchain (1)
- docker (2)
- IDEA (0)
- GO (3)
- nginx (1)
- springBoot (3)
- Websocket (2)
- macOS (1)
最新评论
-
woodding2008:
ss –pl 可以查看监听方式启动的端口以及pid
根据端口查PID,根据PID查进程名称 -
masuweng:
恩很试用,也很常用。
linux 常用命令
本人来自: http://blog.csdn.net/madun/article/details/8988860/
也可以参阅本人总结:http://angie.iteye.com/blog/2334955
spring通过在web.xml 中配置ContextLoaderListener 来加载context配置文件,在DispatcherServlet中也可以来加载spring context配置文件,那么这两个有什么区别呢。
ContextLoaderListener中加载的context成功后,spring 将 applicationContext存放在ServletContext中key值为"org.springframework.web.context.WebApplicationContext.ROOT"的attribute中。(servletContext.setAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, this.context));可以通过WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext)或WebApplicationContextUtils.getWebApplicationContext(servletContext)方法来获取对应的applicationContext。
DispatcherServlet加载的context成功后,如果 publishContext属性的值设置为true的话(缺省为true) 会将applicationContext存放在org.springframework.web.servlet.FrameworkServlet.CONTEXT. + (servletName)的attribute中。
例如 web.xml中配置如下
Xml代码
<servlet>
<servlet-name>mvcServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:/spring/config/applicationContextMVC.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
则对应的applicationContext的attribute key值为org.springframework.web.servlet.FrameworkServlet.CONTEXT.mvcServlet。
在每次request请求时,DispatcherServlet会将此applicationContext存放在request中attribute值为 org.springframework.web.servlet.DispatcherServlet.CONTEXT中(request.setAttribute(WEB_APPLICATION_CONTEXT_ATTRIBUTE,getWebApplicationContext());)。可以通过 RequestContextUtils.getWebApplicationContext 或 WebApplicationContextUtils.getWebApplicationContext(servletContext,attrname)方法 来获取对应的applicationContext。
从上面的分析可以看出,DispatcherServlet所加载的applicationContext可以认为是mvc私有的context,由于保存在servletContext中的key值与通过ContextLoaderListener加载进来的applicationContext使用的key值不相同,因此如果只使用DispatcherServlet加载context的话,如果程序中有地方使用WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext) 来试图获取applicationContext时,就会抛出"No WebApplicationContext found: no ContextLoaderListener registered?"的exception。
也可以参阅本人总结:http://angie.iteye.com/blog/2334955
spring通过在web.xml 中配置ContextLoaderListener 来加载context配置文件,在DispatcherServlet中也可以来加载spring context配置文件,那么这两个有什么区别呢。
ContextLoaderListener中加载的context成功后,spring 将 applicationContext存放在ServletContext中key值为"org.springframework.web.context.WebApplicationContext.ROOT"的attribute中。(servletContext.setAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, this.context));可以通过WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext)或WebApplicationContextUtils.getWebApplicationContext(servletContext)方法来获取对应的applicationContext。
DispatcherServlet加载的context成功后,如果 publishContext属性的值设置为true的话(缺省为true) 会将applicationContext存放在org.springframework.web.servlet.FrameworkServlet.CONTEXT. + (servletName)的attribute中。
例如 web.xml中配置如下
Xml代码
<servlet>
<servlet-name>mvcServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:/spring/config/applicationContextMVC.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
则对应的applicationContext的attribute key值为org.springframework.web.servlet.FrameworkServlet.CONTEXT.mvcServlet。
在每次request请求时,DispatcherServlet会将此applicationContext存放在request中attribute值为 org.springframework.web.servlet.DispatcherServlet.CONTEXT中(request.setAttribute(WEB_APPLICATION_CONTEXT_ATTRIBUTE,getWebApplicationContext());)。可以通过 RequestContextUtils.getWebApplicationContext 或 WebApplicationContextUtils.getWebApplicationContext(servletContext,attrname)方法 来获取对应的applicationContext。
从上面的分析可以看出,DispatcherServlet所加载的applicationContext可以认为是mvc私有的context,由于保存在servletContext中的key值与通过ContextLoaderListener加载进来的applicationContext使用的key值不相同,因此如果只使用DispatcherServlet加载context的话,如果程序中有地方使用WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext) 来试图获取applicationContext时,就会抛出"No WebApplicationContext found: no ContextLoaderListener registered?"的exception。
发表评论
-
Spring3 整合MyBatis3 配置多数据源 动态选择SqlSessionFactory
2017-11-07 18:11 0http://www.cnblogs.com/hoojo/a ... -
关于Spring3 + Mybatis3整合时,多数据源动态切换的问题
2017-11-07 01:02 587http://blog.csdn.net/zl3450341 ... -
spring mvc处理方法支持如下的返回方式:ModelAndView, Model, ModelMap, Map,View, String, void
2017-10-22 22:50 1118http://blog.csdn.net/wm5920 ... -
SpringMVC里的Root/Child WebApplicationContext的继承关系(Listener和servlet加载spring文件的区别)
2017-10-22 21:10 805简述: 在tomcat启动控制台输入如下信息: ... -
Spring 国际化信息
2017-09-12 11:23 459引用 http://stamen.iteye.com/bl ... -
Spring 返回json数据
2017-07-24 15:27 897参考:http://www.cnblog ... -
mybatis与spring集成 对应版本支持查看
2017-07-14 15:59 2375地址:点击打开链接 查看依赖版本 -
SpringMVC源码剖析(一)- 从抽象和接口说起
2017-05-15 21:09 614非本人原创,转自 https ... -
DispatcherServlet 和 ContextLoaderListener 的关系,到底用哪个?
2017-03-14 15:01 822from: http://www.cnblogs.com/ca ... -
Spring ContextLoaderListener与DispatcherServlet所加载的applicationContext的区别
2017-03-14 14:45 1173from: http://blog.csdn.net/madu ... -
applicationContext.xml 和 springmvc-servlet.xml 配置文件加载顺序
2016-12-20 15:32 788applicationContext.xml是随Context ... -
Spring Bean管理
2016-11-02 19:29 604from: http://blog.csdn.net/a9 ... -
标签<context:component-scan/><context:annotation-config/><mvc:annotation-driven/>
2016-11-02 19:24 487from: http://yimengzhu.iteye.co ... -
DispatcherServlet 和 ContextLoaderListener 区别
2016-11-02 19:16 754总结一下: Spring的WebApplicationC ... -
spring 3.0.5的<mvc:resources> 标签的使用
2016-11-01 23:59 613from: http://ericxiong.iteye. ... -
@Responsebody与@RequestBody
2016-10-25 16:52 317from http://www.cnblogs.com/guo ... -
org.springframework.jdbc.datasource.DataSourceTransactionManager不回滚
2016-10-20 23:00 772先说一下我的目录结构 1、maven项目; 2、spring ... -
Spring中的JdbcTemplate使用
2016-10-20 22:59 393参考 http://blog.csdn.net/yeson6/ ... -
spring中JDBC 声明式事务管理
2016-10-20 22:42 714from : http://blog.csdn.net/y ... -
spring中JDBC编程式事务
2016-10-20 22:39 595from: http://blog.csdn.net/y ...
相关推荐
当Web应用启动时,ContextLoaderListener会读取Web-INF下的applicationContext.xml配置文件,创建并加载Spring容器。这个容器包含了所有的bean定义,包括服务层、数据访问层等组件。通过这种方式,...
`ContextLoaderListener`与`DispatcherServlet`的区别 `ContextLoaderListener`创建的是全局ApplicationContext,用于处理全局范围的Bean,而`DispatcherServlet`创建的是Servlet相关的ApplicationContext,主要...
4. **Spring MVC**:`ContextLoaderListener`初始化的ApplicationContext与Spring MVC的DispatcherServlet所使用的ApplicationContext不同。前者是全局的父上下文,而后者是用于处理HTTP请求的子上下文。两者之间...
- ContextLoaderListener会先加载`applicationContext.xml`,初始化Spring的ApplicationContext。 - 接着,DispatcherServlet加载`servlet-context.xml`,启动SpringMVC的配置。 - 当接收到HTTP请求时,...
在SSM框架中,web.xml主要配置DispatcherServlet(SpringMVC的前端控制器)、ContextLoaderListener(加载Spring的根应用上下文)和Filter(如字符编码过滤器)。 - DispatcherServlet配置:用于映射请求,一般...
`ContextLoaderListener`负责创建全局的ApplicationContext,它作为应用的根上下文,通常用于存放与Web应用相关的全局配置和服务。而`DispatcherServlet`则创建自己的WebApplicationContext,主要用来管理控制器...
"配置DispatcherServlet的方法介绍" DispatcherServlet是Spring MVC的前端控制器,是一个核心组件,负责处理HTTP请求和响应。在Spring MVC中,DispatcherServlet是一个centralized servlet,它处理所有的HTTP请求,...
ContextLoaderListener负责加载Spring配置文件,初始化Spring容器;DispatcherServlet负责请求分发。 - 配置DispatcherServlet:DispatcherServlet是Spring MVC的核心,需要在web.xml中指定Servlet名称和类路径,并...
- **Spring MVC配置**:这个文件是DispatcherServlet的特定ApplicationContext配置,包含关于Controller、ViewResolver、HandlerMapping等的配置。例如,定义Bean来处理HTTP请求,配置视图解析器以决定如何渲染结果...
DispatcherServlet负责处理HTTP请求,而ContextLoaderListener则初始化Spring的ApplicationContext。 3. **配置Spring上下文**:创建Spring的配置文件(如`applicationContext.xml`),在此文件中定义Bean,包括...
此外,还可以配置Spring的ContextLoaderListener,该监听器会加载`applicationContext.xml`,使得Spring的IoC容器能够在Web应用启动时初始化。 4. **Spring4的新特性**: - **Java配置**:Spring4增强了对Java配置...
在这个文件中,我们配置了ContextLoaderListener来加载`applicationContext.xml`,CharacterEncodingFilter确保请求的字符编码为UTF-8,以及DispatcherServlet作为主要的请求处理器。 - **ContextLoaderListener**...
Spring提供了一个名为`ContextLoaderListener`的监听器,它自动加载配置文件,创建ApplicationContext,并将其存储到Servlet上下文(ServletContext)中。这样,我们可以通过`WebApplicationContextUtils`工具类的...
这是Spring MVC应用程序的入口点,用于配置Spring的ContextLoaderListener和DispatcherServlet。 1. `<context-param>` 和 `<listener>` 部分: - `<context-param>` 用于定义应用程序上下文的初始化参数,这里...
- 配置Web.xml:设置过滤器和监听器,例如Spring的ContextLoaderListener和DispatcherServlet。 - 配置Spring的ApplicationContext.xml:定义bean,包括数据源、事务管理器、DAO接口的实现类等。 - 配置MyBatis的...
在 web.xml 文件中,我们可以使用 ContextLoaderListener 来初始化 Root WebApplicationContext,然后使用 DispatcherServlet 来初始化 Servlet WebApplicationContext。代码示例: ```xml <listener-class>org....
5. **配置web.xml**:这是Web应用的部署描述符,需要配置DispatcherServlet和监听器,例如ContextLoaderListener用于加载Spring的ApplicationContext。 6. **编写Controller**:创建SpringMVC的Controller类,这些...
- **Spring MVC 的配置**:通常需要配置 DispatcherServlet 和 ContextLoaderListener,以便正确加载上下文和初始化框架。 - **单元测试**:为了确保 Web 层的正确性和健壮性,可以为 Controller 编写单元测试,...
- `listener`:`ContextLoaderListener` 监听器加载上下文配置文件,初始化 Spring 容器。 - `filter` 和 `filter-mapping`:字符编码过滤器 `CharacterEncodingFilter` 用于确保输入和输出数据的编码一致,这里...
首先,需要在`web.xml`中配置Spring的ContextLoaderListener和DispatcherServlet,启动Spring容器。然后,创建`applicationContext.xml`配置文件,定义Bean的实例化、装配和管理。Spring还能整合Struts2,通过`...