セッションが存在するかどうかをチェックする方法?
セッションが存在するかどうかを検出する方法は2つあります。
1)request.getSession(); + session.isNew()
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException{ response.setContentType("text/html"); PrintWriter pw = response.getWriter(); HttpSession session = request.getSession(); if(session.isNew()){ pw.println("New session is jutst created"); }else{ pw.println("This is old session"); } }
2)request.getSession(false); + if(session == null)
-
“request.getSession(false);”からセッションを取得すると、この関数は存在していればセッションを返し、そうでない場合はnull値が返されます。 + – 後でセッションオブジェクトで “ヌル”チェックを行うことができます。ヌルは存在するセッションが存在しないことを意味します。
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException{ response.setContentType("text/html"); PrintWriter pw = response.getWriter(); HttpSession session = request.getSession(false); if(session ==null){ pw.println("No session available"); }else{ pw.println("This is old session"); } }
リンク://タグ/サーブレット/[サーブレット]リンク://タグ/セッション/[セッション]