Interface HttpSession


public interface HttpSession
A HttpSession holds session-dependant data on the server side. A servlet can request the servlet by using HttpServletRequest.getSession(...)

The handling of the Session objects is a job done by the server and servlets together.

As follows:
The server maintaines the set of HttpSessions.
The server creates HttpSession on request by a servlet
The server removes all invalidated HttpSessions
The server connects an incoming request with its HttpSession (usually done using cookies)
Servlets manipulate the contents of the HttpSession by adding and removing items.
Servlets ask the server to remove HttpSessions by invalidating them
Since:
Servlet API 2.0
Version:
Servlet API 2.2
  • Method Details

    • getCreationTime

      long getCreationTime() throws IllegalStateException
      Gets this session's creation time in seconds since january 1st 1970.
      Returns:
      a number of seconds
      Throws:
      IllegalStateException - if the session has been invalidated.
      Since:
      Servlet API 2.0
    • getId

      Gets the unique session id. Every HttpSession has a Id that is unique for this (virtual) http server.
      Returns:
      The Id
      Throws:
      IllegalStateException - if the session has been invalidated.
      Since:
      Servlet API 2.0
    • getLastAccessedTime

      long getLastAccessedTime() throws IllegalStateException
      Gets the number of seconds since the previous access of this session. Every time a client's request comes in the server checks (usually by using cookies) which HttpSession object corresponds with this particular client. The server then sets the lastAccessedTime to the current time. (And the isNew flag to false.) If the client has never requested anything with this Session then this method returns -1
      Returns:
      number of seconds since last access or -1
      Throws:
      IllegalStateException - if the session has been invalidated.
      Since:
      Servlet API 2.0
    • getMaxInactiveInterval

      int getMaxInactiveInterval() throws IllegalStateException
      Returns the minimum time this session will be kept alive by the server when it doesn't get accessed by a client.
      Throws:
      IllegalStateException
      Since:
      Servlet API 2.1
    • getValue

      Object getValue(String name) throws IllegalStateException
      Gets a object from the set of name/value pairs in the session.
      Parameters:
      name - the name of the item required
      Returns:
      the value of the item. null if not present.
      Throws:
      IllegalStateException - if the session has been invalidated.
      Since:
      Servlet API 2.0
    • getValueNames

      String[] getValueNames() throws IllegalStateException
      Get a list of all item names in the session.
      Returns:
      An array of Strings containing all item names.
      Throws:
      IllegalStateException - if the session has been invalidated.
      Since:
      Servlet API 2.0
    • invalidate

      void invalidate() throws IllegalStateException
      Make this HttpSession unavailable for use by other servlets and tell the server to remove this session. All values bound to this session with putValue() that implement HttpSessionBindingListener will be called with valueUnbound(). Also: make it throw an IllegalStateException when a servlet tries to execute one of its methods.
      Throws:
      IllegalStateException - if the session has been invalidated.
      Since:
      Servlet API 2.0
    • isNew

      boolean isNew() throws IllegalStateException
      Returns whether this session has been freshly created. A servlet can ask the server to give the HttpSession connected with this request/client. The Servlet can use this method to check whether the HttpSession has been newly created or if a HttpSession had already been created for a previous request.
      Returns:
      Whether this is a new HttpSession
      Throws:
      IllegalStateException - if the session has been invalidated.
      Since:
      Servlet API 2.0
    • putValue

      void putValue(String name, Object value) throws IllegalStateException
      Puts a name and value in the HttpSession. If the Object implements HttpSessionBindindListener then the valueBound() method of the Object will be called.
      Parameters:
      name - the name of the item
      value - the value of the item
      Throws:
      IllegalStateException - if the session has been invalidated.
      Since:
      Servlet API 2.0
    • removeValue

      void removeValue(String name) throws IllegalStateException
      Removes an item from the session. If the Object implements HttpSessionBindindListener then the valueUnBound() method of the Object will be called.
      Parameters:
      name - the name of the item.
      Throws:
      IllegalStateException - if the session has been invalidated.
      Since:
      Servlet API 2.0
    • setMaxInactiveInterval

      void setMaxInactiveInterval(int interval) throws IllegalStateException
      Sets the minimum time this session will be kept alive by the server when it doesn't get accessed by a client.
      Note: hmmm, should an interval of -1 mean that it should live forever?
      Parameters:
      interval - Probably seconds or -1 if never
      Throws:
      IllegalStateException
      Since:
      Servlet API 2.1
    • getAttribute

      Object getAttribute(String name)
      XXX
      Since:
      Servlet API 2.2
    • getAttributeNames

      Enumeration getAttributeNames()
      XXX
      Since:
      Servlet API 2.2
    • setAttribute

      void setAttribute(String name, Object value)
      XXX
      Since:
      Servlet API 2.2
    • removeAttribute

      void removeAttribute(String name)
      XXX
      Since:
      Servlet API 2.2
    • getSessionContext

      HttpSessionContext getSessionContext() throws IllegalStateException
      Deprecated.
      HttpSessionContext has been depricated for security reasons.
      Gets this HttpSession's context. The context contains information that is the same for all HttpSessions for this (virtual) host.
      Returns:
      The context
      Throws:
      IllegalStateException - if the session has been invalidated.
      Since:
      Servlet API 2.0