基于ssm框架实现用户注册登陆也代码
时间: 2024-02-05 07:12:06 浏览: 30
以下是一个简单的基于SSM框架实现用户注册登陆的代码示例,包括了Controller、Service和Mapper层的实现:
1. UserController.java(Controller层)
```java
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@RequestMapping(value = "/register", method = RequestMethod.POST)
public String register(User user, Model model) {
boolean result = userService.register(user);
if (result) {
model.addAttribute("message", "注册成功");
return "login";
} else {
model.addAttribute("message", "注册失败");
return "register";
}
}
@RequestMapping(value = "/login", method = RequestMethod.POST)
public String login(String username, String password, Model model, HttpSession session) {
User user = userService.login(username, password);
if (user != null) {
session.setAttribute("user", user);
return "redirect:/index";
} else {
model.addAttribute("message", "用户名或密码错误");
return "login";
}
}
@RequestMapping("/logout")
public String logout(HttpSession session) {
session.removeAttribute("user");
return "redirect:/index";
}
}
```
2. UserService.java(Service层)
```java
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public boolean register(User user) {
User existUser = userMapper.findByUsername(user.getUsername());
if (existUser != null) {
return false;
}
userMapper.insert(user);
return true;
}
public User login(String username, String password) {
User user = userMapper.findByUsername(username);
if (user != null && user.getPassword().equals(password)) {
return user;
}
return null;
}
}
```
3. UserMapper.xml(Mapper层)
```xml
<mapper namespace="com.example.mapper.UserMapper">
<resultMap id="UserResultMap" type="com.example.entity.User">
<id property="id" column="id" />
<result property="username" column="username" />
<result property="password" column="password" />
</resultMap>
<select id="findByUsername" resultMap="UserResultMap">
SELECT * FROM user WHERE username = #{username}
</select>
<insert id="insert" parameterType="com.example.entity.User">
INSERT INTO user (username, password) VALUES (#{username}, #{password})
</insert>
</mapper>
```
其中,User类包含了id、username和password属性。以上代码仅供参考,具体实现可能会因为业务需求的不同而有所变化。