Java 将值servlet传递给jsp

Java 将值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)

我想将值servlet传递给jsp。在servlet中设置值并在jsp页面中使用

我得到的NullPointerException下面是我的代码

jsp

<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.