JSP 11-1. 로그인&로그아웃

zhyun·2020년 12월 2일
0

JspSpring

목록 보기
15/39

RequestDispatch(forward&include) & Redirect 활용한 로그인&로그아웃 예제

/webStudy01/WebContent/login/loginForm.jsp

  • <form id="loginForm" action="<%=request.getContextPath() %>/login/loginProcess.do" method="post">
    • action이 URI인데 URI에 매핑되는 서블릿이 필요
    • action은 클라이언트 사이드방식 <%=request.getContextPath() %> 필수!
    • method방식이 get이면 로그인 정보가 쿼리스트링으로 날라가서 정보보호가 되지 않는다.
<%	
   //session 기본객체
   String mem_id = (String) session.getAttribute("mem_id");
   //session에 값을 넣으면 알아서 지워져야 한다. -> 한번 꺼내자마자 알아서 삭제 flashAttribute, 새로고침하면 null로 바뀜
  session.removeAttribute("mem_id");
  %>
  <input type="text" name="mem_id" value="<%=mem_id%>" required/>
  • session에서 가져온 getAttribute("mem_id")값을 input안 value=<%=mem_id%>로 받는다.
  • session.removeAttribute("mem_id")한 이유는 로그인 실패시 한번은 아이디값이 유지가 되는데 한번 꺼내자마자 삭제가 된다. 그래서 로그인페이지를 F5를 누르면 아이디 input칸이 null이 된다. -- flashAttribute
  • required="required" -- "required" 생략가능 -- required는 boolean속성
<input type="text" name="mem_pass" required pattern="^(?=.*[0-9]+)(?=.*[a-z]+)(?=.*[A-Z]+).{5,12}$"/>
<input type="submit" value="로그인"/>

클라이언트사이드에서 정규식 처리

정규식 참고 페이지

  • input 안에 pattern 속성 활용
<%
	String authMember = (String)session.getAttribute("authMember");
	if(StringUtils.isBlank(authMember)){
		//아직 로그인을 안했다면
	
%>
///////form태그 로그인정보 input + submitbutton
<%
   }
%>   
  • 서블릿에서 로그인 성공했을때 session객체에 setAttribute한 값을 getAttribute해서 이값이 StringUtils.isBlank(authMember)처리 -- 로그인 상태에서 로그인페이지를 들어가면 session에 로그인한 아이디가 있으니까 하얀화면이 나온다.
profile
HI :)

0개의 댓글