3. 用户登录功能实现:用户输入用户名和密码,系统验证用户信息,如果验证通过,则判断用户权限,如果是普通用户,则跳转到用户信息查看页面;如果是管理员,则跳转到用户信息管理页面。Javaweb代码
时间: 2023-11-14 10:06:36 浏览: 82
下面是一个简单的用户登录功能的 JavaWeb 代码示例:
index.jsp:
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>用户登录</title>
</head>
<body>
<form action="login" method="post">
<label>用户名:</label><input type="text" name="username"><br>
<label>密码:</label><input type="password" name="password"><br>
<button type="submit">登录</button>
</form>
</body>
</html>
```
LoginServlet.java:
```java
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
@WebServlet("/login")
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
// 模拟用户数据
private static final String USERNAME = "admin";
private static final String PASSWORD = "admin";
private static final int ROLE_ADMIN = 0;
private static final int ROLE_USER = 1;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
if (USERNAME.equals(username) && PASSWORD.equals(password)) {
HttpSession session = request.getSession();
session.setAttribute("username", username);
int role = ROLE_USER;
if (USERNAME.equals("admin")) {
role = ROLE_ADMIN;
}
session.setAttribute("role", role);
if (role == ROLE_ADMIN) {
response.sendRedirect("userManage.jsp");
} else {
response.sendRedirect("userInfo.jsp");
}
} else {
response.sendRedirect("index.jsp?error=1");
}
}
}
```
userInfo.jsp:
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>用户信息</title>
</head>
<body>
<h1>欢迎,${username}!</h1>
<p>这里是您的用户信息。</p>
<a href="logout.jsp">退出登录</a>
</body>
</html>
```
userManage.jsp:
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>用户管理</title>
</head>
<body>
<h1>欢迎,管理员 ${username}!</h1>
<p>这里是用户管理页面。</p>
<a href="logout.jsp">退出登录</a>
</body>
</html>
```
logout.jsp:
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>退出登录</title>
</head>
<body>
<%
request.getSession().invalidate();
%>
<p>您已经成功退出登录。</p>
<a href="index.jsp">返回登录页面</a>
</body>
</html>
```
说明:本示例使用了 JavaWeb 中的 Session 实现用户登录状态的保存。在登录时,将用户信息和角色信息存储到 Session 中,然后根据角色信息跳转到不同的页面。在注销时,需要调用 Session 的 invalidate 方法清空 Session。