当文档移动到新的位置,我们需要向客户端发送这个新位置时,我们需要用到网页重定向。当然,也可能是为了负载均衡,或者只是为了简单的随机,这些情况都有可能用到网页重定向。
重定向请求到另一个网页的最简单的方式是使用 response 对象的 sendRedirect() 方法。
转发页面跳转
1.request.getRequestDispatcher("//WEB-INF/jsp/reg.jsp").forward(request,response);
2.response.sendRedirect("/web/user?m=login");
public class UserController extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); doGet(request,response); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //接受客户端发送的参数 String m = request.getParameter("m"); if("reg".equals(m)){ //显示注册界面 //1.转发 request.getRequestDispatcher("//WEB-INF/jsp/reg.jsp").forward(request,response); //跳转页面,forward执行转发 需要request,response两个参数 }if("regDo".equals(m)){ //执行注册 将获取参数注册到数据库中 regDo(request,response); }else if("login".equals(m)) { //转发 //获取分发器 RequestDispatcher dis = request.getRequestDispatcher("/WEB-INF/jsp/login.jsp"); //执行转发 dis.forward(request, response); } }
private void loginDo(HttpServletRequest request, HttpServletResponse response) throws IOException { String username =request.getParameter("username"); String password =request.getParameter("password"); UserEntity user =SqlUtil.login(username,password); //返回对象 if(user !=null){ //对象不为空登录成功 response.sendRedirect("/web/user?m=main"); }else { //登录失败 response.sendRedirect("/web/user?m=login"); } }