页面跳转是开发一个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"
);
}