java4all@1986 java. Powered by Blogger.
Showing posts with label Sessions. Show all posts
Showing posts with label Sessions. Show all posts

How do we will create Fake session in our application?

>> Monday, May 30, 2011

the following example describes how to create a fake session.
  
import java.util.Collections;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpSession;

public class FakeHttpSession implements HttpSession
{
    /**
     * Setup the creation time
     */
    public FakeHttpSession()
    {
        creationTime = System.currentTimeMillis();
    }

    /**
     * Setup the creation time
     * @param id The new session id
     */
    public FakeHttpSession(String id)
    {
        this.id = id;
        creationTime = System.currentTimeMillis();
    }

    /* (non-Javadoc)
     * @see javax.servlet.http.HttpSession#getCreationTime()
     */
    public long getCreationTime()
    {
        return creationTime;
    }

    /* (non-Javadoc)
     * @see javax.servlet.http.HttpSession#getId()
     */
    public String getId()
    {
        if (id == null)
        {
            System.out.println("Inventing data in FakeHttpSession.getId() to remain plausible.");
            id = "fake";
        }

        return id;
    }

    /* (non-Javadoc)
     * @see javax.servlet.http.HttpSession#getLastAccessedTime()
     */
    public long getLastAccessedTime()
    {
        return creationTime;
    }

    /* (non-Javadoc)
     * @see javax.servlet.http.HttpSession#getServletContext()
     */
    public ServletContext getServletContext()
    {
        return null;
    }

    /* (non-Javadoc)
     * @see javax.servlet.http.HttpSession#setMaxInactiveInterval(int)
     */
    public void setMaxInactiveInterval(int maxInactiveInterval)
    {
        this.maxInactiveInterval = maxInactiveInterval;
    }

    /* (non-Javadoc)
     * @see javax.servlet.http.HttpSession#getMaxInactiveInterval()
     */
    public int getMaxInactiveInterval()
    {
        return maxInactiveInterval;
    }

    /**
     * @see javax.servlet.http.HttpSession#getSessionContext()
     * @deprecated
     */
    @SuppressWarnings({"UnnecessaryFullyQualifiedName"})
    @Deprecated
    public javax.servlet.http.HttpSessionContext getSessionContext()
    {
        return null;
    }

    /* (non-Javadoc)
     * @see javax.servlet.http.HttpSession#getAttribute(java.lang.String)
     */
    public Object getAttribute(String name)
    {
        return attributes.get(name);
    }

    /* (non-Javadoc)
     * @see javax.servlet.http.HttpSession#getValue(java.lang.String)
     */
    @Deprecated
    public Object getValue(String name)
    {
        return attributes.get(name);
    }

    /* (non-Javadoc)
     * @see javax.servlet.http.HttpSession#getAttributeNames()
     */
    public Enumeration getAttributeNames()
    {
        return Collections.enumeration(attributes.keySet());
    }

    /* (non-Javadoc)
     * @see javax.servlet.http.HttpSession#getValueNames()
     */
    @Deprecated
    public String[] getValueNames()
    {
        return attributes.keySet().toArray(new String[attributes.keySet().size()]);
    }

    /* (non-Javadoc)
     * @see javax.servlet.http.HttpSession#setAttribute(java.lang.String, java.lang.Object)
     */
    public void setAttribute(String name, Object value)
    {
        attributes.put(name, value);
    }

    /* (non-Javadoc)
     * @see javax.servlet.http.HttpSession#putValue(java.lang.String, java.lang.Object)
     */
    @Deprecated
    public void putValue(String name, Object value)
    {
        attributes.put(name, value);
    }

    /* (non-Javadoc)
     * @see javax.servlet.http.HttpSession#removeAttribute(java.lang.String)
     */
    public void removeAttribute(String name)
    {
        attributes.remove(name);
    }

    /* (non-Javadoc)
     * @see javax.servlet.http.HttpSession#removeValue(java.lang.String)
     */
    @Deprecated
    public void removeValue(String name)
    {
        attributes.remove(name);
    }

    /* (non-Javadoc)
     * @see javax.servlet.http.HttpSession#invalidate()
     */
    public void invalidate()
    {
    }

    /* (non-Javadoc)
     * @see javax.servlet.http.HttpSession#isNew()
     */
    public boolean isNew()
    {
        return true;
    }

    /**
     * The session id
     */
    private String id = null;

    /**
     * The list of attributes
     */
    private Map attributes = new HashMap();

    /**
     * When were we created
     */
    private long creationTime;

    /**
     * How long before we timeout?
     */
    private int maxInactiveInterval = 30 * 60 * 1000;

}

   

Read more...

What are the Http Session Methods?

The below are the HttpSession methods ..
1.) getCreationTime()
    Returns the time at which this session representation
was created, in milliseconds since midnight, January 1, 1970
UTC.
2.) getId()
    Returns the identifier assigned to this session.
3.) getLastAccessedTime()
    Returns the last time the client sent a request carrying
the identifier assigned to the session.
4.) getMaxInactiveInterval()

    Returns the session-timeout in seconds.
5.) getSessionContext()
    Returns the context in which this session is bound.
Deprecated.
5.) getValue(String)
    Returns the object bound to the given name in the
session's application layer data.
6.) getValueNames()
    Returns an array of the names of all the application
layer data objects bound into the session.
7.) invalidate()
    Causes this representation of the session to be
invalidated and removed from its context.
8.) isNew()
    A session is considered to be "new" if it has been
created by the server, but the client has not yet
acknowledged joining the session.
9.) putValue(String, Object)
    Binds the specified object into the session's
application layer data with the given name.
10.) removeValue(String)

    Removes the object bound to the given name in the
session's application layer data.
11.) setMaxInactiveInterval(int)
    Sets the maximum interval between requests that this
session will be kept by the host server.

Read more...

How to create session Logger or how to get the session id?

To create session logger We need Logger from apache.
   look at the below example
 we will get log4j proreties from  http://javabysantosh.blogspot.com/search/label/Log4J
after that
     
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;

import javax.servlet.*;
import javax.servlet.http.*;

public class SessionLogger implements HttpSessionListener {

  private Logger log;

  public SessionLogger() {

    /*
     * The loggers are typically initialized by a special initialization
     * listener or servlet. If this is not the case, then initialize the
     * logger here:
     * 
     * java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle(
     * "com.java2s.global");
     * PropertyConfigurator.configure(bundle.getString(
     * "log-configure-path"));
     */

    log = Logger.getLogger(SessionLogger.class);

  }

  public void sessionCreated(HttpSessionEvent se) {

    //log request of the INFO level
    log.info("HttpSession created: " + se.getSession().getId());

  }

  public void sessionDestroyed(HttpSessionEvent se) {

    //log request about session's that are invalidated
    log.info("HttpSession invalidated: " + se.getSession().getId());

  }

}
 

The following are the HttpSession Methods
1.) getCreationTime()
Returns the time at which this session representation
was created, in milliseconds since midnight, January 1, 1970
UTC.
2.) getId()
Returns the identifier assigned to this session.
3.) getLastAccessedTime()
Returns the last time the client sent a request carrying
the identifier assigned to the session.
4.) getMaxInactiveInterval() 
to return session time-out  in seconds
5.)getSessionContext()
Returns the context in which this session is bound.
Deprecated.
5.) getValue(String)
Returns the object bound to the given name in the
session's application layer data.
6.) getValueNames()
Returns an array of the names of all the application
layer data objects bound into the session.
7.) invalidate()
Causes this representation of the session to be
invalidated and removed from its context.
8.) isNew()
A session is considered to be "new" if it has been
created by the server, but the client has not yet
acknowledged joining the session.
9.) putValue(String, Object)
Binds the specified object into the session's
application layer data with the given name.
10.) removeValue(String)
Removes the object bound to the given name in the
session's application layer data.
11.) setMaxInactiveInterval(int)
Sets the maximum interval between requests that this
session will be kept by the host server.

Read more...

In servlet how to increase session time-out programitacally?

Session:It is the time duration,which starts the starting point of client to server conversation and which terminates the end point of server to client conversation.


Example:
    
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class SimpleSession extends HttpServlet {

  public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, java.io.IOException {

    response.setContentType("text/html");
    java.io.PrintWriter out = response.getWriter();
    HttpSession session = request.getSession();
  Start body tag

    out.println("

Session Info

"); out.println("session Id: " + session.getId() + "

"); out.println("The SESSION TIMEOUT period is " + session.getMaxInactiveInterval() + " seconds.

"); out.println("Now changing it to 20 minutes.

"); session.setMaxInactiveInterval(20 * 60);//it can be used to set session programitically out.println("The SESSION TIMEOUT period is now " + session.getMaxInactiveInterval() + " seconds."); end body tag } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException { doGet(request, response); } }

Read more...

Where we will maintain the Session timout in our application?

In our application we will maintain the session time-out in web.XML file under session-config tag,the below code explain ....
<web-app>
  <session-config>
    <session-timeout>120<session-timeout>
  <session-config>
<web-app>

Read more...

FaceBook Login

HTML/JAVASCRIPT

HTML/JAVASCRIPT

HTML/JAVASCRIPT

HTML/JAVASCRIPT

Total Pageviews

STATCOUNTER

  © Blogger template Simple n' Sweet by Ourblogtemplates.com 2009

Back to TOP