用ssm写一个登录界面
时间: 2023-11-11 13:05:51 浏览: 28
好的,下面我将为你提供一个简单的SSM登录界面的实现步骤:
1. 创建一个Maven项目,引入所需的依赖。在pom.xml文件中添加以下依赖:
```xml
<!-- Spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.7.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.7.RELEASE</version>
</dependency>
<!-- MyBatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.5</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.5</version>
</dependency>
<!-- 数据库连接池 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.12</version>
</dependency>
<!-- JSP -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
<!-- Servlet -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
<!-- Junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
```
2. 配置数据源和MyBatis。
在src/main/resources目录下创建db.properties文件,配置数据源信息。例如:
```
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test
jdbc.username=root
jdbc.password=123456
```
在src/main/resources目录下创建mybatis-config.xml文件,配置MyBatis。例如:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<typeAliases>
<package name="com.example.entity"/>
</typeAliases>
<mappers>
<mapper resource="mapper/UserMapper.xml"/>
</mappers>
</configuration>
```
3. 创建实体类和DAO层。
在com.example.entity包下创建User实体类,例如:
```java
public class User {
private Integer id;
private String username;
private String password;
// getter和setter方法
}
```
在com.example.dao包下创建UserMapper接口和UserMapper.xml文件。例如:
UserMapper.java
```java
public interface UserMapper {
User selectByUsernameAndPassword(@Param("username") String username, @Param("password") String password);
}
```
UserMapper.xml
```xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.dao.UserMapper">
<select id="selectByUsernameAndPassword" resultType="com.example.entity.User">
select * from user where username = #{username} and password = #{password}
</select>
</mapper>
```
4. 创建Service层和Controller层。
在com.example.service包下创建UserService接口和UserServiceImpl实现类。例如:
UserService.java
```java
public interface UserService {
User login(String username, String password);
}
```
UserServiceImpl.java
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public User login(String username, String password) {
return userMapper.selectByUsernameAndPassword(username, password);
}
}
```
在com.example.controller包下创建LoginController类。例如:
```java
@Controller
@RequestMapping("/login")
public class LoginController {
@Autowired
private UserService userService;
@RequestMapping("/login")
public String login(String username, String password, HttpSession session) {
User user = userService.login(username, password);
if (user != null) {
session.setAttribute("user", user);
return "redirect:/index.jsp";
} else {
return "redirect:/login.jsp";
}
}
@RequestMapping("/logout")
public String logout(HttpSession session) {
session.invalidate();
return "redirect:/login.jsp";
}
}
```
5. 创建登录页面和主页。
在WebRoot目录下创建login.jsp和index.jsp页面。例如:
login.jsp
```html
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>登录</title>
</head>
<body>
<h1>登录</h1>
<form action="${pageContext.request.contextPath}/login/login" method="post">
<label>用户名:</label>
<input type="text" name="username"/><br/>
<label>密码:</label>
<input type="password" name="password"/><br/>
<input type="submit" value="登录"/>
</form>
</body>
</html>
```
index.jsp
```html
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" session="false"%>
<!DOCTYPE html>
<html>
<head>
<title>首页</title>
</head>
<body>
<h1>欢迎您,${user.username}!</h1>
<a href="${pageContext.request.contextPath}/login/logout">退出</a>
</body>
</html>
```
至此,一个简单的SSM登录界面就完成了。