实现重定向:
实现重定向相关的方法:
response.sendRedirect(“路径地址”);
重定向通过登录案例来完成:
需求分析:在登录页面输入用户名和密码,在login.jsp里面,判断用户名和密码是否正确。如果输入错误,会重新定向到登录界面,如果正确,跳转到欢迎界面。
获取登录界面提交的用户名和密码:request.getParameter()方法
重定向的特点:1.浏览器地址栏发生变化
2.发送了两次请求。都是由浏览器发送的请求
重定向的路径:由于是浏览器发送得到请求,所以路径必须要带项目名称
[文件login.html]
<body>
<form action="/Chapter05/LoginServlet" method="post">
用户名<input type="text" name="username"/><br>
密 码<input type="password" name="password"><br>
<input type="submit" value="登录">
</form>
</body>
[文件welcome]
<body>
<h1>欢迎你,登录成功!</h1>
</body>
[文件LoginServlet.java]
@WebServlet(name = "LoginServlet")
public class LoginServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doGet(request, response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
String username = request.getParameter("username");
String password = request.getParameter("password");
// 假设用户名和密码分别为hyl和123;
if (("hyl").equals(username)&&("123").equals(password)){
// 如果用户名和密码正确,重定向到welcome.html
response.sendRedirect("http://localhost:8080/Chapter05/welcome.html");
}else{
response.sendRedirect("http://localhost:8080/Chapter05/login.html");
}
}
}