package org.jboss.qa.openssl.resources;
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;
import java.io.IOException;
import java.io.PrintWriter;
/**
* Created by jstourac on 2/13/17.
*/
@WebServlet(name = "SessionAccessCounter", urlPatterns = {SessionAccessCounterServlet.URL_PATERN})
public class SessionAccessCounterServlet extends HttpServlet {
public final static String URL_PATERN = "/SessionAccessCounter";
private final static String KEY = "count";
public final static String NEW_SESSION_STRING = "Creating new session";
public final static String EXISTING_SESSION_STRING = "Utilizing existing session";
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
HttpSession session = request.getSession();
int count;
response.setContentType("text/plain");
PrintWriter out = response.getWriter();
if (session.isNew() || session.getAttribute(KEY) == null) {
out.print(NEW_SESSION_STRING + "
");
count = 0;
} else {
out.print(EXISTING_SESSION_STRING + "
");
count = (Integer) session.getAttribute(KEY);
}
count++;
session.setAttribute(KEY, count);
out.print("Session creation time: " + session.getCreationTime() + "
");
out.print("Session last accessed time: " + session.getLastAccessedTime() + "
");
out.print("Session max active interval: " + session.getMaxInactiveInterval() + "
");
out.write(session.getId() + ": " + count);
}
}