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");

        }

图示

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值