学生,管理员,教师使用freemarker模板实现登录,并进入不同的首页
时间: 2023-06-13 20:05:50 浏览: 44
好的,您需要先准备好以下工具:
1. Java开发环境(如Eclipse)
2. Tomcat服务器
3. Freemarker模板引擎
接下来,您可以按照以下步骤实现登录功能:
1. 创建一个Java Web项目,并在项目中创建以下文件夹:
- src/main/java:用于存放Java代码
- src/main/resources:用于存放配置文件
- src/main/webapp:用于存放Web资源(如HTML、CSS、JavaScript等)
2. 在src/main/resources目录下创建一个properties文件,用于存放登录验证需要的用户名和密码,例如:
```
admin=admin123
teacher=teacher123
student=student123
```
3. 在src/main/java目录下创建一个LoginServlet类,用于处理登录请求和验证:
```
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
Properties prop = new Properties();
InputStream input = getClass().getClassLoader().getResourceAsStream("users.properties");
prop.load(input);
if (prop.containsKey(username) && prop.getProperty(username).equals(password)) {
HttpSession session = request.getSession();
session.setAttribute("username", username);
if (username.equals("admin")) {
response.sendRedirect("admin.ftl");
} else if (username.equals("teacher")) {
response.sendRedirect("teacher.ftl");
} else if (username.equals("student")) {
response.sendRedirect("student.ftl");
}
} else {
response.sendRedirect("login.html");
}
}
}
```
4. 在src/main/webapp目录下创建一个login.html文件,用于显示登录页面:
```
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Login</title>
</head>
<body>
<form action="login" method="post">
<label>Username:</label>
<input type="text" name="username"><br><br>
<label>Password:</label>
<input type="password" name="password"><br><br>
<input type="submit" value="Login">
</form>
</body>
</html>
```
5. 在src/main/webapp目录下创建一个admin.ftl模板文件,用于显示管理员首页:
```
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Admin Home</title>
</head>
<body>
<h1>Welcome, admin!</h1>
</body>
</html>
```
6. 在src/main/webapp目录下创建一个teacher.ftl模板文件,用于显示教师首页:
```
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Teacher Home</title>
</head>
<body>
<h1>Welcome, teacher!</h1>
</body>
</html>
```
7. 在src/main/webapp目录下创建一个student.ftl模板文件,用于显示学生首页:
```
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Student Home</title>
</head>
<body>
<h1>Welcome, student!</h1>
</body>
</html>
```
8. 在src/main/webapp目录下创建一个web.xml文件,并配置LoginServlet的映射:
```
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>com.example.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
</web-app>
```
9. 在Tomcat服务器中部署该项目,并启动Tomcat服务器。
10. 在浏览器中输入http://localhost:8080/login.html,即可访问登录页面。输入正确的用户名和密码,即可进入不同的首页。
以上就是使用Freemarker模板实现登录,并进入不同首页的步骤。