我有一个应用程序,其中有三个 jsp 页面,从 index.jsp 开始,控制转到 process.jsp,执行后控制转到 result.jsp 以显示数据。但我想要的不是在 result.jsp 中显示数据,而是控制将转到另一个 url,以便该接收器 url 将获取请求的数据。即:我的 url 是 100.20.3.45:8085/myproject/index.jsp 然后在处理数据后我希望结果应该转到我的同一网络的不同 url,即 100.20.3.46
。如何将请求的数据发送到这个不同的 url?
例如:
100.20.3.45:8085/myproject/index.jsp
去
100.20.3.45.8085/myproject/process.jsp
处理后控制将转到 100.20.3.46
。
如何将此数据发送到不同的网址?这个机制叫什么?
最佳答案
这叫做“重定向”。由 HttpServletResponse#sendRedirect()
实现.
response.sendRedirect(url);
如果您想一起发送额外的数据,您需要将其作为请求参数发送到查询字符串中,但它们将在浏览器地址栏的 URL 中可见。如果负担不起,请考虑将其存储在共享数据存储(数据库?)中,然后单独传递唯一 key 。
或者,您也可以只让 <form>
action URL 直接指向不同的主机,而不需要中间 JSP。作为另一种选择,您也可以在例如 URLConnection
的帮助下自己玩代理游戏。 .
与具体问题无关:在 JSP 中拥有 Controller /业务逻辑是一个 bad practice .我建议花点时间了解servlets .
关于java - 重定向到不同的网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8557490/