怎么用spring写一个简单的登陆界面 需要连接数据库mysql
下面是一个简单的基于Spring和MySQL数据库的登陆界面的实现:
- 在pom.xml中添加需要的依赖:
<dependencies>
<!-- Spring Web MVC -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.2.RELEASE</version>
</dependency>
<!-- Spring JDBC -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.2.2.RELEASE</version>
</dependency>
<!-- MySQL JDBC driver -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.18</version>
</dependency>
</dependencies>
- 在Spring配置文件中配置数据源和JdbcTemplate:
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=UTC"/>
<property name="username" value="root"/>
<property name="password" value="password"/>
</bean>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"/>
</bean>
- 创建一个User实体类:
public class User {
private String username;
private String password;
// getter and setter methods
}
- 创建一个UserController类:
@Controller
public class UserController {
@Autowired
private JdbcTemplate jdbcTemplate;
@GetMapping("/")
public String showLoginForm(Model model) {
model.addAttribute("user", new User());
return "login";
}
@PostMapping("/login")
public String login(@ModelAttribute("user") User user, Model model) {
String sql = "SELECT * FROM users WHERE username = ? AND password = ?";
List<Map<String, Object>> rows = jdbcTemplate.queryForList(sql, user.getUsername(), user.getPassword());
if (rows.size() == 1) {
return "success";
} else {
model.addAttribute("error", "Invalid username or password");
return "login";
}
}
}
- 创建一个login.jsp页面:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Login Page</title>
</head>
<body>
<h1>Login Page</h1>
<form action="/login" method="post">
<label>Username:</label>
<input type="text" name="username" value="${user.username}" /><br><br>
<label>Password:</label>
<input type="password" name="password" value="${user.password}" /><br><br>
<input type="submit" value="Login" /><br><br>
<c:if test="${not empty error}">
<p style="color: red">${error}</p>
</c:if>
</form>
</body>
</html>
- 创建一个success.jsp页面:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Success Page</title>
</head>
<body>
<h1>Success Page</h1>
<p>You have successfully logged in.</p>
</body>
</html>
- 运行程序,在浏览器中输入http://localhost:8080/,即可看到登陆界面。输入正确的用户名和密码,点击登陆按钮,会跳转到success.jsp页面,表示登陆成功
原文地址: https://www.cveoy.top/t/topic/hjly 著作权归作者所有。请勿转载和采集!