Servlet跳转

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值