ssm修改密码详细代码例子
时间: 2023-08-06 15:09:35 浏览: 148
好的,以下是一个SSM框架中修改密码的详细代码例子:
1. 前端页面
在前端页面中,我们需要使用form表单提交旧密码和新密码。以下是一个简单的示例:
```
<form id="changePwdForm">
<div class="form-group">
<label for="oldPwd">旧密码:</label>
<input type="password" class="form-control" id="oldPwd" name="oldPwd" placeholder="请输入旧密码">
</div>
<div class="form-group">
<label for="newPwd">新密码:</label>
<input type="password" class="form-control" id="newPwd" name="newPwd" placeholder="请输入新密码">
</div>
<button type="button" class="btn btn-primary" onclick="changePwd()">保存</button>
</form>
```
在提交按钮的onclick事件中,我们调用changePwd()函数来发送Ajax请求:
```
function changePwd() {
var oldPwd = $("#oldPwd").val();
var newPwd = $("#newPwd").val();
$.ajax({
url: "/user/changePwd",
type: "POST",
data: {
oldPwd: oldPwd,
newPwd: newPwd
},
success: function (data) {
if (data.code == 0) {
alert(data.msg);
} else {
alert(data.msg);
}
},
error: function (e) {
alert("修改密码失败!");
}
});
}
```
2. Controller
在Controller中,我们需要编写一个changePwd()方法来处理修改密码的请求。以下是一个简单的示例:
```
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("/changePwd")
@ResponseBody
public Result changePwd(String oldPwd, String newPwd, HttpSession session) {
User user = (User) session.getAttribute("user");
if (user == null) {
return Result.fail("用户未登录!");
}
if (!user.getPassword().equals(MD5Util.encode(oldPwd))) {
return Result.fail("旧密码错误!");
}
user.setPassword(MD5Util.encode(newPwd));
userService.updateUser(user);
return Result.success("修改密码成功!");
}
}
```
在上述示例中,我们使用了MD5加密算法对密码进行加密处理。如果旧密码正确,则将新密码加密后更新到数据库中,并返回修改成功的提示信息。
3. Service
在Service层中,我们需要编写一个updateUser()方法来更新用户信息。以下是一个简单的示例:
```
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserDao userDao;
@Override
public void updateUser(User user) {
userDao.updateUser(user);
}
}
```
在上述示例中,我们直接调用UserDao中的updateUser()方法来更新用户信息。
4. Dao
在Dao层中,我们需要编写一个updateUser()方法来更新用户信息。以下是一个简单的示例:
```
@Repository
public interface UserDao {
void updateUser(User user);
}
```
在上述示例中,我们直接定义了一个updateUser()方法。在实际开发中,我们需要使用MyBatis等持久化框架来实现该方法。
以上就是一个SSM框架中修改密码的详细代码例子。需要注意的是,在实际开发中,我们还需要对用户输入的密码进行加密处理,以保证密码的安全性。
阅读全文