1. Initialising Servlet
    1. Life Cycle
      1. Instantiation
      2. Initialisation
      3. Service
      4. Destroy
      5. Unavailable
    2. ServletConfig
      1. Methods
        1. getServletName()
        2. getInitParameter()
        3. getServletContext()
    3. Initialising Servlet
      1. web.xml
  2. ServletContext
    1. All servlet in an app
    2. Methods
      1. getAttribute()
      2. setAttribute()
    3. ServletContextListener
      1. contextInitialized()
      2. contextDestroyed()
      3. java.util.EventListener
    4. ServletContextEvent
      1. java.util.EventObject
      2. getServletContext()
    5. ServletContextAttributeListener
      1. attributeAdded()
      2. attributeRemoved()
      3. attributeReplaced()
    6. ServletContextAttributeEvent
      1. getName()
      2. getValue()
  3. ServletRequest
    1. About Server
      1. getServletContext()
        1. getServerInfo()
        2. getAttribute()
    2. About Client
      1. getHeader()
      2. getRemoteUser()
      3. getRemoteHost()
    3. Sharing
      1. RequestDispatcher
        1. forward()
        2. insert()
  4. RequestDispatcher
    1. Include Resources
      1. forward()
      2. include()
    2. 3 types
      1. manipulation
      2. reuse
      3. collaboration
  5. Error Handling
    1. Reporting Errors
      1. sendError()
      2. setStatus()