007.servlet中如何跳转到另一个servlet中?(转发和重定向的区别和使用)
package com.ll.homework; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.Date; @WebServlet("/servlet4") public class ServletHomeDemo04 extends HttpServlet { /** * 问题:servlet中如何跳转到另一个servlet中?利用转发 * 4.实现重定向以后,其后的代码不在执行 */ @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { RequestDispatcher requestDispatcher = req.getRequestDispatcher("/servlet3");//得到转发器 requestDispatcher.forward(req,resp);//实现转发 格式:转发器对象..forward(req,resp) } }
package com.ll.homework; import javax.servlet.*; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.Date; @WebServlet("/servlet3") public class ServletHomeDemo03 extends HttpServlet { /** * 问题:servlet中如何跳转到另一个servlet中?利用重定向 * 2.实现重定向 * 3.举例:response.sendRedirect("loginServlet"); * 4.实现重定向以后,其后的代码不在执行 */ @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("当前的时间是:"+new Date()); resp.sendRedirect("servlet4"); } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doPost(req, resp); } }