Servlet的URL重定向实现方法说明 jsp重定向实例

URL重定向(Redirect)也叫重定向,是利用服务器返回的状态码来实现的。客户端浏览器请求服务器的时候,服务器端会返回一个状态码。服务器端通过HttpServletResponsesetStatus(int statuss)方法设置状态码。如果服务器返回301或者302,则浏览器会到新的网址重新请求该资源。状态码代表的意义如下:
1xx:信息状态码。表示该请求已经被接受,正在被处理。
2xx:正确状态码。表示该请求已经被正确接受并处理,没有错误等发生。例如,200表示一切正确。
3xx:重定向状态码。例如301302表示该资源已经不存在或者换了地址,客户端需要重新定向到一个新的资源。服务器响应中会附带这个新资源地址。
4xx:请求错误。例如401表示没有权限访问,404表示资源不存在405表示访问方式错误(如Servlet只接受GETPOST方式访问但是客户端却以DELETE方式访问)。
5xx:服务器错误。例如500表示程序出现异常而中途停止运行。
301302都表示重定向,区别是301是永久性重定向,302是临时性重定向。下面的代码将访问该Servlet的请求重定向到另一个网址:
response.setStatus(HttpServletResponse.SC_MOVED_TEMPORARILY); // 设置状态码为302.
response.setHeader(“Location”, “http://www.helloweenvsfei.com”); // 新网址
HttpServletResponse类中把常用的状态码封装成了静态的常量。代码中SC_MOVED_TEMPORARILY表示的就是302HttpServletResponse setStatussetHeader方法封装成另一个方

endRedirect(String location),只需要调用sendRedirection就能实现重定向。
本文链接地址: Servlet的URL重定向实现方法说明 jsp重定向实例