Servlet之重定向(Redirect)

Servlet之重定向(Redirect)

         重定向是利用服务器返回的状态码来实现的。客户端浏览器请求服务器的时候,服务器端会返回一个状态码。服务器端通过HttpServletResponse的setStatus(int status)方法设置状态码。如果服务器返回301或者302,则浏览器会到新的网址重新请求该资源,下面我们看一下服务器返回的状态码的含义:

         1XX:信息状态码。表示该请求已经被接收,正在被处理。

         2XX:正确状态码。表示该请求已经被正确接收并处理,没有错误发生。例如200表示一切正确。

         3XX:重定向状态码。例如301,302表示该资源已经不存在或者换了地址,客户端需要重新定向到一个新的资源。服务器响应中会附带这个新资源地址。其中301表示永久性重定向,302表示临时性重定向。

         4XX:请求错误。例如401表示没有访问权限,404表示资源不存在,405表示访问方式错误(如Servlet只接受GET,POST方式访问但是客户端却以DELETE方式访问)

         5XX:服务器错误。例如500表示程序出现异常而中途停止运行。

         HttpServletResponse类中把常用的状态码封装成了静态常量。例如SC_MOVED_TEMPORARILY表示的就是302。HttpServletResponse把setStatus与setHeader方法封装成另一个方法sendRedirect(String location),只需要调用sendRedirection就能实现重定向。

         当使用重定向跳转Servlet时,跳转实在客户端实现的。也就是说客户端浏览器实际上请求了2次服务器,第1次获取了重定向的状态码和重定向的网址,第2次访问真实地址。

         

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值