forward()和之间的概念差异是sendRedirect()什么?
可能重复:
jsp转发和重定向之间的差异
有谁知道Http servlet中的转发和重定向之间的差异以及这些差异对浏览器刷新的影响?
我有一个http://www.mywebapp.com/sample.html从远程服务器使用的HTML页面.我在同一HTML表单中将HTML URL作为隐藏表单传递给
<form action="/myservlet?userid=12345" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" value="Submit">
<input type="hidden" name="url" value="http://www.mywebapp.com/sample.html"/>
</form>
Run Code Online (Sandbox Code Playgroud)
在我的servlet中,我得到了隐藏的URL http://www.mywebapp.com/sample.html并将其存储为
String fieldValue = http://www.mywebapp.com/sample.html
现在,当我尝试RequestDispatcher将页面转发到这样的隐藏URL时,
RequestDispatcher rd = req.getRequestDispatcher(fieldValue);
rd.forward(req, resp);
Run Code Online (Sandbox Code Playgroud)
我明白了ERROR 404.
任何人都可以建议我解决这个问题.
EDITED
我真正想做的是,从远程服务器,HTML页面将请求我的REST Web服务.Web服务的响应将以JSON输出.现在我想将此JSON响应发送到请求的HTML表单(即到远程服务器HTML页面)
任何人都可以提出解决这个问题的想法.我们将不胜感激.
我想用Java开发一个web应用程序.但我很困惑所有这些不同的技术以及它们如何协同工作:
网络上有大量关于这些主题的资源,而且每个资源看起来都需要阅读几本书才能理解它们.您能解释一下这些技术,以便在开始开发Web应用程序时对它们有基本的了解吗?
我有一个JSP/Servlet设置问题以及浏览器URL中显示的内容.page1.jsp通过一个动作为"SAVE.do"的表单提交给servlet.servlet想要在save上将成功消息传递回page1.jsp.我这样做是通过使用.将消息放入请求中
request.setAttribute("message", "Save Successful");
Run Code Online (Sandbox Code Playgroud)
然后我打电话
request.getRequestDispatcher("page1.jsp").forward(req,resp);
Run Code Online (Sandbox Code Playgroud)
但是,浏览器将显示http:// localhost:8080/SAVE.do而不是http:// localhost:8080/page1.jsp的URL
当我使用转发前进到重定向时
response.sendRedirect("page1.jsp");
Run Code Online (Sandbox Code Playgroud)
然后属性丢失.
我想我正在寻找正确的方法来做到这一点,这样当page1.jsp再次加载时我可以返回属性,并在浏览器中显示正确的URL.