Package com.planet_ink.coffee_web.interfaces

Examples of com.planet_ink.coffee_web.interfaces.SimpleServletSession


   * @param servletResponse the response to prep, if its found.
   * @return the session found or created
   */
  private SimpleServletSession getServletSession(HTTPRequest request, ServletResponse servletResponse)
  {
    SimpleServletSession session;
    final String oldSessionID=request.getCookie("cwsessid");
    if(oldSessionID == null)
    {
      session = config.getSessions().createSession(request);
      servletResponse.setCookie("cwsessid", session.getSessionId());
    }
    else
    {
      session = config.getSessions().findOrCreateSession(oldSessionID);
    }
View Full Code Here


   */
  private DataBuffers executeServlet(HTTPRequest request, final Class<? extends SimpleServlet> servletClass) throws HTTPException
  {
    // servlet found -- full stream ahead </pun>
    final ServletResponse servletResponse = new ServletResponse(); // generate a response object
    final SimpleServletSession session=getServletSession(request, servletResponse); // get or create a session object
    final SimpleServletRequest servletRequest = new ServletRequest(session, request);
    try
    {
      final RequestStats stats = config.getServletMan().getServletStats(servletClass);
      final long startTime = System.nanoTime(); // for stat keeping
      try
      {
        stats.startProcessing(); // synchronization is not required, so long as endProcessing is always called
        final SimpleServlet servletInstance = servletClass.newInstance(); // instantiate a new servlet instance!
        if(request.getMethod() == HTTPMethod.GET)
          servletInstance.doGet(servletRequest, servletResponse);
        else
        if(request.getMethod() == HTTPMethod.POST)
          servletInstance.doPost(servletRequest, servletResponse);
        servletInstance.service(request.getMethod(), servletRequest, servletResponse);
        return servletResponse.generateOutput(request); // the generated output, yea!
      }
      finally
      {
        session.touch();
        stats.endProcessing(System.nanoTime() - startTime);
        lastHttpStatusCode=servletResponse.getStatusCode();
      }
    }
    catch (final HTTPException e)
View Full Code Here

  public void doGet(SimpleServletRequest request, SimpleServletResponse response)
  {
    try
    {
      response.setMimeType(MIMEType.html.getType());
      final SimpleServletSession session = request.getSession();
      response.getOutputStream().write("<html><body>".getBytes());
      response.getOutputStream().write(("<h1>Hello Session#"+session.getSessionId()+"</h1>").getBytes());
      final String lastTouch = DateFormat.getDateTimeInstance().format(new Date(session.getSessionLastTouchTime()));
      response.getOutputStream().write(("Last request was at: "+lastTouch+"<br>").getBytes());
      final String firstTouch = DateFormat.getDateTimeInstance().format(session.getSessionStart());
      response.getOutputStream().write(("First request was at: "+firstTouch+"<br>").getBytes());
      if(session.getUser().length()==0)
        session.setUser("BOB the "+this.hashCode());
      response.getOutputStream().write(("Your user name is: "+session.getUser()+"<br>").getBytes());
      response.getOutputStream().write("</body></html>".getBytes());
    }
    catch (final IOException e)
    {
      response.setStatusCode(500);
View Full Code Here

   * @param sessionID the id of the session
   */
  @Override
  public SimpleServletSession findOrCreateSession(String sessionID)
  {
    SimpleServletSession session = sessions.get(sessionID);
    if(session != null) return session;
    session = new ServletSession(sessionID);
    synchronized(sessions)
    {
      sessions.put(sessionID, session);
View Full Code Here

      final long idleExpireTime=currentTime - config.getSessionMaxIdleMs();
      final Date ageExpireTime=new Date(currentTime - config.getSessionMaxAgeMs());
      for(final Iterator<String> s=sessions.keySet().iterator();s.hasNext();)
      {
        final String sessionID=s.next();
        final SimpleServletSession session=sessions.get(sessionID);
        if((session.getSessionLastTouchTime() < idleExpireTime)
        ||(session.getSessionStart().before(ageExpireTime)))
        {
          s.remove();
        }
      }
    }
View Full Code Here

      }
    }catch(final Exception e)
    {
      config.getLogger().throwing("", "", e);
    }
    final SimpleServletSession newSession = new ServletSession(sessionID);
    synchronized(sessions)
    {
      sessions.put(sessionID, newSession);
      return newSession;
    }
View Full Code Here

TOP

Related Classes of com.planet_ink.coffee_web.interfaces.SimpleServletSession

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.