com.ibm.dse.cs.servlet
Class CSEstablishSessionServlet

java.lang.Object
  |
  +--javax.servlet.GenericServlet
        |
        +--javax.servlet.http.HttpServlet
              |
              +--com.ibm.dse.cs.servlet.CSReqServlet
                    |
                    +--com.ibm.dse.cs.servlet.CSEstablishSessionServlet
Direct Known Subclasses:
CSAssignServiceIdAndServerTIDProtocolServlet, XmlEstablishSessionServlet

public class CSEstablishSessionServlet
extends CSReqServlet

The CSEstablishSessionServlet extends CSReqServlet class

This servlet defines the front door for all devices supporting the HTTP protocol and should be invoked to establish the session between the client and the server.

See Also:
Serialized Form

Fields inherited from class com.ibm.dse.cs.servlet.CSReqServlet
sessionAffinity, sessionPersistence
 
Constructor Summary
CSEstablishSessionServlet()
          CSEstablishSessionServlet constructor.
 
Method Summary
 void preProcessRequest(ChannelContext channelContext)
          Perform the session managment required to support HTTP and custom session management.
protected  void service(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res)
          Define the process flow to execute a request.
 
Methods inherited from class com.ibm.dse.cs.servlet.CSReqServlet
createChannelContext, createChannelHandler, createSessionEntry, getDeviceType, getPresentationHandler, getRequestHandler, getSessionAffinity, getSessionPersistence, handleException, handleException, handleServerResponse, parseRequestData, parseRequestHeader, removeSessionEntry, retrieve, retrieveWithoutSessionAffinity, retrieveWithSessionAffinity, runInSession, setSessionAffinity, setSessionAffinity, setSessionPersistence, setSessionPersistence, store, updateChannelHandler, usingCookies
 
Methods inherited from class javax.servlet.http.HttpServlet
doDelete, doGet, doOptions, doPost, doPut, doTrace, getLastModified, service
 
Methods inherited from class javax.servlet.GenericServlet
destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, init, log, log
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CSEstablishSessionServlet

public CSEstablishSessionServlet()
CSEstablishSessionServlet constructor.
Method Detail

preProcessRequest

public void preProcessRequest(ChannelContext channelContext)
                       throws DSECSSessionNotEstablishedException
Perform the session managment required to support HTTP and custom session management.

Update the ChannelContext with the session

Must provide support for using cookies and hidden form field to manage the session.

  1. Create the session if the request is for a new session
  2. Create an HttpSession if using cookies else create a DSEChannelSession
  3. First check to determine if the request is for a new or existing session.
  4. Session is new if the header or the data contains a "newsession" tag with the value=true
  5. Create an entry in the sessions table when creating a new session.
Overrides:
preProcessRequest in class CSReqServlet
Parameters:
channelContext - com.ibm.dse.clientserver.ChannelContext

service

protected void service(javax.servlet.http.HttpServletRequest req,
                       javax.servlet.http.HttpServletResponse res)
                throws javax.servlet.ServletException,
                       java.io.IOException
Define the process flow to execute a request. This method is the entry point for each request coming to this servlet.
Overrides:
service in class CSReqServlet
Parameters:
req - HttpServletRequest
res - HttpServletResponse
Throws:
javax.servlet.ServletException -  
java.io.IOException -