首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

Struts2中的action兑现SessionAware接口,得不到session

2012-09-08 
Struts2中的action实现SessionAware接口,得不到session.Struts2中的action实现SessionAware接口,得不到ses

Struts2中的action实现SessionAware接口,得不到session.
Struts2中的action实现SessionAware接口,得不到session。报空指针异常。在网上看了一个文章,说是struts2的拦截器被覆盖了。所以得不到。但还是不太明白。求解

[解决办法]
用 ServletConfig.getRequest.getSesion();
[解决办法]
HttpSession session = ServletActionContext.getRequest().getSession();
[解决办法]
如果是Struts2的默认拦截器被覆盖了的话,在拦截器栈中应该加上默认的拦截器栈,如下所示:
 

XML code
<interceptors>           <interceptor name="dawInterceptor" class="org.DawInterceptor"/>           <interceptor-stack name="myDefault">           <interceptor-ref name="dawInterceptor"/>           <interceptor-ref name="defaultStack"/>           </interceptor-stack></interceptors>
[解决办法]
SessionAware 这个接口只能获得Map类型的session 如果想得到session的话 给你提供两种方法:

1.直接用HttpSession = ServletActionContext.getRequest().getSession();
2.另一种就是继承ServletRequestAware 用来获取session

热点排行