5 页面跳转

1 什么叫页面跳转

  1. 前面返回页面的方式是通过Java代码在HTML字节流输出的方式写返回页面。
  1. String html = null;
  2. if ("admin".equals(name) && "123456".equals(password))
  3. html = "<div style='color:green'>登陆成功</div>";
  4. else
  5. html = "<div style='color:red'>登陆失败</div>";
  6. //设置返回页面的编码格式
  7. response.setContentType("text/html; charset=UTF-8");
  8. PrintWriter pw = response.getWriter();
  9. pw.println(html);
  1. 我们今天的页面是让另一个静态页面代替我们输出
  2. 新建两个html文档,一个是sucess.html、另一个是fail.html,输入用户名密码之后跳转到这个html页面。
  1. <meta charset="UTF-8">
  2. <div style="color:green">login success成功</div>
  1. <meta charset="UTF-8">
  2. <div style="color:red">login fail失败</div>

2 服务端跳转

  1. 代码
  1. if ("admin".equals(name) && "123456".equals(password)) {
  2. // 服务端跳转、静态页面
  3. request.getRequestDispatcher("success.html").forward(request, response);
  4. } else {
  5. // 客户端跳转、静态页面
  6. response.sendRedirect("fail.html");
  7. }
  1. 效果:显示的还是当前url

图片.png

3 客户端跳转

  1. 代码
  1. else {
  2. // 客户端跳转、静态页面
  3. response.sendRedirect("fail.html");
  4. }
  1. 效果,显示的是静态页面的url

图片.png

4 比较

4.1 流程比较

5 页面跳转 - 图3

4.2 资源消耗比较

  1. 服务端的方式消耗较少减少网络带宽。
  2. 客户端跳转消耗较大的网络带宽。