我们在实际的开发过程中,需要写不同的servlet,每个servlet完成不同的功能,当我们访问servletA的时候,serveltA需要跳转到一个新的servletB里面,这就是资源跳转的方式。
//获取请求转发器对象
RequestDispatcher dispatcher = request.getRequestDispatcher("/dept/list");
//调用请求转发器对象的forward方法完成转发
dispatcher.forward(request,response);
//合并成一行
request.getRequestDispatcher("/dept/list").forward(request,response);
//转发的时候是一次HTTP请求,不管你转发了多少次。都是一次HTTP请求。
//AServlet转发到BServlet,再转发到CServlet,再转发到DServlet,不管转发了多少次,都是在同一个request请求当中。
//这是因为调用foward方法的时候,会将当前的request和response对象传递给下一个Servlet。
//注意:路径上要加一个项目名。为什么?
//浏览器发送请求,请求路径上是需要添加项目名的。
//以下这一行代码会将请求路径"/项目名/dept/list"发送给浏览器。
//浏览器会自发的向服务器发送一次全新的请求:/项目名/dept/list
response.sendRedirect("/项目名/dept/list");