用ssm写一个注册登录接口
时间: 2023-08-14 13:03:40 浏览: 59
首先,需要在pom.xml文件中添加相关依赖:
```xml
<!-- Spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.3.6</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.3.6</version>
</dependency>
<!-- MyBatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.6</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.6</version>
</dependency>
<!-- 数据库依赖 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.6</version>
</dependency>
```
然后,需要在web.xml文件中配置DispatcherServlet:
```xml
<servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
```
接下来,创建一个User实体类,用于存储用户的注册和登录信息:
```java
public class User {
private Integer id;
private String username;
private String password;
private Date createTime;
// 省略getters和setters
}
```
然后,创建一个UserService接口和其实现类UserServiceImpl,用于处理用户的注册和登录业务:
```java
public interface UserService {
boolean register(User user);
User login(String username, String password);
}
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public boolean register(User user) {
User existUser = userMapper.selectByUsername(user.getUsername());
if (existUser != null) {
return false;
}
user.setCreateTime(new Date());
userMapper.insert(user);
return true;
}
@Override
public User login(String username, String password) {
User user = userMapper.selectByUsername(username);
if (user == null || !user.getPassword().equals(password)) {
return null;
}
return user;
}
}
```
其中,UserMapper是一个MyBatis的Mapper接口,用于操作数据库:
```java
public interface UserMapper {
void insert(User user);
User selectByUsername(String username);
}
```
接下来,需要在spring-mvc.xml文件中配置相关的bean:
```xml
<context:component-scan base-package="com.example.demo"/>
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="mapperLocations" value="classpath:mapper/*.xml"/>
</bean>
<bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg ref="sqlSessionFactory"/>
</bean>
<bean id="userMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
<property name="mapperInterface" value="com.example.demo.mapper.UserMapper"/>
<property name="sqlSessionTemplate" ref="sqlSessionTemplate"/>
</bean>
<bean id="userService" class="com.example.demo.service.impl.UserServiceImpl"/>
```
最后,创建一个UserController类,用于接收前端请求并调用UserService处理:
```java
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@PostMapping("/register")
@ResponseBody
public String register(@RequestBody User user) {
boolean result = userService.register(user);
if (result) {
return "success";
} else {
return "fail";
}
}
@PostMapping("/login")
@ResponseBody
public String login(@RequestParam("username") String username, @RequestParam("password") String password) {
User user = userService.login(username, password);
if (user != null) {
return "success";
} else {
return "fail";
}
}
}
```
至此,一个基本的注册登录接口就完成了,可以通过访问http://localhost:8080/user/register和http://localhost:8080/user/login来测试。