JSP+Servlet实现登录
时间: 2023-12-16 07:03:33 浏览: 26
1. 创建一个登录页面,包括用户名和密码输入框和登录按钮。
2. 创建一个Servlet类,继承HttpServlet,并实现doGet和doPost方法。
3. 在doPost方法中获取用户输入的用户名和密码,然后与数据库中的数据进行比对。
4. 如果用户名和密码正确,则将用户信息保存到Session中,并重定向到主页。
5. 如果用户名和密码错误,则返回登录页面,并提示用户重新输入。
6. 在主页中,可以通过Session中保存的用户信息来展示用户的个人信息。
以下是一个示例代码:
Login.jsp:
```html
<form method="post" action="login">
<label>用户名:</label>
<input type="text" name="username"/><br/>
<label>密码:</label>
<input type="password" name="password"/><br/>
<input type="submit" value="登录"/>
</form>
```
LoginServlet.java:
```java
public class LoginServlet extends HttpServlet {
private UserService userService = new UserServiceImpl();
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String username = req.getParameter("username");
String password = req.getParameter("password");
User user = userService.login(username, password);
if (user != null) {
HttpSession session = req.getSession();
session.setAttribute("user", user);
resp.sendRedirect("home");
} else {
req.setAttribute("msg", "用户名或密码错误");
req.getRequestDispatcher("login.jsp").forward(req, resp);
}
}
}
```
Home.jsp:
```html
<%
User user = (User) session.getAttribute("user");
%>
<h1>欢迎 <%= user.getUsername() %> </h1>
```
需要注意的是,以上代码只是一个示例,真实的代码需要根据具体需求进行修改和完善。同时,还需要对用户输入的数据进行安全检查,避免SQL注入等安全问题。