Java 将值servlet传递给jsp
我想将值servlet传递给jsp。在servlet中设置值并在jsp页面中使用 我得到的NullPointerException下面是我的代码 jspJava 将值servlet传递给jsp,java,jsp,servlets,Java,Jsp,Servlets,我想将值servlet传递给jsp。在servlet中设置值并在jsp页面中使用 我得到的NullPointerException下面是我的代码 jsp <body> <% String message = (String) request.getAttribute("message"); out.println("Servlet communicated message to JSP: "+ message); Vector vecObj = (Vector)
<body>
<%
String message = (String) request.getAttribute("message");
out.println("Servlet communicated message to JSP: "+ message);
Vector vecObj = (Vector) request.getAttribute("vecBean");
out.println("Servlet to JSP communication of an object: "+vecObj.get(0));
%>
</body>
错误日志我没有在web.xml中做任何更改我没有在web.xml中做任何更改
org.apache.jasper.JasperException: An exception occurred processing JSP page /javaPapers.jsp at line 21
18: out.println("Servlet communicated message to JSP: "+ message);
19:
20: Vector vecObj = (Vector) request.getAttribute("vecBean");
21: out.println("Servlet to JSP communication of an object: "+vecObj.get(0));
22: %>
23: </body>
24: </html>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:553)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:457)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
root cause
java.lang.NullPointerException
org.apache.jsp.javaPapers_jsp._jspService(javaPapers_jsp.java:83)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.12 logs.
org.apache.jasper.JasperException:在第21行处理JSP页面/javaPapers.JSP时发生异常
18:out.println(“Servlet向JSP传递消息:“+消息”);
19:
20:Vector vecObj=(Vector)request.getAttribute(“vecBean”);
21:out.println(“对象的Servlet到JSP的通信:+vecObj.get(0));
22: %>
23:
24:
堆栈跟踪:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:553)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:457)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javaservlet.http.HttpServlet.service(HttpServlet.java:722)
根本原因
java.lang.NullPointerException
org.apache.jsp.javaPapers\u jsp.\u jsp服务(javaPapers\u jsp.java:83)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javaservlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javaservlet.http.HttpServlet.service(HttpServlet.java:722)
注意,Apache Tomcat/7.0.12日志中提供了根本原因的完整堆栈跟踪。
您可能会收到NullPointerException,因为“reqDispatcher.forward(request,response);”会创建一个新的请求,而vecObj将变为null,因为它不存在于请求对象中。使用response.redirect代替reqDispatcher.forward 可以显示堆栈跟踪吗?vecObj是否抛出NullPointerException?请共享堆栈trace@RohitJain:我没有在web.xml中做任何更改。请帮我弄清楚您的vecObj
是null
。但是考虑到你的代码,它看起来不应该发生。你的servlet和JSP之间有什么东西吗?如果你删除这个向量并尝试只打印消息,会发生什么?这不正是你所说的相反吗?请看这个你也应该看到的。特别是第一个被接受的答案。@RohitJain不起作用。当我删除类似于向量o/p的Servlet传递给JSP:Null的消息时,BalusC已经很好地解释了这两种场景之间的差异。
org.apache.jasper.JasperException: An exception occurred processing JSP page /javaPapers.jsp at line 21
18: out.println("Servlet communicated message to JSP: "+ message);
19:
20: Vector vecObj = (Vector) request.getAttribute("vecBean");
21: out.println("Servlet to JSP communication of an object: "+vecObj.get(0));
22: %>
23: </body>
24: </html>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:553)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:457)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
root cause
java.lang.NullPointerException
org.apache.jsp.javaPapers_jsp._jspService(javaPapers_jsp.java:83)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.12 logs.