当前位置: 技术问答>java相关
Servlet和jsp之间进行属性传递是出现错误.
来源: 互联网 发布时间:2015-08-22
本文导语: 进行如下的操作: 1.jsp以表单提交(post)的方式传递参数到conServlet,conServlet将 参数设置为属性,传递给2.jsp. conServlet的dopost()中定义: //得到1.jsp提交值 String name = request.getParameter("dname"); request.setAttribute("n...
进行如下的操作:
1.jsp以表单提交(post)的方式传递参数到conServlet,conServlet将
参数设置为属性,传递给2.jsp.
conServlet的dopost()中定义:
//得到1.jsp提交值
String name = request.getParameter("dname");
request.setAttribute("name",name);
//传递到2.jsp
RequestDispatcher rd = request.getRequestDispatcher("../2.jsp");
rs.forward(request,response);
2.jsp中:
String name = (String) request.getAttribute("name");
调试时发现:
在重启web服务器后,第一次进行如上操作,报错如下:
Apache Tomcat/4.0.1 - HTTP Status 500 - Internal Server Error
java.lang.NullPointerException
at conServlet.doPost(userhandle.java:45)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:446)
但是以后运行,就正常了。就第一次有问题。请教这是为什么?
1.jsp以表单提交(post)的方式传递参数到conServlet,conServlet将
参数设置为属性,传递给2.jsp.
conServlet的dopost()中定义:
//得到1.jsp提交值
String name = request.getParameter("dname");
request.setAttribute("name",name);
//传递到2.jsp
RequestDispatcher rd = request.getRequestDispatcher("../2.jsp");
rs.forward(request,response);
2.jsp中:
String name = (String) request.getAttribute("name");
调试时发现:
在重启web服务器后,第一次进行如上操作,报错如下:
Apache Tomcat/4.0.1 - HTTP Status 500 - Internal Server Error
java.lang.NullPointerException
at conServlet.doPost(userhandle.java:45)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:446)
但是以后运行,就正常了。就第一次有问题。请教这是为什么?
|
NullPointerException,可能是你第一次在1.jsp里少输了什么值,
然后在conServlet里又取值并对它做什么处理,所以出错。
以后你每次在1.jsp都正确输入了,不会再出错。
也可能是Tomcat的问题,tomcat有时候是有点奇怪的,以后都正常,
那不就行了。
然后在conServlet里又取值并对它做什么处理,所以出错。
以后你每次在1.jsp都正确输入了,不会再出错。
也可能是Tomcat的问题,tomcat有时候是有点奇怪的,以后都正常,
那不就行了。
|
空引用阿,你这个1.jsp肯定是自己提交给自己阿,第一次的时候你还没提交,系统执行String name = request.getParameter("dname"); 的时候得到一个null,当然错了。最好把客户端的填写表单和后台的处理表单分开写两个页面,或者在接值的时候判断一下是否能接到