ssm框架实现用户登录
时间: 2023-08-28 19:31:29 浏览: 46
实现用户登录需要以下步骤:
1. 创建用户表,包含用户名和密码字段。
2. 创建一个登录页面,包含用户名和密码输入框。
3. 在控制器中编写登录方法,接收用户名和密码参数,并查询数据库,判断用户名和密码是否正确。
4. 如果用户名和密码正确,则将用户信息存储到 session 中,并跳转到主页。如果用户名或密码不正确,则返回登录页面,并提示错误信息。
下面是一个基于 SSM 框架的用户登录示例:
1. 创建用户表
```sql
CREATE TABLE user (
id INT(11) NOT NULL AUTO_INCREMENT,
username VARCHAR(50) NOT NULL,
password VARCHAR(50) NOT NULL,
PRIMARY KEY (id)
);
```
2. 创建登录页面
在 JSP 文件中添加如下代码:
```html
<form action="${pageContext.request.contextPath}/login" method="post">
<label for="username">用户名:</label>
<input type="text" id="username" name="username"><br>
<label for="password">密码:</label>
<input type="password" id="password" name="password"><br>
<input type="submit" value="登录">
</form>
```
3. 编写控制器
```java
@Controller
public class LoginController {
@Autowired
private UserService userService;
@RequestMapping(value="/login", method=RequestMethod.POST)
public String login(@RequestParam("username") String username,
@RequestParam("password") String password,
HttpSession session,
Model model) {
User user = userService.getUserByUsername(username);
if (user == null) {
model.addAttribute("errMsg", "用户名不存在");
return "login";
}
if (!user.getPassword().equals(password)) {
model.addAttribute("errMsg", "密码不正确");
return "login";
}
session.setAttribute("user", user);
return "redirect:/home";
}
}
```
4. 编写 UserService 接口和实现类
```java
public interface UserService {
User getUserByUsername(String username);
}
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public User getUserByUsername(String username) {
return userMapper.getUserByUsername(username);
}
}
@Repository
public interface UserMapper {
User getUserByUsername(String username);
}
@Mapper
public interface UserMapper {
@Select("SELECT * FROM user WHERE username=#{username}")
User getUserByUsername(@Param("username") String username);
}
```
注意:在使用 MyBatis 时,需要在配置文件中添加 mapper 扫描路径和数据源配置。
以上就是基于 SSM 框架实现用户登录的示例,希望对你有帮助。