1、原理图解

2、重定向代码

  response.setStatus(302);  //资源重定向

  response.setHeader("location","路径");  //设置响应头,跳转到指定页面

  或者直接  response.sendRedirect("路径");

  浏览器延迟X秒重定向:response.setHeader("refresh","X;url=客户端绝对路径");

3、请求转发代码

  request.getRequestDispatcher("路径").forward(request,response);

4、WEB-INF是内部资源,不能通过浏览器直接访问

  但可以通过请求转发进行访问

5、二者区别

  请求转发只有一次请求,重定向是两次请求

  请求转发只能访问服务器内部资源,重定向可以定向到外部资源

  请求转发的地址栏不发生改变,重定向的地址栏发生改变

  请求转发时request作用域依然有效,重定向request作用域失效

6、那么何时使用请求转发?

  ① 要求安全,不暴露程序路径

  ② 要求高效

  ③ 使用request作用域

  ④ 访问受保护目录资源

 

 何时使用重定向?

  ① 跳转外网资源

  ② 改变地址栏路径

 

posted on 2019-08-24 21:24  幸福的小耗子  阅读(212)  评论(1编辑  收藏  举报