HttpSession session = request.getSession(false);
if (session.getAttribute("meeting") == null) {
    if (session.getAttribute("loginuser") != null) {
String userName = (String) session.getAttribute("loginuser");
UsersRights initur = new UsersRights();
UsersVO uv = initur.userRight(userName);
session.setAttribute("meeting", uv);
}
}这是一个登录过滤
不明白为什么我取session.getAttribute("meeting")就会出现空指针错误呢。应该怎么修改,自己试了几种方式了都无果
严重: Servlet.service() for servlet action threw exception
java.lang.NullPointerException
at com.anyka.meeting.filter.RightsFilter.doFilter(RightsFilter.java:37)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.anyka.filter.EncodingFilter.doFilter(Unknown Source)
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:127)
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:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)

解决方案 »

  1.   

    request.getsession(true)和request.getsession(false)的区别在于,前者判断有session就得到当前的session没有则创建一个新的,而后则是有则得到这个session没有则返回null.
      

  2.   

    是啊。所以我session.getAttribute("meeting")==null应该没错呀。为啥会抛出空指针错误呢
      

  3.   

    ...JSP 页面中,你存的name="meeting" value="XXX",这是request.getparameter("meeting");
    getSession(false)返回一个新的session,你就没有setAAttribute("meeting"),怎么会获得呢?
      

  4.   

    你要搞清楚request, Session他们之间的区别,Parameter,Attribute不同之处
      

  5.   

    没有meeting 这个属性属性,当然要报了
      

  6.   


    我这是登录过滤页面啊。我首先取session。。如果没有就返回null....我个人 认为既然session为null,那我取session.getAttribute("meeting")==null应该没错啊
    望达人告知。。小弟错误之处
      

  7.   

    晕 看错了。刚看个帖子 给我弄反了你丫个头啊,session为空,你还去获得属性,可能吗!