자바 에서 session 은 사용자 대상 을 저장 하여 암 호 를 기억 합 니 다.

이전에 쿠키 를 만들어 비밀 번 호 를 기억 한 적 이 있 습 니 다.이번 에는 session 으로 비밀 번 호 를 기억 하고 다시 한 번 해 보 았 습 니 다.많은 수확 이 있 습 니 다.
이번 블 로 그 는 두 부분 으로 나 뉜 다.일 부 는 쿠키 와 session 의 차이 점 입 니 다.다른 부분 은 sesion 이 비밀 번 호 를 기억 하고 JSp 페이지 와 Controller 페이지 의 코드 를 작성 합 니 다.
1.쿠키 와 session 의 차이
구별:
1.쿠키 는 브 라 우 저 엔 드 기술 입 니 다.브 라 우 저 에 데 이 터 를 저장 하 는 것 이 안전 하지 않 습 니 다.중국어 저장 시 인 코딩 을 저장 할 수 없습니다:URLEncoder.encode();값 을 가 져 올 때 디 코딩:URLDecoder.decode();.
2.session 은 서버 엔 드 기술 입 니 다.서버 에 데 이 터 를 저장 합 니 다.servlet 에 접근 할 때 서버 가 session 대상 을 만 드 는 동시에 브 라 우 저 에 session Id 를 기록 하여 쿠키 에 저장 합 니 다.브 라 우 저가 닫 히 면 session 안의 데 이 터 는 삭제 되 지 않 고 session Id 를 저장 하 는 쿠키 가 분실 되 어 데 이 터 를 찾 지 못 하고 안전 합 니 다.
동일:
두 가지 역할 범 위 는 모두 세 션(브 라 우 저 를 열 때 닫 을 때 까지)이 유효 합 니 다.
2.session 구현 비밀번호 기억
세 걸음 으로 나누다.
1.jsp 페이지 레이아웃
在这里插入图片描述
기본 remy 선택 상 자 는 선택 상태 입 니 다.

<form name="register" action="login.action" method="post">
	<div class="form_row">
		<label class="contact"><strong>Phone:</strong></label> 
		<input type="text" class="contact_input" name="uPhone" id="uPhone" value="${param.uPhone }" onblur="phoneBlur(this.value);"/>
		<span id="uPhoneMsg"></span>
	</div>
	<div class="form_row">
		<label class="contact"><strong>Pwd:</strong></label> 
		<input type="text" class="contact_input" name="uPwd" id="uPwd"/>
		<span id="uPwdMsg">${flag }</span>
	</div>
	<div class="form_row">
		<div class="terms">
			<input type="checkbox" name="rem" id="rem" checked="checked">    
	<!-- <input type="checkbox" name="terms" id="terms"/> Rember me -->
		</div>
	</div>
	<div class="form_row">
		<input type="submit" class="register" value="login" />
	</div>
</form>
2.controller 층 논리 처리
제 코드 는 세 션 에 두 군데 사 용 됩 니 다.여 기 는 두 번 째 곳 만 보면 됩 니 다.
//2.로그 인 단 추 를 누 르 면 remi 가 선택 되 고 비밀번호 가 정확 할 때 계 정 비밀 번 호 를 session 에 저장 합 니 다.

//5.1  
@RequestMapping("login")
public String login(String uPhone,String uPwd,String rem,Model model,HttpServletResponse response,HttpServletRequest request){
	HttpSession session = request.getSession();
	String flag = "1";
	String uId = us.selectUsersByPhone_PwdService(uPhone, uPwd);
	//                  ;  ,     
	if(uId==null){
		flag="    ";
			request.setAttribute("flag", flag);
			return "register";
	}else{
		Users u1 = us.selectUsersByIdService(uId);
		//1.         users    session ,         
		session.setAttribute("handlerInterceptorSession", u1);
		
		//2.         rem   ,      ,       session
		if(rem.equals("on")){
			Users u2 = new Users(uPhone,uPwd);
			session.setAttribute("remSession", u2);
		}
		return "index";
	}
	
}
3.jsp 페이지 보충
여 기 는 주로//5.커서 가 떠 난 후에 비밀 번 호 를 기억 하 는 기능 을 호출 합 니 다.
논 리 는 사용자 가 계 정 커서 를 입력 하고 떠 난 후 session 에서 값 을 추출 하고 계 정 이 session 에 존재 하면 계 정 에 해당 하 는 비밀 번 호 를 가 져 와 입력 상자 에 비밀 번 호 를 부여 하 는 것 이다.(전제:remy 선택 상 자 는 선택 상태 입 니 다.1.jsp 페이지 레이아웃 에 설 치 됩 니 다)

<script>
function phoneBlur(uPhone){
var phoneMsg = document.getElementById("uPhoneMsg");
	phoneMsg.innerText="";
	$.ajax({
		type:"post",
		url:"phoneExist.action",
		data:{"uPhone":uPhone},
		dataType:"text", 
		/*  flag =0        
			 flag = 1     
		 */
		success:function(flag){
			if(flag==0){
				phoneMsg.innerText = "    ";
			}
		}
	}) 
//5.               
remPwd(uPhone);
	
};

//5    
/*1. phone       rem     Remsession    ,         。 */
//alert($("#rem").val());
function remPwd(uPhone){
	//          
	$("#uPwd").val("");
	var remVal = $("#rem").val();
	if(remVal=="on"){
		//         ,   ""
		var sessionPhone= ${remSession.uPhone}+"";
		var sessionPwd= ${remSession.uPwd}+"";
		//    session      ,  session          pwd
		if(sessionPhone==uPhone){
			$("#uPwd").val(sessionPwd);
		}
	}
}
</script>
이로써 session 은 Users 대상 을 저장 하여 비밀 번 호 를 기억 하 는 기능 을 완 료 했 습 니 다.더 많은 자바 session 은 비밀 번 호 를 기억 하 는 내용 을 기억 합 니 다.예전 의 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기