サーブレットでセッションを維持するためにクライアント側でJSESSIONIDの名前でクッキーが保存されます。
私もそれをチェックし、私はいくつかのランダムな文字列値でJSESSIONIDの名前でlocalhostののクッキーを見つけました。
サーブレットにJSESSIONIDクッキーを作成してセッションを手動で作成しようとしましたが、セッションを取得しようとしているときに動作していません。
ここに何が起こっているのですか?
セッション作成のためにどこかに保存されるCookie(JSESSIONID)以外のものはありますか?
なぜ私はセッションを取得できないのですか?
ご了承ください。私はあなたがクッキーを作成するか、追跡するための責任を負いませんねセッションJSESSIONIDクッキーを使用したサーブレットでのセッション処理がセッションを取得しない
package sessionHandling;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
@WebServlet("/sessionhandling")
public class SessionHandling extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
ServletOutputStream out = response.getOutputStream();
out.print("Hello Mr.! How are you?");
HttpSession session = request.getSession(false);
if(session != null){
out.println("You are logged in.");
out.println("session found with "+session.getId());
out.println("session found with "+session.getLastAccessedTime());
}else{
//session = request.getSession(true);
Cookie JSESSIONID = new Cookie("JSESSIONID", "12345");
JSESSIONID.setMaxAge(-1);
response.addCookie(JSESSIONID);
System.out.println("Cookie Created");
out.print("You are not logged in");
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}