• Skip to main content
  • Skip to primary sidebar
  • Skip to secondary sidebar
  • Skip to footer

Computer Notes

Library
    • Computer Fundamental
    • Computer Memory
    • DBMS Tutorial
    • Operating System
    • Computer Networking
    • C Programming
    • C++ Programming
    • Java Programming
    • C# Programming
    • SQL Tutorial
    • Management Tutorial
    • Computer Graphics
    • Compiler Design
    • Style Sheet
    • JavaScript Tutorial
    • Html Tutorial
    • Wordpress Tutorial
    • Python Tutorial
    • PHP Tutorial
    • JSP Tutorial
    • AngularJS Tutorial
    • Data Structures
    • E Commerce Tutorial
    • Visual Basic
    • Structs2 Tutorial
    • Digital Electronics
    • Internet Terms
    • Servlet Tutorial
    • Software Engineering
    • Interviews Questions
    • Basic Terms
    • Troubleshooting
Menu

Header Right

Home » Servlet » Session » HttpSession in Servlet Java Example
Next →
← Prev

HttpSession in Servlet Java Example

By Dinesh Thakur

HTTP is a stateless protocol; each time a client requests for a page, a separate connection is established between the client and the server. Thus, it provides no way for a server to maintain information for a particular user across multiple requests. There are many web applications where it is required to maintain this information. For example, in case of shopping cart, it is required to keep track of the list of items that are added in each user’s cart. For this, the server must provide a way to store data for each client and distinguish clients from one another.

Session provides such mechanism. A session consists of all the requests that are made during invocation of a single browser. The servlet manages the session using HttpSession interface. Using this interface, a session can be created between an HTTP client and an HTTP server. This session exists for a specified period of time across a sequence of requests from a user.

A servlet to keep track of the number of times a user has visited a site during the current session using interface HttpSession

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

import java.util.*;

public class SessionTrackingExample extends HttpServlet

{

    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException

   {

       HttpSession session= request.getSession(true);

       // Create a session object if does not exist

       Date createTime =new Date(session.getCreationTime());

       // Get session creation time

       Date lastAccessTime = new Date(session.getLastAccessedTime());

       // Get sessions last access time

       String title = “Welcome Back !”;

       Integer visitCounter =new Integer(0);

       String userID =new String(“xyz”);

       if (session.isNew())

          {

               title= “Welcome !”;

               session.setAttribute(“userID”, userID);

          }

          else

             {

                 visitCounter = (Integer) session.getAttribute(“visitCount”);

                 visitCounter = visitCounter + 1;

                 userID = (String)session.getAttribute(“userID”);

             }

             session.setAttribute(“visitCount”, visitCounter);

             // Check if this is new Visitor

             response.setContentType(“text/html”);

             PrintWriter out= response.getWriter();

             out.println(“<html>\n” +”<head><title>” + title+

             “</title></head>\n” + “<body\”>\n” +

             “<h1 align=\”center \”>”+title + “</h1>\n” +

             “<h2 align=\”center\”>Session Details</h2>\n” +

             “<table border=\”1\” align=\”center\”>\n” + 

             “<tr\”>\n” +

             “<th>Session info</th><th>value</th></tr>\n”+

             “<tr>\n” + ” <td>Id</td>\n” +

             “<td>” + session.getId() + “</td></tr>\n” +

             “<tr>\n” +” <td>Session Creation Time</td>\n” +

             “<td>” + createTime + ” </td></tr>\n” +

             “<tr>\n” + ” <td>Last Accessed at</td>\n” +

             “<td>” + lastAccessTime + ” </td></tr>\n” +

             “<tr>\n” + ” <td>Visitor ID</td>\n” +

             “<td>” + userID + ” </td></tr>\n” +

             “<tr>\n” + ” <td>Number of visits</td>\n” +

             “<td>” + visitCounter + “</td></tr>\n” + 

             “</table>\n” + “</body></html>”);

     }

}

In this example, a session is created using the getSession () method of HttpServletRequest interface. The single parameter to this method indicates that a new session must be created if it does not exist. This method returns an HttpSession object. To access the properties of session including the session identifier, different methods, namely, getCreationTime(), lastAccessTime(), SetAttribute(), getAttribute(), and get Id ()are invoked using the session object.

Compile the servlet SessionTrackingExample and create appropriate entry in web.xml file. Type the URL https://ecomputernotes.com:8080/SessionTrackingExample in the browser. On first run, it will display the output shown in Figure

               Output Generated by SessionTrackingExample Servlet

You’ll also like:

  1. What is the Servlet container raises the life cycle events in servlet program?
  2. Java Servlet UCASE Query
  3. MySql COT Function in Java Servlet Example
  4. MYSQL DAYNAME() in Java servlet
  5. MySql Elt Function in Java Servlet
Next →
← Prev
Like/Subscribe us for latest updates     

About Dinesh Thakur
Dinesh ThakurDinesh Thakur holds an B.C.A, MCDBA, MCSD certifications. Dinesh authors the hugely popular Computer Notes blog. Where he writes how-to guides around Computer fundamental , computer software, Computer programming, and web apps.

Dinesh Thakur is a Freelance Writer who helps different clients from all over the globe. Dinesh has written over 500+ blogs, 30+ eBooks, and 10000+ Posts for all types of clients.


For any type of query or something that you think is missing, please feel free to Contact us.


Primary Sidebar

SQL Tutorials

SQL Tutorials

  • SQL - Home
  • SQL - Select
  • SQL - Create
  • SQL - View
  • SQL - Sub Queries
  • SQL - Update
  • SQL - Delete
  • SQL - Order By
  • SQL - Select Distinct
  • SQL - Group By
  • SQL - Where Clause
  • SQL - Select Into
  • SQL - Insert Into
  • SQL - Sequence
  • SQL - Constraints
  • SQL - Alter
  • SQL - Date
  • SQL - Foreign Key
  • SQL - Like Operator
  • SQL - CHECK Constraint
  • SQL - Exists Operator
  • SQL - Drop Table
  • SQL - Alias Syntax
  • SQL - Primary Key
  • SQL - Not Null
  • SQL - Union Operator
  • SQL - Unique Constraint
  • SQL - Between Operator
  • SQL - Having Clause
  • SQL - Isnull() Function
  • SQL - IN Operator
  • SQL - Default Constraint
  • SQL - Minus Operator
  • SQL - Intersect Operator
  • SQL - Triggers
  • SQL - Cursors

Advanced SQL

  • SQL - Joins
  • SQL - Index
  • SQL - Self Join
  • SQL - Outer Join
  • SQL - Join Types
  • SQL - Cross Join
  • SQL - Left Outer Join
  • SQL - Right Join
  • SQL - Drop Index
  • SQL - Inner Join
  • SQL - Datediff() Function
  • SQL - NVL Function
  • SQL - Decode Function
  • SQL - Datepart() Function
  • SQL - Count Function
  • SQL - Getdate() Function
  • SQL - Cast() Function
  • SQL - Round() Function

Other Links

  • SQL - PDF Version

Footer

Basic Course

  • Computer Fundamental
  • Computer Networking
  • Operating System
  • Database System
  • Computer Graphics
  • Management System
  • Software Engineering
  • Digital Electronics
  • Electronic Commerce
  • Compiler Design
  • Troubleshooting

Programming

  • Java Programming
  • Structured Query (SQL)
  • C Programming
  • C++ Programming
  • Visual Basic
  • Data Structures
  • Struts 2
  • Java Servlet
  • C# Programming
  • Basic Terms
  • Interviews

World Wide Web

  • Internet
  • Java Script
  • HTML Language
  • Cascading Style Sheet
  • Java Server Pages
  • Wordpress
  • PHP
  • Python Tutorial
  • AngularJS
  • Troubleshooting

 About Us |  Contact Us |  FAQ

Dinesh Thakur is a Technology Columinist and founder of Computer Notes.

Copyright © 2025. All Rights Reserved.

APPLY FOR ONLINE JOB IN BIGGEST CRYPTO COMPANIES
APPLY NOW