maven整合ssm實現用戶退出登錄,顯示個人信息,修改密碼,登錄密碼加密


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";
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM