Servlet八—RequestDispatcher
RequestDispatcher主要用于URL的重定向,使用RequestDispatcher可以作为Servlet的一个转发器,当服务器收到客户端浏览器发送的访问请求时,可以交给RequestDispatcher去判断该转向哪个Servlet。RequestDispatcher有forward()和include()两个方法。两者的主要区别在于使用forward跳转后,Servlet的response输出则不会再执行,由跳转到的新页面去处理。而调用include()跳转后,Servlet的response任然会执行。下面是一个实现RequestDispatcher的简单例子。
public class HelloWorld extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
RequestDispatcher requestDispatcher = request.getRequestDispatcher("newUrl");
requestDispatcher.include(request, response);
}
}
跳转Servlet:
public class newUrl extends HttpServlet{
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println(“newUrl”);
}
}