- 浏览: 301348 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (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 常用命令
from:
http://blog.csdn.net/madun/article/details/8988860/
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。
补充:
from :http://blog.csdn.net/wym1581/article/details/46467185
ContextLoaderListener初始化的上下文:Bean,配置文件,针对dao,service
DispatcherServlet初始化的上下文加载的Bean是只对spring Web MVC有效的Bean,如Controller、HandlerMapping、HandlerAdapter等等,该初始化上下文应该只加载Web相关组件
DispatcherServlet的容器继承ContextLoaderListener的容器webApplicationContext,这样做可以让dispatcherservlet中要使用的bean可以从webapplicationcontext中获得。
细说dispatcherservlet:
dispatcherServlet初始化的过程具体主要做了两件事:
1初始化spring mvc使用的web上下文,并且可能指定父类容器(contextloaderlistener的根上下文)
2初始化dispatcherservlet使用的策略,如handermapping handeradapter等
dispatcherservlet的默认配置文件:dispatcherservlet.properties,这个配置文件中有一些特殊的bean,这些bean不需要我们注册就可以启动,如果我们注册了这些bean,默认的bean就不会注册了
这个配置文件中特殊的bean列表:
controller
handlermapping(请求到处理器的映射,如果映射成功返回一个handlerexecutionchain对象)
handleradapter(把处理器包装为适配器,是适配器设计模式的应用 )
viewresolver(把逻辑视图名解析为具体的view,如internalresourceviewresolver将逻辑视图名映射为jsp视图)
localresolver(本地化解析,因为spring支持国际化,因此localresolver解析客户端的local信息从而方便进行国际化)
themeresolver(主题解析,通过它来实现一个页面多套风格)
multipartresolver(文件上传解析)
handlerexceptionresolver (处理器异常解析,可以将异常映射到相应的统一错误界面)
requesttoviewnametranslator(当处理器没有逻辑视图名时,自动将请求url映射为逻辑视图名)
flashmapmanager (用于管理flashmap的策略接口,flashmap用于存储一个请求的输出,当进入另一个请求时作为该请求的输入,通常用于重定向场景)
http://blog.csdn.net/madun/article/details/8988860/
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。
补充:
from :http://blog.csdn.net/wym1581/article/details/46467185
ContextLoaderListener初始化的上下文:Bean,配置文件,针对dao,service
DispatcherServlet初始化的上下文加载的Bean是只对spring Web MVC有效的Bean,如Controller、HandlerMapping、HandlerAdapter等等,该初始化上下文应该只加载Web相关组件
DispatcherServlet的容器继承ContextLoaderListener的容器webApplicationContext,这样做可以让dispatcherservlet中要使用的bean可以从webapplicationcontext中获得。
细说dispatcherservlet:
dispatcherServlet初始化的过程具体主要做了两件事:
1初始化spring mvc使用的web上下文,并且可能指定父类容器(contextloaderlistener的根上下文)
2初始化dispatcherservlet使用的策略,如handermapping handeradapter等
dispatcherservlet的默认配置文件:dispatcherservlet.properties,这个配置文件中有一些特殊的bean,这些bean不需要我们注册就可以启动,如果我们注册了这些bean,默认的bean就不会注册了
这个配置文件中特殊的bean列表:
controller
handlermapping(请求到处理器的映射,如果映射成功返回一个handlerexecutionchain对象)
handleradapter(把处理器包装为适配器,是适配器设计模式的应用 )
viewresolver(把逻辑视图名解析为具体的view,如internalresourceviewresolver将逻辑视图名映射为jsp视图)
localresolver(本地化解析,因为spring支持国际化,因此localresolver解析客户端的local信息从而方便进行国际化)
themeresolver(主题解析,通过它来实现一个页面多套风格)
multipartresolver(文件上传解析)
handlerexceptionresolver (处理器异常解析,可以将异常映射到相应的统一错误界面)
requesttoviewnametranslator(当处理器没有逻辑视图名时,自动将请求url映射为逻辑视图名)
flashmapmanager (用于管理flashmap的策略接口,flashmap用于存储一个请求的输出,当进入另一个请求时作为该请求的输入,通常用于重定向场景)
发表评论
-
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 458引用 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 ... -
applicationContext.xml 和 springmvc-servlet.xml 配置文件加载顺序
2016-12-20 15:32 788applicationContext.xml是随Context ... -
Spring Bean管理
2016-11-02 19:29 603from: http://blog.csdn.net/a9 ... -
标签<context:component-scan/><context:annotation-config/><mvc:annotation-driven/>
2016-11-02 19:24 485from: http://yimengzhu.iteye.co ... -
ContextLoaderListener与DispatcherServlet所加载的applicationContext的区别
2016-11-02 19:16 505本人来自: http://blog.csdn.net/madu ... -
DispatcherServlet 和 ContextLoaderListener 区别
2016-11-02 19:16 753总结一下: Spring的WebApplicationC ... -
spring 3.0.5的<mvc:resources> 标签的使用
2016-11-01 23:59 612from: http://ericxiong.iteye. ... -
Spring加载resource时classpath*:与classpath:的区别
2016-10-19 10:14 975from : http://blog.csdn.net/ ... -
Java web工程web.xml 配置中classpath: 与classpath*:的区别
2016-10-19 10:13 429首先 classpath是指 WEB-INF文件夹下的clas ... -
spring mvc路径匹配
2016-10-18 22:37 713Ant path 匹配原则 在Spring MVC中经常要用到 ... -
SpringMVC中Controller的@ResponseBody注解或HttpResponseServlet输出内容
2016-09-29 15:18 1190需求分析:需要 利用 out 对象返回给财付通是否接收 ... -
SpringMVC 的请求参数获取的几种方法
2016-09-28 16:57 590通过@PathVariabl注解获取路径中传递参数JA ... -
SpringMVC的各种参数绑定方式
2016-09-28 16:53 447from: http://www.cnblogs.com/ ... -
Spring MVC DispatcherServlet详解
2016-09-28 13:51 602Spring MVC的特点 Spring M ...
相关推荐
当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请求的子上下文。两者之间...
此外,还可以配置Spring的ContextLoaderListener,该监听器会加载`applicationContext.xml`,使得Spring的IoC容器能够在Web应用启动时初始化。 4. **Spring4的新特性**: - **Java配置**:Spring4增强了对Java配置...
- `web.xml`:配置Spring MVC的DispatcherServlet和ContextLoaderListener。 - `applicationContext.xml`:定义Spring容器的Bean,包括数据源、事务管理器、Service和DAO。 - `pom.xml`:Maven项目配置文件,包含...
ContextLoaderListener负责加载Spring配置文件,初始化Spring容器;DispatcherServlet负责请求分发。 - 配置DispatcherServlet:DispatcherServlet是Spring MVC的核心,需要在web.xml中指定Servlet名称和类路径,并...
最后,应用的启动入口通常是一个Servlet或Filter,例如Spring的ContextLoaderListener或DelegatingFilterProxy,它们负责初始化Spring容器,并在Web应用启动时加载配置。 总结起来,整合Spring、SpringMVC和MyBatis...
- ContextLoaderListener会先加载`applicationContext.xml`,初始化Spring的ApplicationContext。 - 接着,DispatcherServlet加载`servlet-context.xml`,启动SpringMVC的配置。 - 当接收到HTTP请求时,...
在 web.xml 文件中配置 ContextLoaderListener 和 contextConfigLocation,以便加载 Spring 的配置文件。 ```xml <!-- Spring 配置 --> org.springframework.web.context.ContextLoaderListener ...
2. **Spring的Servlet监听器**:如ContextLoaderListener,用于初始化Spring的ApplicationContext,加载配置文件并管理bean。 3. **HandlerMapping**:负责将请求映射到相应的处理器,Spring MVC提供了多种映射策略...
Spring提供了一个名为`ContextLoaderListener`的监听器,它自动加载配置文件,创建ApplicationContext,并将其存储到Servlet上下文(ServletContext)中。这样,我们可以通过`WebApplicationContextUtils`工具类的...
`ContextLoaderListener`创建的ApplicationContext存储在`ServletContext`的一个属性中,键为`"org.springframework.web.context.WebApplicationContext.ROOT"`,而`DispatcherServlet`创建的WebApplicationContext...
2. **配置Spring**:同样在web.xml中配置Spring的DispatcherServlet,以及ContextLoaderListener,用于加载Spring应用上下文。 3. **配置Hibernate**:在Spring的配置文件(如applicationContext.xml)中配置...
这是Spring MVC应用程序的入口点,用于配置Spring的ContextLoaderListener和DispatcherServlet。 1. `<context-param>` 和 `<listener>` 部分: - `<context-param>` 用于定义应用程序上下文的初始化参数,这里...
- **Spring MVC 的配置**:通常需要配置 DispatcherServlet 和 ContextLoaderListener,以便正确加载上下文和初始化框架。 - **单元测试**:为了确保 Web 层的正确性和健壮性,可以为 Controller 编写单元测试,...
当Web应用程序启动时,Tomcat或Jetty等容器会触发此监听器,进而加载Spring的配置信息,创建ApplicationContext,使得Spring框架能够接管应用程序的生命周期管理。 2. **过滤器(Filter)** 过滤器在HTTP请求和...
在SSM中,`web.xml`会配置Spring MVC的DispatcherServlet,设置其初始化参数,以及Spring的ContextLoaderListener,用于启动Spring的ApplicationContext。 `logback.xml`是Logback的日志配置文件,Logback是SLF4J...
- **配置Web.xml**:在web.xml中配置Spring的DispatcherServlet,以及ContextLoaderListener,用于初始化Spring的ApplicationContext。 - **创建Spring配置文件**:如applicationContext.xml,配置数据源、...
`web.xml`是Java Web应用程序的部署描述符,通常用于配置Spring的DispatcherServlet、ContextLoaderListener等。在Spring MVC项目中,`web.xml`通常会包含以下内容: ```xml <servlet-name>dispatcher ...
同时,还需要配置Spring的ContextLoaderListener来加载Spring的ApplicationContext,管理所有bean。 2. **Controller**:在"spring mvc demo"中,你可以找到一个或多个Controller类,这些类使用@RequestMapping注解...