读书人

Struts2中的action兑现SessionAware接

发布时间: 2012-09-08 10:48:07 作者: rapoo

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

读书人网 >J2EE开发

热点推荐