我有一个应用程序,其中我有三个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
。
如何将此数据发送到其他网址?这种机制叫做什么?
答案 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 }}';