5 页面跳转
1 什么叫页面跳转
- 前面返回页面的方式是通过Java代码在HTML字节流输出的方式写返回页面。
String html = null;
if ("admin".equals(name) && "123456".equals(password))
html = "<div style='color:green'>登陆成功</div>";
else
html = "<div style='color:red'>登陆失败</div>";
//设置返回页面的编码格式
response.setContentType("text/html; charset=UTF-8");
PrintWriter pw = response.getWriter();
pw.println(html);
- 我们今天的页面是让另一个静态页面代替我们输出
- 新建两个html文档,一个是sucess.html、另一个是fail.html,输入用户名密码之后跳转到这个html页面。
<meta charset="UTF-8">
<div style="color:green">login success成功</div>
<meta charset="UTF-8">
<div style="color:red">login fail失败</div>
2 服务端跳转
- 代码
if ("admin".equals(name) && "123456".equals(password)) {
// 服务端跳转、静态页面
request.getRequestDispatcher("success.html").forward(request, response);
} else {
// 客户端跳转、静态页面
response.sendRedirect("fail.html");
}
- 效果:显示的还是当前url
3 客户端跳转
- 代码
else {
// 客户端跳转、静态页面
response.sendRedirect("fail.html");
}
- 效果,显示的是静态页面的url
4 比较
4.1 流程比较
4.2 资源消耗比较
- 服务端的方式消耗较少减少网络带宽。
- 客户端跳转消耗较大的网络带宽。