重定向到不同的网址

时间:2011-12-19 05:35:11

标签: java jsp

我有一个应用程序,其中我有三个jsp页面,来自index.jsp,control转到process.jsp,执行控制转到result.jsp后显示数据。但是我想要而不是在result.jsp中显示数据,控件将转到另一个URL,以便该接收器URL将获取所请求的数据。那就是:我的网址是100.20.3.45:8085/myproject/index.jsp然后在处理数据之后我希望结果应该转到同一网络的不同网址,即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

如何将此数据发送到其他网址?这种机制叫做什么?

2 个答案:

答案 0 :(得分:6)

它被称为“重定向”。这要由HttpServletResponse#sendRedirect()实现。

response.sendRedirect(url);

如果要发送其他数据,则需要将其作为请求参数发送到查询字符串中,但它们将显示在浏览器地址栏中的URL中。如果不能负担得起,可以考虑将其存储在共享数据存储区(数据库?)中,然后单独传递唯一密钥。

或者,您也可以让<form>操作URL直接指向不同的主机,而无需中间JSP。作为另一种选择,您也可以借助于URLConnection

的帮助自己玩代理

无关具体问题:在JSP中拥有控制器/业务逻辑是bad practice。我建议花一些时间来了解servlets

答案 1 :(得分:0)

重定向到网址

window.location.href = "url"

使用示例

window.location.href = "/process_payment";
var username = @json($username);
window.location.href = '/' + username;
window.location.href = '/{{ $username }}';