请求转发

一个web组件,将未处理完的请求,通过tomcat(服务器)转交给另一个web组件进行处理!

转发方法
  1. 获取请求转发器
    RequestDispatcher rd = request.getRequestDispatcher(“转发的地址”);
  2. 进行转发操作
    rd.forward(request , response);
    简写: request.getRequestDispatcher(“转发的地址”).forward(request , response);
特点
  1. 转发过程中 , 多个web组件之间共享一个请求对象与响应对象!
  2. 在转发的流程中, 浏览器只发起了一次请求, 所以浏览器地址不会发生改变!
  3. 转发不能跨项目实现
  4. 相较于重定向来说,效率更高!

请求重定向

一个web组件, 处理完毕请求后, 告知浏览器, 将请求转向下一个web组件!

重定向方法

response.sendRedirect(“重定向的地址”);

原理:

当客户端请求服务器时, 服务器给浏览器响应一个302的状态码, 以及一个location地址
浏览器每接到302的状态码时. 就会自动寻找响应中的location , 并向这个location发起新的请求!

特点
  1. 产生了两次请求
  2. 浏览器地址发生了改变
  3. 重定向可以跨服务器实现(例如我们的项目,可以将请求重定向至百度)
  4. 性能较低