JSP 11-1. ログインとログアウト


RequestDispatch(転送と含む)&Redirectを使用したログインとログアウトの例
/webStudy01/WebContent/login/loginForm.jsp
  • <form id="loginForm" action="<%=request.getContextPath() %>/login/loginProcess.do" method="post">
  • 動作はURIであり、URIのテンプレート
  • にマッピングする必要がある.
  • 動作はクライアント方式<%=request.getContextPath() %>を採用しなければならない!
  • で取得すると、ログイン情報はクエリーに転送され、情報保護はできません.
  • <%	
       //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/>
  • セッションから取得したgetAttribute(「mem id」)の値はinputAnalyle=<%=mem id%>として使用されます.
  • session.removeAttribute(「mem id」)は、ログインに失敗すると一度にアイデンティティ値が保持され、一度にポップアップされると削除されるためです.このため、ログインページでF 5を押すとID入力欄がnullになります.--flashAttribute
  • required=「required」--「required」は省略可能--requiredはブール属性
  • <input type="text" name="mem_pass" required pattern="^(?=.*[0-9]+)(?=.*[a-z]+)(?=.*[A-Z]+).{5,12}$"/>
    <input type="submit" value="로그인"/>
    クライアントでの一般的な処理
    一般参照ページ
  • inputでモード属性
  • を使用する
    <%
    	String authMember = (String)session.getAttribute("authMember");
    	if(StringUtils.isBlank(authMember)){
    		//아직 로그인을 안했다면
    	
    %>
    ///////form태그 로그인정보 input + submitbutton
    <%
       }
    %>   
  • サーバへのログインに成功した場合、属性を設定する値getAttributeをセッションオブジェクトに設定します.この値はStringUtilsです.isBlank(authMember)の処理--ログイン状態でログインページに入ると、セッションにログインIDがあるため、白い画面が表示されます.