1.response.sendRedirect(nextlink);
redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。
这种方式可以跳转到任意地址,地址栏url随之改变,但与第3种方式不同的是通过代理服务器访问时,地址栏url不会改变。
2.
response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
response.setHeader("Location", nextlink);
使用上面的代码做页面跳转,通过代理服务器访问,可能出现找不到页面的情况,修改成这种方式应该就可以了。
3.
<script language="javascript">
window.location = "<%=nextlink%>";
</script>
这种方式可以跳转到任意地址,地址栏url随之改变,通过代理服务器访问时,地址栏url也会改变。
4.<jsp:forward page="" />
forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。
使用forward的好处是地址栏内容不变,方便隐藏不想给用户看到的真实地址,但是只能跳转到同一台服务器上,不能跨服务器跳转。
5.<%@ include file="" %>
把想要显示的页面嵌入当前页面中,页面不会跳转。