Servlet之跳转

页面跳转是开发一个web应用经常会发生的事情。

比如登录成功或是失败后,分别会跳转到不同的页面。

跳转的方式有两种,服务端跳转和客户端跳转 ,服务端一般便于传输数据,客户端就完全是另一个页面了。

1.准备两个页面 success.html fail.html

<div style="color:green">login success</div>

<div style="color:red">login fail</div>

2.服务端跳转

在Servlet中进行服务端跳转的方式:
request.getRequestDispatcher("success.html").forward(request, response);服务端跳转可以看到浏览器的地址依然是/login 路径,并不会变成success.html

request.setCharacterEncoding("UTF-8");
        String name = request.getParameter("name");
        String password = request.getParameter("password");
   if("admin".equals(name)&&"123".equals(password)) {
            request.getRequestDispatcher("success.html").forward(request, response);
            }
            else
            request.getRequestDispatcher("fail.html").forward(request, response);
        response.setContentType("text/html;charset=UTF-8");
        
        }
    }

服务端跳转

3.客户端跳转 (重定向)

   在Servlet中进行客户端跳转的方式:

response.sendRedirect("fail.html");

通过调用sendRedirect方法实现请求重定向,
 sendRedirect方法内部调用了
 response.setHeader("Location", "success.html");
response.setStatus(HttpServletResponse.SC_FOUND);//设置302状态码,等同于response.setStatus(302);
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

if ("admin".equals(name) && "123".equals(password)) {

            request.getRequestDispatcher("success.html").forward(request, response);

        }

        else{

            response.sendRedirect("fail.html");

        }

图示

服务端跳转与客户端跳转图示

猜你喜欢

转载自blog.csdn.net/qq_38930240/article/details/82686731
今日推荐