请求转发是指,服务器收到请求后,从一个资源跳转到另一个资源的操作。
示例:在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.不可以访问呢工程以外的资源

Servlet请求转发是在服务器端内部完成的资源跳转,不涉及客户端浏览器的重定向。在Servlet01中通过转发操作指向Servlet02,浏览器地址栏保持不变,且请求为一次。转发特性包括:地址栏不更新、共享Request域数据、能访问WEB-INF目录下的资源,但不能转发到工程外部。
987

被折叠的 条评论
为什么被折叠?



