자바 에서 session 은 사용자 대상 을 저장 하여 암 호 를 기억 합 니 다.
5064 단어 Javasession비밀 번 호 를 기억 하 다
이번 블 로 그 는 두 부분 으로 나 뉜 다.일 부 는 쿠키 와 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 은 비밀 번 호 를 기억 하 는 내용 을 기억 합 니 다.예전 의 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA + QueryDSL 계층형 댓글, 대댓글 구현(2)이번엔 전편에 이어서 계층형 댓글, 대댓글을 다시 리팩토링해볼 예정이다. 이전 게시글에서는 계층형 댓글, 대댓글을 구현은 되었지만 N+1 문제가 있었다. 이번에는 그 N+1 문제를 해결해 볼 것이다. 위의 로직은 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.