用ssm框架写登陆注册
时间: 2023-08-16 10:06:30 浏览: 50
好的,下面是使用SSM框架实现用户登录和注册的基本步骤:
1. 配置数据库连接信息
在Spring配置文件中配置数据库连接信息,例如MySQL数据库的连接信息:
```xml
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/dbname" />
<property name="username" value="root" />
<property name="password" value="password" />
</bean>
```
2. 创建数据表
创建用于存储用户信息的数据表,例如:
```sql
CREATE TABLE user (
id INT(11) NOT NULL AUTO_INCREMENT,
username VARCHAR(50) NOT NULL,
password VARCHAR(50) NOT NULL,
PRIMARY KEY (id)
);
```
3. 创建User实体类
创建User类,用于表示用户信息:
```java
public class User {
private int id;
private String username;
private String password;
// getter and setter methods
}
```
4. 创建UserDao接口和实现类
创建UserDao接口和实现类,用于操作用户信息的数据库表:
```java
public interface UserDao {
public User getUserById(int id);
public User getUserByUsername(String username);
public void addUser(User user);
public void updateUser(User user);
}
@Repository
public class UserDaoImpl implements UserDao {
@Autowired
private JdbcTemplate jdbcTemplate;
public User getUserById(int id) {
String sql = "SELECT * FROM user WHERE id = ?";
RowMapper<User> rowMapper = new BeanPropertyRowMapper<>(User.class);
User user = jdbcTemplate.queryForObject(sql, rowMapper, id);
return user;
}
public User getUserByUsername(String username) {
String sql = "SELECT * FROM user WHERE username = ?";
RowMapper<User> rowMapper = new BeanPropertyRowMapper<>(User.class);
User user = jdbcTemplate.queryForObject(sql, rowMapper, username);
return user;
}
public void addUser(User user) {
String sql = "INSERT INTO user(username, password) VALUES(?, ?)";
jdbcTemplate.update(sql, user.getUsername(), user.getPassword());
}
public void updateUser(User user) {
String sql = "UPDATE user SET username=?, password=? WHERE id=?";
jdbcTemplate.update(sql, user.getUsername(), user.getPassword(), user.getId());
}
}
```
5. 创建UserController类
创建UserController类,用于处理用户登录和注册的请求:
```java
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserDao userDao;
@RequestMapping(value = "/login", method = RequestMethod.POST)
public String login(String username, String password, Model model) {
User user = userDao.getUserByUsername(username);
if (user == null) {
model.addAttribute("error", "用户不存在");
return "login";
} else if (!user.getPassword().equals(password)) {
model.addAttribute("error", "密码错误");
return "login";
} else {
model.addAttribute("user", user);
return "home";
}
}
@RequestMapping(value = "/register", method = RequestMethod.POST)
public String register(User user, Model model) {
User existUser = userDao.getUserByUsername(user.getUsername());
if (existUser != null) {
model.addAttribute("error", "用户名已存在");
return "register";
} else {
userDao.addUser(user);
return "redirect:/user/login";
}
}
}
```
6. 创建登录和注册页面
创建登录和注册页面,例如login.jsp和register.jsp:
```html
<!-- login.jsp -->
<form action="${pageContext.request.contextPath}/user/login" method="post">
<label for="username">用户名:</label>
<input type="text" name="username" required="required" /><br />
<label for="password">密码:</label>
<input type="password" name="password" required="required" /><br />
<button type="submit">登录</button>
</form>
<!-- register.jsp -->
<form action="${pageContext.request.contextPath}/user/register" method="post">
<label for="username">用户名:</label>
<input type="text" name="username" required="required" /><br />
<label for="password">密码:</label>
<input type="password" name="password" required="required" /><br />
<button type="submit">注册</button>
</form>
```
以上就是使用SSM框架实现用户登录和注册的基本步骤,您可以根据需要进行修改和扩展。