Java servlet - Session cleanup (HttpServletRequest)
java, request, servlets, session
Solution
HttpSession session = request.getSession(false);
if (session != null) {
session.invalidate();
}
is the proper way to go as suggested by the documentation. A new session will be created once the client sends a new request.
You mentioned that your sessions still take up memory. Do you have any other references to those objects on the session?
You also might want to have a look at: Servlet Session behavior and Session.invalidate
Problem
General question about java servlets and the best way to handle requests. If I hit my doGet method from a remote server request: ``` protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { .... <do work here> .... kill(request); } private void kill(HttpServletRequest request) { //How do I kill the user session here? } ``` After I process the request at my end and generate my output to the requester, I want to basically "kill" their session. Currently, that session lingers and thus eats up memory. Then once the max is reached, all other calls are timed out. I tried creating a HttpSession object using the request object, but got the same results: ``` HttpSession session = request.getSession(); session.invalidate(); ```