public static void showSession(HttpServletRequest req, PrintStream out) { // res.setContentType("text/html"); // Get the current session object, create one if necessary HttpSession session = req.getSession(); out.println("Session id: " + session.getId()); out.println(" session.isNew(): " + session.isNew()); out.println(" session.getMaxInactiveInterval(): " + session.getMaxInactiveInterval() + " secs"); out.println( " session.getCreationTime(): " + session.getCreationTime() + " (" + new Date(session.getCreationTime()) + ")"); out.println( " session.getLastAccessedTime(): " + session.getLastAccessedTime() + " (" + new Date(session.getLastAccessedTime()) + ")"); out.println(" req.isRequestedSessionIdFromCookie: " + req.isRequestedSessionIdFromCookie()); out.println(" req.isRequestedSessionIdFromURL: " + req.isRequestedSessionIdFromURL()); out.println(" req.isRequestedSessionIdValid: " + req.isRequestedSessionIdValid()); out.println("Saved session Attributes:"); Enumeration atts = session.getAttributeNames(); while (atts.hasMoreElements()) { String name = (String) atts.nextElement(); out.println(" " + name + ": " + session.getAttribute(name) + "<BR>"); } }
public static void showSession(HttpServletRequest req, HttpServletResponse res, PrintStream out) { // res.setContentType("text/html"); // Get the current session object, create one if necessary HttpSession session = req.getSession(); // Increment the hit count for this page. The value is saved // in this client's session under the name "snoop.count". Integer count = (Integer) session.getAttribute("snoop.count"); if (count == null) { count = 1; } else count = count + 1; session.setAttribute("snoop.count", count); out.println(HtmlWriter.getInstance().getHtmlDoctypeAndOpenTag()); out.println("<HEAD><TITLE>SessionSnoop</TITLE></HEAD>"); out.println("<BODY><H1>Session Snoop</H1>"); // Display the hit count for this page out.println( "You've visited this page " + count + ((!(count.intValue() != 1)) ? " time." : " times.")); out.println("<P>"); out.println("<H3>Here is your saved session data:</H3>"); Enumeration atts = session.getAttributeNames(); while (atts.hasMoreElements()) { String name = (String) atts.nextElement(); out.println(name + ": " + session.getAttribute(name) + "<BR>"); } out.println("<H3>Here are some vital stats on your session:</H3>"); out.println("Session id: " + session.getId() + " <I>(keep it secret)</I><BR>"); out.println("New session: " + session.isNew() + "<BR>"); out.println("Timeout: " + session.getMaxInactiveInterval()); out.println("<I>(" + session.getMaxInactiveInterval() / 60 + " minutes)</I><BR>"); out.println("Creation time: " + session.getCreationTime()); out.println("<I>(" + new Date(session.getCreationTime()) + ")</I><BR>"); out.println("Last access time: " + session.getLastAccessedTime()); out.println("<I>(" + new Date(session.getLastAccessedTime()) + ")</I><BR>"); out.println( "Requested session ID from cookie: " + req.isRequestedSessionIdFromCookie() + "<BR>"); out.println("Requested session ID from URL: " + req.isRequestedSessionIdFromURL() + "<BR>"); out.println("Requested session ID valid: " + req.isRequestedSessionIdValid() + "<BR>"); out.println("<H3>Test URL Rewriting</H3>"); out.println("Click <A HREF=\"" + res.encodeURL(req.getRequestURI()) + "\">here</A>"); out.println("to test that session tracking works via URL"); out.println("rewriting even when cookies aren't supported."); out.println("</BODY></HTML>"); }
/** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // processRequest(request,response); log.info("RedirectServlet"); uploadedFiles = new ArrayList<UploadedXSAMS>(); HttpSession session = request.getSession(); ArrayList<UploadedXSAMS> tempUploadedFiles = (ArrayList<UploadedXSAMS>) session.getAttribute("uploadedFiles"); if (tempUploadedFiles != null) { log.info("tempUploadedFiles is not null: " + tempUploadedFiles.size()); uploadedFiles = tempUploadedFiles; log.info("uploadedFiles is now tempUploadedFiles: " + uploadedFiles.size()); } else { log.info("tempUploadedFiles is null: " + uploadedFiles.size()); } String sessionID = session.getId(); String oldSessionID = (String) request.getAttribute("oldSessionID"); log.info(sessionID + " : " + sessionID); if (oldSessionID != null) { log.info("old Session ID : " + oldSessionID); filteringApplicationProducer.setSessionId(oldSessionID); } if (!request.isRequestedSessionIdFromCookie()) { log.info("Session is from cookies"); } else { log.info("Session is from URL"); } filteringApplicationProducer.setUploadedXSAMS(uploadedFiles); String site = uk.ac.cam.ioa.vamdc.consumer.service.filtering.utility.Locations.getRootLocation(request); String urlOnly = site + "index.jsf"; String urlWithSessionID = response.encodeRedirectURL(site + "index.jsf"); response.encodeRedirectURL(site); response.sendRedirect(urlOnly); log.info("Redirection committed."); }
public boolean isRequestedSessionIdFromCookie() { return request.isRequestedSessionIdFromCookie(); }
public TaskHttpServletRequest(HttpServletRequest wrapping, Task task) { this.session = wrapping.getSession(); String location = wrapping.getParameter("url"); cookies = wrapping.getCookies(); characterEncoding = wrapping.getCharacterEncoding(); authType = wrapping.getAuthType(); headerNames = new Vector<String>(); headers = new MultiMap(); for (Enumeration e = wrapping.getHeaderNames(); e.hasMoreElements(); ) { String headerName = (String) e.nextElement(); for (Enumeration f = wrapping.getHeaders(headerName); f.hasMoreElements(); ) { String headerValue = (String) f.nextElement(); headers.add(headerName, headerValue); } } contextPath = wrapping.getContextPath(); pathInfo = wrapping.getPathInfo(); pathTranslated = wrapping.getPathTranslated(); remoteUser = wrapping.getRemoteUser(); // TODO check if needed requestedSessionId = wrapping.getRequestedSessionId(); // TODO check if needed userPrincipal = wrapping.getUserPrincipal(); // TODO check if needed requestedSessionIdFromCookie = wrapping.isRequestedSessionIdFromCookie(); requestedSessionIdFromURL = wrapping.isRequestedSessionIdFromURL(); requestedSessionIdValid = wrapping.isRequestedSessionIdValid(); localAddr = wrapping.getLocalAddr(); localName = wrapping.getLocalName(); localPort = wrapping.getLocalPort(); locale = wrapping.getLocale(); locales = new Vector<Locale>(); for (Enumeration e = wrapping.getLocales(); e.hasMoreElements(); locales.add((Locale) e.nextElement())) ; protocol = wrapping.getProtocol(); remoteAddr = wrapping.getRemoteAddr(); remoteHost = wrapping.getRemoteHost(); remotePort = wrapping.getRemotePort(); scheme = wrapping.getScheme(); serverName = wrapping.getServerName(); serverPort = wrapping.getServerPort(); secure = wrapping.isSecure(); // Extract the query (everything after ?) int idx = location.indexOf('?'); query = null; if (idx != -1) { query = location.substring(idx + 1); } // Extract the URI (everything before ?) uri = location; if (idx != -1) { uri = uri.substring(0, idx); } // Servlet path (same as URI?) servletPath = uri; // Extract parameters params = new Hashtable<String, String[]>(); if (query != null) { StringTokenizer t = new StringTokenizer(query, "&"); while (t.hasMoreTokens()) { String token = t.nextToken(); idx = token.indexOf('='); String name = token; String val = null; if (idx != -1) { name = token.substring(0, idx); val = token.substring(idx + 1); } else { val = ""; } String[] vals = params.get(name); if (vals == null) { vals = new String[] {val}; } else { String[] nvals = new String[vals.length + 1]; System.arraycopy(vals, 0, nvals, 0, vals.length); nvals[vals.length] = val; vals = nvals; } params.put(name, vals); } } // Initialise attributes attributes = new Hashtable<String, Object>(); // Create the URL (the URL with protocol / host / post) try { URL u = new URL(new URL(wrapping.getRequestURL().toString()), uri); url = new StringBuffer(u.toExternalForm()); } catch (MalformedURLException e) { } setAttribute(ATTR_TASK, task); }