Chapter: Java The Complete Reference - Applying Java - Introducing Servlets

| Study Material, Lecturing Notes, Assignment, Reference, Wiki description explanation, brief detail |

Session Tracking - Servlets

HTTP is a stateless protocol. Each request is independent of the previous one. However, in some applications, it is necessary to save state information so that information can be collected from several interactions between a browser and a server.

Session Tracking

 

HTTP is a stateless protocol. Each request is independent of the previous one. However, in some applications, it is necessary to save state information so that information can be collected from several interactions between a browser and a server. Sessions provide such a mechanism.

 

A session can be created via the getSession( ) method of HttpServletRequest. An HttpSession object is returned. This object can store a set of bindings that associate names with objects. The setAttribute( ), getAttribute( ), getAttributeNames( ), and removeAttribute( ) methods of HttpSession manage these bindings. Session state is shared by all servlets that are associated with a client.

The following servlet illustrates how to use session state. The getSession( ) method gets the current session. A new session is created if one does not already exist. The getAttribute( ) method is called to obtain the object that is bound to the name "date". That object is a Date object that encapsulates the date and time when this page was last accessed. (Of course, there is no such binding when the page is first accessed.) A Date object encapsulating the current date and time is then created. The setAttribute( ) method is called to bind the name "date" to this object.

 

 

import java.io.*; import java.util.*; import javax.servlet.*;

import javax.servlet.http.*;

 

public class DateServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)

 

throws ServletException, IOException {

 

     Get the HttpSession object.

 

HttpSession hs = request.getSession(true);

 

     //Get writer.

     response.setContentType("text/html");

     PrintWriter pw = response.getWriter(); pw.print("<B>");

 

     //Display date/time of last access.

 

Date date = (Date)hs.getAttribute("date"); if(date != null) {

pw.print("Last access: " + date + "<br>");

 

}

 

// Display current date/time.

date = new Date(); hs.setAttribute("date", date);

pw.println("Current date: " + date);

 

}

 

}

 

When you first request this servlet, the browser displays one line with the current date and time information. On subsequent invocations, two lines are displayed. The first line shows the date and time when the servlet was last accessed. The second line shows the current date and time.

 

Study Material, Lecturing Notes, Assignment, Reference, Wiki description explanation, brief detail


Copyright © 2018-2020 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.