servlet セッション情報表示アプリケーション

アプリケーションサーバの動作確認用サンプルアプリ
以下のをパクっています。

https://www.javadrive.jp/servlet/session/index7.html


プロジェクト名 KKK
src/main/java
デフォルトパッケージの中に

ファイル名：SessionTest.java

```

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 * Servlet implementation class SessionTest
 */
@WebServlet("/SessionTest")
public class SessionTest extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public SessionTest() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		response.setContentType("text/html; charset=Shift_JIS");
        PrintWriter out = response.getWriter();
        
        HttpSession session = request.getSession(false);

        out.println("<html>");
        out.println("<head>");
        out.println("<title>セッションテスト</title>");
        out.println("</head>");
        out.println("<body>");
        
        if (session == null){
            out.println("<p>セッションは存在しません。開始します</p>");
            session = request.getSession(true);
            String id;
            id = session.getId();
            
          out.println("<p>セッション開始してます</p>");
          out.println("<html><head>\n"
      			+ "<meta http-equiv=\"content-type\" content=\"text/html; charset=Shift_JIS\" />\n"
      			+ "<title>セッション・デモ</title>\n"
      			+ "</head><body>\n"
      			+ "<h1>セッション・デモ</h1>\n"
      			+ "<p>サーブレットコンテナが割り振ったセッションID：" + id + "</p>\n"
      			+ "</body></html>\n");
            
            
          }else{
        	  
        	 
        	  String id;
              id = session.getId();
              
            out.println("<p>セッション開始してます</p>");
            out.println("<html><head>\n"
        			+ "<meta http-equiv=\"content-type\" content=\"text/html; charset=Shift_JIS\" />\n"
        			+ "<title>セッション・デモ</title>\n"
        			+ "</head><body>\n"
        			+ "<h1>セッション・デモ</h1>\n"
        			+ "<p>サーブレットコンテナが割り振ったセッションID：" + id + "</p>\n"
        			+ "</body></html>\n");
          }

          out.println("<a href=\"/KKK/SessionTest\">再表示</a>");
          
          out.println("<a href=\"/KKK/invalidatesession\">セッションを破棄</a>");


          out.println("</body>");
          out.println("</html>");
        
        
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

```

セッションを無効にするためのアプリケーション
プロジェクト名 KKK
src/main/java
デフォルトパッケージの中に


ファイル名：invalidatesession.java

```
import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 * Servlet implementation class invalidatesession
 */
@WebServlet("/invalidatesession")
public class invalidatesession extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public invalidatesession() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		
		response.setContentType("text/html; charset=Shift_JIS");
	    PrintWriter out = response.getWriter();

	    HttpSession session = request.getSession(false);

	    out.println("<html>");
	    out.println("<head>");
	    out.println("<title>セッションテスト</title>");
	    out.println("</head>");
	    out.println("<body>");

	    if (session != null){
	      out.println("<p>セッションは開始されています</p>");

	      out.println("<p>セッションを破棄し確認します。</p>");
	      session.invalidate();

	      session = request.getSession(false);
	      
	      if (session == null){
	          out.println("<p>セッションは破棄されました</p>");
	        }else{
	          out.println("<p>セッションが残っています</p>");
	        }
	      }else{
	        out.println("<p>セッションがありません</p>");
	      }

	      out.println("</body>");
	      out.println("</html>");
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

```