1、退出登录
1、发送退出登录请求
<a href="logout.do">退出</a>
2、在controller类中处理退出登录请求
判断用户是否登录,用户是否登录是根据session中是否有用户的登录信息。
@RequestMapping("/logout.do")
public String logout(HttpSession session) {
//清空session中保存的用户信息
session.removeAttribute("emp");
//跳转到登录页面
return "login.html";
}
2、显示个人信息
<h5 class="media-heading mt5 mbn fw700 cursor">
<a target="right" href="myinfo.jsp">${emp.ename}</a>
<span class="caret ml5"></span></h5>
3、修改密码
1、在index.jsp发送跳转到修改密码界面
<script type="text/javascript">
//添加编辑弹出层
function updatePwd(title, id) {
$.jq_Panel({
title: title,
iframeWidth: 500,
iframeHeight: 300,
url: "updatePwd.html"
});
}
</script>
2、在updatePwd.html页面发送修改密码请求,form表单中响应的target为index.jsp
<form action="updatePwd.do" target="index.jsp" class="am-form am-form-horizontal" method="post" style="padding-top:30px;" data-am-validator>
<div class="am-form-group">
<label for="user-name" class="am-u-sm-3 am-form-label">
新密码 </label>
<div class="am-u-sm-9">
<input type="password" id="doc-vld-pwd-1" required placeholder="请输入新密码" name="epass"> <small>输入新密码。</small>
</div>
</div>
<div class="am-form-group">
<label for="user-name" class="am-u-sm-3 am-form-label">重复密码</label>
<div class="am-u-sm-9">
<input type="password" id="doc-vld-pwd-2" required placeholder="请输入重复密码" name="repass" data-equal-to="#doc-vld-pwd-1" required> <small>输入重复密码。</small>
</div>
</div>
<div class="am-form-group">
<div class="am-u-sm-9 am-u-sm-push-3">
<input type="submit" id="btns" onclick="btnclose()" class="am-btn am-btn-success" value="修改密码" />
</div>
</div>
</form>
3、在dao接口写修改方法
@Update("update employee set epass = #{epass} where eid = #{eid}")
void updatePwd(Employee emp);
4、在service方法中调用到方法
public void updatePwd(Employee emp) {
dao.updatePwd(emp);
}
5、在controller中处理数据
@RequestMapping("/updatePwd.do")
public String updatePwd(HttpSession session, String epass, String repass) {
if(epass!=null && repass != null && epass.equals(repass)) {
//修改密码
Employee emp = (Employee)session.getAttribute("emp");//获取登录用户的信息
emp.setEpass(epass);//修改密码
employeeService.updatePwd(emp);//把修改的密码保存到数据库
//更新session中用户的密码
session.setAttribute("emp", emp);
}
return "index.jsp";
}
4、登录密码加密
1、js中给密码加密
<!-- 导入md5加密要用到的js文件 -->
<script type="text/javascript" src="js/md5.js"></script>
<script type="text/javascript">
md5("123456");
</script>
2、在java中进行加密
package com.hnjd.util;
import org.springframework.util.DigestUtils;
public class MD5Util {
public static void main(String[] args) {
String md5 = DigestUtils.md5DigestAsHex("123456".getBytes());
System.out.println(md5);
}
}
3、在mysql中石油md5加密
update employee set epass = md5(epass) where eid = 1;
4、对登录功能进行加密处理
@RequestMapping("/login.do")
public String login(String ename, String epass, HttpSession session) {
Employee emp = employeeService.login(ename, DigestUtils.md5DigestAsHex(epass.getBytes()));
if(emp!=null) {//登录成功
//1、共享登录用户的信息(request、session、application)
session.setAttribute("emp", emp);
//2、跳转到首页
return "index.jsp";
}
//登录失败,重新登录
return "login.html";
}