Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在servlet和jsp之间传输数据?_Jsp_Servlets - Fatal编程技术网

如何在servlet和jsp之间传输数据?

如何在servlet和jsp之间传输数据?,jsp,servlets,Jsp,Servlets,我想将数据从servlet传输到jsp。 当我使用以下代码将servlet传输到jsp时 RequestDispatcher rd = request.getRequestDispatcher("test2.jsp"); rd.forward(request, response); <%=request.getAttribute("str1") %> 然后我想使用以下代码为jsp添加request.setAttribute()方法 RequestDispatcher rd

我想将数据从servlet传输到jsp。 当我使用以下代码将servlet传输到jsp时

 RequestDispatcher rd = request.getRequestDispatcher("test2.jsp");
 rd.forward(request, response);
 <%=request.getAttribute("str1") %>
然后我想使用以下代码为jsp添加request.setAttribute()方法

 RequestDispatcher rd = request.getRequestDispatcher("test2.jsp");
 rd.forward(request, response);
 <%=request.getAttribute("str1") %>
JSP中的

<body>
    <p>This is <%=request.getAttribute("str1") %>.</p>
    <p>This is <%=request.getAttribute("str2") %>.</p>
</body>
看看

抛出的异常与代码无关,在您的设置中还有一些其他问题,因此我建议先修复它们。您是否正确安装了tomcat并适当设置了环境变量

stacktrace的这一行表明您运行的是一个完全过时的Tomcat版本,它的旧版本(目前已弃用/删除)
InvokerServlet
默认打开(Tomcat 4.x),或者是一个普通的Tomcat版本(5.x-6.x),默认情况下已弃用/禁用,但以某种方式手动打开(那个人显然不知道)。这个servlet已经在Tomcat7.x中删除了

默认情况下,调用器servlet映射到URL模式
/servlet/*
,并且只接受URI路径信息中的完全限定的servlet类,如
/servlet/com.example.MyServlet

异常消息

基本上是说它找不到URI试图调用的“servlet”
test2.jsp

因此,您试图从一个servlet内部转发到一个JSP,
InvokerServlet
本身调用该servlet。
ServletRequest#getRequestDispatcher()
即将路径相对解析为当前请求URI(另请参见)

因此,要解决您的特定问题,您需要指定一个绝对路径

RequestDispatcher rd = request.getRequestDispatcher("/test2.jsp");
也就是说,我真的建议关闭调用器servlet。它完全过时了,而且充满了漏洞。我建议你自己买一本漂亮的,扔掉你目前正在阅读的那本十年前的JSP/servlet教程/书。看看吧

java.lang.ClassNotFoundException: test2.jsp
RequestDispatcher rd = request.getRequestDispatcher("/test2.jsp");