ユーザ認証を行うJSP
<%--============================================================================
  << jsp143.jsp >>                                                          
                                                                            
 JSP(4):セッション管理(応用:ユーザ認証)                    
                                                                            
  ユーザ名とパスワードでユーザ認証を行う。                                
  セッションに属性LOGINを設定し、認証された場合、LOGINの値はtrue、        
  認証されない場合、falseとする。                                         
    認証後、認証を必要とするJSPの実行が行える。                    
                                                                            
  jsp143.jsp :認証を行うJSP                                     
  jsp143a.jsp:認証がないと実行されないJSP                       
                                                                            
 ●requestオブジェクトのメソッド
  getParameter(String s)
   機能:パラメータsの値を取得する。

 ●起動法                                                                  
  (1)JSPファイル(jsp143.jsp, jsp143a.jsp)を作成する。        
       %CATALINA_HOME%\webapps\SV\jsp143.jsp              
      %CATALINA_HOME%\webapps\SV\jsp143a.jsp             
       に保存する。                                                         
  (2)HTMLファイル(hpj143.htm)を作成し、        
       %CATALINA_HOME%\webapps\SV\hpj143.htm              
       に保存する。                                                         
    (3)URL(http://localhost:8080/SV/hpj143.htm)を指定する。
============================================================================--%>

<%@ page contentType="text/html; charset=Shift_JIS" %>

<html>
<head><title>JSP</title></head>
<body>

ユーザ認証を行うJSP<br>
<form action=http://localhost:8080/SV/jsp143.jsp method=POST>
ユーザ名:<input type=text name=f1><br>
パスワード:<input type=password name=f2><br>
<input type=submit value=送信>
</form> 

<%
  // 入力フォームからユーザ名を取得。入力がない場合、nullが返される。
  String p1 = request.getParameter("f1");
  // 入力フォームからパスワードを取得。入力がない場合、nullが返される。
  String p2 = request.getParameter("f2");
  // ユーザ名とパスワードのチェック。
  if( (p1 != null)&&(p2 != null) ) {
    if( (p1.equals("userid"))&&(p2.equals("password")) ) {
      out.println("認証されました<br>");
      session.setAttribute("LOGIN","true");
    } else {
      session.setAttribute("LOGIN","false");
      out.println("認証できません");
    }
  }
%>

</body>
</html>
ユーザ認証が必要なJSP
<%--============================================================================
  << jsp143a.jsp >>                                                          
   認証を受けないと利用できず、認証を受けると利用できるJSP       
============================================================================--%>

<%@ page contentType="text/html; charset=Shift_JIS" %>

<html>
<head><title>JSP</title></head>
<body>

<%
  // 属性LOGINを取得。
  String s = (String)session.getAttribute("LOGIN");
  // 属性LOGINのチェック。
  if( (s != null)&&(s.equals("true")) ) {
    out.println("認証後のJSPの出力です<br>");
    //
    // 認証を受けたときの処理を記述する。                       
    //
  } else {
    out.println("認証されていません。認証を受けて下さい。<br>");
  }
%>

</body>
</html>
HTMLファイル(hpj143.htm)
<!-- << hpj143.htm >> -->
<html>
<head><title>JSP</title></head>
<body> 
<form action="jsp143a.jsp" method=POST>
 認証が必要なJSPの呼び出し:
  <input type=submit value=送信1><br>
</form>
<form action="jsp143.jsp" method=POST>
 認証を行うJSPの呼び出し:
  <input type=submit value=送信2><br>
</form>
</body>
</html>
実行結果

URL(http://localhost:8080/SV/hpj143.htm)を指定後


送信1後


URL(http://localhost:8080/SV/hpj143.htm)を指定後


送信2後




送信後


URL(http://localhost:8080/SV/hpj143.htm)を指定後


送信1後