相关作用域

web.xml配置上下文

SpringWeb上下文环境

如果不使用DispatcherServlet,那么需要增加listener或filter


1


springweb上下文环境
request作用域:每次执行request请求调用到bean时会重新实例化bean对象
session作用域:请求session重置后会重新实例化
application作用域:应用重启后会重新实例化

springweb上下文环境
request作用域:每次执行request请求调用到bean时会重新实例化bean对象
session作用域:请求session重置后会重新实例化
application作用域:应用重启后会重新实例化
Bean作用域 Web环境作用域:request session application


springbean的web作用域:
global-session作用域:仅仅作用于session,但是所有的session共享一个实例
总结
reuqest:每个request请求都会创建一个单独的实例。
session:每个session都会创建一个单独的实例。
application:每个sercletContext都会创建一个单独的实例。
websocket:每个websocket链接都会创建一个单独的实例。
该测试需要配置好Tomcat...
之后在spring.xml中加上3个类的Bean
创建ApplicationController、RequestController、SessionController类
修改RequestController类中代码,如图
其余两个类也做相同修改,只不同
@RequestMapping("testApplication")@RequestMapping("testSession")
在web.xml中配置spring的web上下文环境
pom.xml中修改:
修改打包方法为war
<packaging>war</packaging>
使用的jar包,增加了spring-web和spring-webmvc
(2)如果时Servlet 2.4以下
在外部的xml里面,增加一个RequestContextFilter,对每一个请求附带一个上下文环境。
如果不适用DispatcherServlet,那么需要增加listener或filter:
(1)如果时Servlet 2.4以上
在外部的xml里面,增加一个RequestContextListener,作用是在Web应用在初始化的时候会加载spring的上下文。
SpringWeb上下文环境
如果使用DispatcherServlet,则不需要增加其他任何配置,例如
如果是xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
如果是xxxxxxxxxxxxxxxxxxx
SpringWeb的上下文环境
bean的作用域
123456
web相关作用域
request:每次浏览器刷新都会实例化一个新的bean;
session:浏览器刷新不会实例化新的bean,更换浏览器则会实例化新的bean;
application:bean实例化之后就不会改变,更换浏览器也不会。
web相关作用域
SpringWeb上下文环境
第五步:使用tomcat 作为容器来配置 Controller请求,可知:
RequestScope 中,每一次发送请求,spring都会创建一个新的实例;
RequestScope 中,每一次发送请求,spring都只有一个相同的实例;
第三步: 分别为 ApplicationController、RequestController、 SessionController 中创建一个接口