一个方法
public String perform(request,response){ String nextPage="";
Connection con=null; Tentbwlisttmp tentbwlisttmp=null;
long roleid=0; //角色
Topmuser myMember=(Topmuser)request.getSession().getAttribute("_currentUser");
try{ con=ConnPoolHandler.getConnection();
String save=request.getParameter("save");
nextPage="test.jsp";
}catch(){}
javax.servlet.RequestDispatcher rd =getServletContext().getRequestDispatcher(nextPage);
rd.forward(request,response); 在这里报了空指针异常。不知道怎么回事。其他没用省略了。
return nextPage;
}希望大家能帮个忙
public String perform(request,response){ String nextPage="";
Connection con=null; Tentbwlisttmp tentbwlisttmp=null;
long roleid=0; //角色
Topmuser myMember=(Topmuser)request.getSession().getAttribute("_currentUser");
try{ con=ConnPoolHandler.getConnection();
String save=request.getParameter("save");
nextPage="test.jsp";
}catch(){}
javax.servlet.RequestDispatcher rd =getServletContext().getRequestDispatcher(nextPage);
rd.forward(request,response); 在这里报了空指针异常。不知道怎么回事。其他没用省略了。
return nextPage;
}希望大家能帮个忙
这样看下
希望大家能给我解决了。要是能解决,我身上的都给你也行
RequestDispatcher报NullPointer异常的解决
RequestDispatcher rs=request.getRequestDispatcher(url);
rs.forward(request, response);
return ;总是报空指针异常,出错在上的第二行,检查了很久才发现是URL没有
修改逻辑,得到正确的url就不再报错了
可推测
楼主查查你的
javax.servlet.RequestDispatcher rd =getServletContext().getRequestDispatcher(nextPage);
下面是异常
java.lang.NullPointerException
at org.apache.jsp.web.aeab.aeab502_jsp._jspService(aeab502_jsp.java:99)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:679)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:461)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:399)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
at com.sxit.pim.enterpriseadrbook.AEAB502Servlet.perform(AEAB502Servlet.java:150)
at com.sxit.common.ServletAdminBase.defaultProc(ServletAdminBase.java:125)
at com.sxit.common.ServletAdminBase.doPost(ServletAdminBase.java:74)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:619)at com.sxit.pim.enterpriseadrbook.AEAB502Servlet.perform(AEAB502Servlet.java:150)从这一行看到空指针异常是发生在这里的。就是我给你们发的那句话
这样看下
把 return 去掉看下
楼主方法定义的不对!
request,response不知道类型!
public String perform(HttpRequest request,HttpResponse response){
rd.forward(request,response);
可能rd就是空值
去tomcat下 找到这行是什么 打印看一下
String save=request.getParameter("save"); 这两个都可能是空
rd.forward(request,response);
}
rd刚开始 可能不为空,如果是循环调用的话,后面有可能是空(nextPage总有到最后的时候)
没取到值。看看"test.jsp"相对程序的路径对不对。