使用servlet实现用户登陆---用户名密码错误--带着错误信息提示跳转回登陆页面给用户一个提示(转发到登陆页面)
时间: 2023-10-05 17:07:25 浏览: 190
好的,我来为您详细解答一下。
首先,在用户登陆时,需要在后台对输入的用户名和密码进行验证。如果验证不通过,就需要返回一个错误信息并将用户重定向回登陆页面。
以下是一个使用Servlet实现用户登陆的示例代码:
```java
@WebServlet("/login")
public class LoginServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
if (username.equals("admin") && password.equals("123456")) {
// 登陆成功
response.sendRedirect("welcome.jsp");
} else {
// 登陆失败,返回错误信息并重定向回登陆页面
request.setAttribute("errorMsg", "用户名或密码错误!");
RequestDispatcher dispatcher = request.getRequestDispatcher("login.jsp");
dispatcher.forward(request, response);
}
}
}
```
在上述代码中,我们首先获取用户输入的用户名和密码。如果用户名和密码都是正确的,我们就使用`response.sendRedirect()`方法将用户重定向到欢迎页面。
如果用户名或密码不正确,我们就可以使用`request.setAttribute()`方法将错误信息设置到请求的属性中。然后,使用`RequestDispatcher`的`forward()`方法将请求转发回登陆页面,并在登陆页面中显示错误信息。
在登陆页面中,我们可以使用EL表达式`${errorMsg}`来获取错误信息并显示给用户。
下面是一个简单的登陆页面示例代码:
```html
<html>
<head>
<title>Login</title>
</head>
<body>
<h1>Login</h1>
<form action="login" method="post">
<div>
<label for="username">Username:</label>
<input type="text" id="username" name="username"/>
</div>
<div>
<label for="password">Password:</label>
<input type="password" id="password" name="password"/>
</div>
<div>
<input type="submit" value="Login"/>
</div>
<div style="color:red">${errorMsg}</div>
</form>
</body>
</html>
```
在上述代码中,我们使用`<form>`元素将用户输入的用户名和密码提交到`LoginServlet`中进行验证。如果验证失败,错误信息将显示在`<div>`元素中。
希望这个示例代码可以帮助到您,如果您还有其他问题,请随时提出,我会尽力回答。
阅读全文