81,094
社区成员
发帖
与我相关
我的任务
分享
public class SessionListener implements HttpSessionBindingListener{
private User userObject;
public SessionListener(User userObject) {
// TODO Auto-generated constructor stub
this.userObject = userObject;
}
//用户存session
public void valueBound(HttpSessionBindingEvent event) {
// TODO Auto-generated method stub
HttpSession session = event.getSession();
session.setAttribute("userInfo", userObject);
DateFormat df = DateFormat.getDateTimeInstance();
System.out.println(df.format(new Date())+"绑定数据源:"+userObject.getUserName()+":"+session.getId()+":"+session.getCreationTime());
try {
//这里就不会报错..奇怪
System.out.println("测试一下获取request");
HttpServletRequest request = ServletActionContext.getRequest();
HttpSession session1 = request.getSession();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
// 用户SESSION失效,重新封装用户信息
public void valueUnbound(HttpSessionBindingEvent event) {
//这里就会报错..
HttpServletRequest request = ServletActionContext.getRequest();
HttpSession session = request.getSession();
}
public static String getCookieValue(Cookie[] cookies,String cookieName,String defaultValue) {
for(int i=0; i<cookies.length; i++) {
Cookie cookie = cookies[i];
if (cookieName.equals(cookie.getName())){
return(cookie.getValue());
}
}
return(defaultValue);
}
}
2011-10-13 14:49:29绑定数据源:qq:3750629397BCC701EA0BB36CB90F1C8D:1318488566733
测试一下获取request
2011-10-13 14:51:30 org.apache.jasper.runtime.JspFactoryImpl internalGetPageContext
严重: Exception initializing page context
java.lang.NullPointerException
at org.apache.struts2.ServletActionContext.getRequest(ServletActionContext.java:112)
at com.runda.filter.SessionListener.valueUnbound(SessionListener.java:44)
at org.apache.catalina.session.StandardSession.removeAttributeInternal(StandardSession.java:1654)
at org.apache.catalina.session.StandardSession.expire(StandardSession.java:756)
at org.apache.catalina.session.StandardSession.isValid(StandardSession.java:592)
at org.apache.catalina.connector.Request.doGetSession(Request.java:2287)
at org.apache.catalina.connector.Request.getSession(Request.java:2075)
at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:833)
at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:844)
at org.apache.jasper.runtime.PageContextImpl._initialize(PageContextImpl.java:146)
at org.apache.jasper.runtime.PageContextImpl.initialize(PageContextImpl.java:124)
at org.apache.jasper.runtime.JspFactoryImpl.internalGetPageContext(JspFactoryImpl.java:107)
at org.apache.jasper.runtime.JspFactoryImpl.getPageContext(JspFactoryImpl.java:63)
at org.apache.jsp.admin_005ftop_jsp._jspService(admin_005ftop_jsp.java:44)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.runda.filter.EncodingFilter.doFilter(EncodingFilter.java:65)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)