1. Session Tracking
    1. Stateless nature of HTTP
    2. Session tracking
  2. Techniques
    1. URL Rewriting
      1. URL (Uniform Resource Locator)
    2. Hidden Form Field
      1. request.getParameter()
  3. Cookies
    1. name-value pair
    2. javax.servlet.http.Cookie
    3. Methods
      1. getMaxAge()
      2. getValue()
      3. getPath()
      4. getName()
      5. setMaxAge()
      6. setValue()
      7. setpath()
    4. Sending Cookies
      1. response.addCookie()
  4. HttpSession
    1. Methods
      1. getAttribute()
      2. getId()
      3. getMaxInactiveInterval()
      4. getServletContext()
      5. invalidate()
      6. isNew()
      7. setAttribute()
      8. removeAttribute()
      9. setMaxInactiveInterval()
    2. Invalidate a Session
    3. Session Timeout
      1. <session-config> > <session-timeout>
  5. Event Handling
    1. HttpSessionAttributeListener
      1. Methods
        1. attributeAdded()
        2. attributeRemoved()
        3. attributeReplaced()
    2. HttpSessionBindingListener
      1. Methods
        1. valueBound()
        2. valueUnbound()
    3. HttpSessionBindingEvent
      1. getName()
      2. getSession()
      3. getValue()
    4. HttpSessionListener
      1. sessionCreated()
      2. sessionDestroyed()