请求转发是指,服务器收到请求后,从一个资源跳转到另一个资源的操作。
示例:在Servlet01代码中进行Get请求,转发到Servlet02请求。
Servlet01代码:
public class Servlet01 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("进入Servlet01");
RequestDispatcher rd = request.getRequestDispatcher("/servlet02");
rd.forward(request,response);
}
}
Servlet02代码:
public class Servlet02 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("进入Servlet02");
}
}
浏览器访问http://localhost:8080/06_servlet_war_exploded/servlet01
实验结果:
请求转发特点
- 1.浏览器地址栏没有变化
- 2.它们是一次请求
- 3.它们共享Request域中的数据
- 4.可以转发到WEB-INF目录下
- 5.不可以访问呢工程以外的资源