web应用环境相关的Bean作用域

3.request   
    request表示该针对每一次HTTP请求都会产生一个新的bean,同时该bean仅在当前HTTP request内有效。request、session、global session使用的时候首先要在web.xml中做如下配置:
     如果你使用的是Servlet 2.4及以上的web容器,那么你仅需要在web应用的XML声明文件web.xml中增加下述ContextListener即可:

Xml代码
  1. <web-app>  
  2.     ...   
  3.   <listener>  
  4. <listener-class>org.springframework.web.context.request.RequestContextListenerlistener-class>  
  5.   listener>  
  6.     ...   
  7. web-app>  



,如果是Servlet2.4以前的web容器,那么你要使用一个javax.servlet.Filter的实现

Xml代码
  1. <web-app>  
  2. ..   
  3. <filter>   
  4.     <filter-name>requestContextFilterfilter-name>   
  5.     <filter-class>org.springframework.web.filter.RequestContextFilterfilter-class>  
  6. filter>   
  7. <filter-mapping>   
  8.     <filter-name>requestContextFilterfilter-name>   
  9.     <url-pattern>/*url-pattern>  
  10. filter-mapping>  
  11.     ...   
  12. web-app>  



接着既可以配置bean的作用域了:

Xml代码
  1. <bean id="role" class="spring.chapter2.maryGame.Role" scope="request"/>  



4、session    
    session作用域表示该针对每一次HTTP请求都会产生一个新的bean,同时该bean仅在当前HTTP session内有效,配置实例:配置实例:和request配置实例的前提一样,配置好web启动文件就可以如下配置:

Xml代码
  1. <bean id="role" class="spring.chapter2.maryGame.Role" scope="session"/>  



5、global session    
    global session作用域类似于标准的HTTP Session作用域,不过它仅仅在基于portlet的web应用中才有意义。Portlet规范定义了全局Session的概念,它被所有构成某个portlet web应用的各种不同的portlet所共享。在global session作用域中定义的bean被限定于全局portlet Session的生命周期范围内。如果你在web中使用global session作用域来标识bean,那么web会自动当成session类型来使用。配置实例:和request配置实例的前提一样,配置好web启动文件就可以如下配置:

Xml代码
  1. <bean id="role" class="spring.chapter2.maryGame.Role" scope="global session"/>  

你可能感兴趣的:(Spring,bean,web,session,portlet,servlet,class)