您的位置:首页 > 其它

Servlet跳转

2016-03-09 15:37 169 查看
1、Forward

RequestDispatcher dispatcher = request.getRequestDispatcher("/servlet/forwardServlet");

dispatcher.forward(request,response);

2、Redirect

重定向是利用服务器返回的状态码来实现的。客户端浏览器请求服务器的时候,服务器会返回一个状态码。

如果服务器返回301,302,则浏览器会到新的网址重新请求该资源。

状态码301表示永久重定向,302表示临时重定向。

response.setStatus(HttpServletResponse.SC_MOVED_TEMPORARILY);

response.setHeader("Location","www.baidu.com");

3、Refresh

自动刷新不仅可以实现一段时间之后自动跳转到另一个页面,还可以实现一段时间之后自动刷新本页面。

response.setHeader("Refresh","1000;URL=www.baidu.com");

区别:

forward是服务器行为,请求了一次服务器,不会导致request对象内容丢失,浏览器地址栏URL不会改变;而redirect是浏览器行为,请求了

两次服务器,会导致request内容丢失,浏览器地址栏中URL会发生改变。

 

PS:

至于为什么forward是服务器行为,而Redirect是客户端行为,推荐阅读博文:http://blog.csdn.net/bluishglc/article/details/7953614
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: