セッションが存在するかどうかを確認する方法は?
セッションが存在するかどうかを検出する方法は2つあります。
1)request.getSession(); + session.isNew()
–「request.getSession();」からセッションを取得します。この関数は、request.getSession(true);と同等で、常にセッションを返します。 唯一の問題は、これが新しいセッションか既存のセッションかわからないことです。
–後で「session.isNew()」で確認できます。これが新しいセッションの場合はtrue、そうでない場合は既存のセッションを返します。
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値を返します。
–後でセッションオブジェクトを使用して「null」チェックを実行できます。 、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");
}
}