不知道为什么我的系统在我的机器还有另一个机器上会正常运行,但是放到另一个机器上就会报下面的错误,取不到session中的值
2010-1-15 15:11:07 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
at org.apache.jsp.html.list_jsp._jspService(list_jsp.java:204)
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.IMA.util.Filter.doFilter(Filter.java:23)
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:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Unknown Source)
2010-1-15 15:13:23 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
at org.apache.jsp.html.list_jsp._jspService(list_jsp.java:204)
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.IMA.util.Filter.doFilter(Filter.java:23)
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:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Unknown Source)
2010-1-15 15:17:45 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
at org.apache.jsp.html.list_jsp._jspService(list_jsp.java:204)
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.IMA.util.Filter.doFilter(Filter.java:23)
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:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Unknown Source)

解决方案 »

  1.   

    有个对象,没有实例化,你就调用他方法了
    看下list.jsp
      

  2.   

    为空的那个值是从session中取出来的,但是不知道为什么放到服务器上就变成null了,取不到值
      

  3.   

    我是这样set的
    public ActionForward tojudge(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response) {
    // TODO Auto-generated method stub
    HttpSession session = request.getSession();
    String sysadmin=(String)session.getAttribute("user_type");  
    String operations="";
    String node="刻录申请";
    Operation operation=null;
    operation=operdao.get(sysadmin,node);
    operations=operation.getOperation();
    session.setAttribute("item1",operations);
    String node2="刻录审批";
    operation=operdao.get(sysadmin,node2);
    operations=operation.getOperation();
    session.setAttribute("item2",operations);
    String node3="中间机管理";
    operation=operdao.get(sysadmin,node3);
    operations=operation.getOperation();
    session.setAttribute("item3",operations);
    String node4="系统管理";
    operation=operdao.get(sysadmin,node4);
    operations=operation.getOperation();
    session.setAttribute("item4",operations);
    String node5="审计日志管理";
    operation=operdao.get(sysadmin,node5);
    operations=operation.getOperation();
    session.setAttribute("item5",operations);
    String node6="电子登记管理";
    operation=operdao.get(sysadmin,node6);
    operations=operation.getOperation();
    session.setAttribute("item6",operations);
    String node7="上传管理";
    operation=operdao.get(sysadmin,node7);
    operations=operation.getOperation();
    session.setAttribute("item7",operations);
    String node8="功能点管理";
    operation=operdao.get(sysadmin,node8);
    operations=operation.getOperation();
    session.setAttribute("item8",operations);
    String node9="归档文件管理";
    operation=operdao.get(sysadmin, node9);
    operations=operation.getOperation();
    session.setAttribute("item9", operations);
    return null;
    }
      

  4.   

    public ActionForward tojudge(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response) {
    // TODO Auto-generated method stub
    HttpSession session = request.getSession();
    String sysadmin=(String)session.getAttribute("user_type");
    String operations="";
    String node="刻录申请";
    Operation operation=null;
    operation=operdao.get(sysadmin,node);
    operations=operation.getOperation();
    session.setAttribute("operator",operations);
    String node2="刻录审批";
    operation=operdao.get(sysadmin,node2);
    operations=operation.getOperation();
    session.setAttribute("operator",operations);
    String node3="中间机管理";
    operation=operdao.get(sysadmin,node3);
    operations=operation.getOperation();
    session.setAttribute("operator",operations);
    String node4="系统管理";
    operation=operdao.get(sysadmin,node4);
    operations=operation.getOperation();
    session.setAttribute("operator",operations);
    String node5="审计日志管理";
    operation=operdao.get(sysadmin,node5);
    operations=operation.getOperation();
    session.setAttribute("operator",operations);
    String node6="电子登记管理";
    operation=operdao.get(sysadmin,node6);
    operations=operation.getOperation();
    session.setAttribute("operator",operations);
    String node7="上传管理";
    operation=operdao.get(sysadmin,node7);
    operations=operation.getOperation();
    session.setAttribute("operator",operations);
    String node8="功能点管理";
    operation=operdao.get(sysadmin,node8);
    operations=operation.getOperation();
    session.setAttribute("operator",operations);
    String node9="归档文件管理";
    operation=operdao.get(sysadmin, node9);
    operations=operation.getOperation();
    session.setAttribute("operator", operations);
    return null;

    在list.jsp里面
    <% value=session.get("operator")%>
      

  5.   

    你存的值都是一样的,我list.jsp布面没办法判断它的权限了
      

  6.   

    我给你代码整理下把
    public ActionForward tojudge(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response) {
    // TODO Auto-generated method stub
    HttpSession session = request.getSession();
    String sysadmin=(String)session.getAttribute("user_type");Map map=new HasnMap();
    map.put("刻录申请",operdao.get(sysadmin,"刻录申请"));
    map.put("刻录审批",operdao.get(sysadmin,"刻录审批"));
    map.put("中间机管理",operdao.get(sysadmin,"中间机管理"));
    map.put("系统管理",operdao.get(sysadmin,"系统管理"));
    map.put("审计日志管理",operdao.get(sysadmin,"审计日志管理"));
    map.put("电子登记管理",operdao.get(sysadmin,"电子登记管理"));
    map.put("上传管理",operdao.get(sysadmin,"上传管理"));
    map.put("功能点管理",operdao.get(sysadmin,"功能点管理"));
    map.put("归档文件管理",operdao.get(sysadmin,"归档文件管理"));session.setAttribute("operator", map);
    return null;

    list.jsp
    <%Map map=(HashMap)session.get("operator");
    if(map.m.containsKey("归档文件管理")){
    out.print("归档文件管理");
    }else if(map.m.containsKey("刻录审批")){
    out.print("刻录审批");
    }else if(map.m.containsKey("中间机管理")){
    out.print("中间机管理");
    }else if(.......)
    .....
    .....
    else{
    out.print("没有任何权限");
    }
    %>
      

  7.   

    map.m.containsKey("归档文件管理")=>map.containsKey("归档文件管理")写错了注意,本方法不是最好的解决方案
    operdao.get(sysadmin,"刻录申请"),对于这种查询方法,我建议楼主改为按ID查询