Skip to main content

Session Management using servlet


Session management is the process of keeping track of the activities of a user across
Web pages. Consider an example of an online shopping mall. The user can choose a
product and add it to the shopping cart. When the user moves to a different page, the
details in the shopping cart are still retained, so that the user can check the items in
  1. Messenger service in which the user name and the password are saved and displayed automatically as soon as you visit a web site.
  2. Some of the web sites track your email id and automatically start sending free subscription of their newsletters to the mail address.
Session Management Techniques:HTTP is a stateless protocol and therefore cannot store the information about the user
activities across Web pages. However, there are certain techniques that helps store
the user information across Web pages using HTTP protocol. The techniques that you
can use to maintain the session information are:
    1)Hidden form field
    2)URL rewriting
    3)Cookies
    4)Servlet session API
Using Cookies
Cookies are small text files that are stored by an application server in the client
browser to keep track of all the users. A cookie has values in the form of name/value pairs.
Note:Cookies will not work if they are disabled in the browser.
Jsp Page:index.jsp
<%-- 
    Document   : index
    Created on : Feb 28, 2012, 3:32:07 PM
    Author     : dell_pc
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <h1>Access Servlet by servlet's Name!</h1>
       
        <a href="CookieServlet">CookieServlet</a><br>
        <a href="SessionTrackerServlet">SessionTrackerServlet</a><br>
        
     </body>
</html>

Servlet:CookieServlet
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package servlet;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author dell_pc
 */
public class CookieServlet extends HttpServlet {
private Cookie cookie;

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
/* TODO output your page here */
out.println("<html>");
out.println("<head>");
out.println("<title>" + getServletInfo() + "</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Servlet CookieServlet at " + request.getContextPath() + "</h1>");
out.println("<form name=\"form\" action=\"CookieServlet\" method=\"POST\">");
out.println("<BR>Username:");
out.println("<input type=\"text\" name=\"user\" value=\"\" size=\"20\" />");
out.println("<BR>Password :");
out.println("<input type=\"password\" name=\"pass\" value=\"\" size=\"20\" />");
out.println("<BR> <input type=\"submit\" value=\"Submit Form\" name=\"submit\" />");
out.println("<input type=\"reset\" value=\"Reset \" />");
out.println("</form>");
out.println("</body>");
out.println("</html>");
} finally {
out.close();
}
}


    @Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}


    @Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// processRequest(request, response);
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
// get value form TextField
String username = request.getParameter("user");
String password = request.getParameter("pass");
// User don't allow to leave any textfield empty
if ((!username.equals("") && (!password.equals("")))) {
String cookieValue = username + " " + password;
cookie = new Cookie("cookiee", cookieValue); // initialize cookie
cookie.setMaxAge(100);                                                                                                                                     // set cookie max age
cookie.setVersion(1);                                                                                                                                           // set cookie version
response.addCookie(cookie);
out.println("<html>");
out.println("<head>");
out.println("<title>" + getServletInfo() + "</title>");
out.println("</head>");
out.println("<body>");
// retrive cookiee value and display cookiee information
out.println("<b>Data successfully add into cookiee</b>");
out.println("<br>Cookiee Name: " + cookie.getName());
out.println("<br>Cookiee Value : " + cookie.getValue());
out.println("<br>Cookiee Version : " + cookie.getVersion());
out.println("</body>");
out.println("</html>");
} else {
out.println("Please don't leave any textfield empty!");
out.println("<BR><a href=\"CookieServlet\">Return to home Page</a>");
}
out.close(); //close text-output stream
}


    @Override
public String getServletInfo() {
return "CookieServlet";
}
}

Output:

jsp

cookies


servletout

Technorati Tags: ,

Comments

Popular posts from this blog

WAP to calculate the monthly telephone bills as per the following rule: Minimum Rs. 200 for upto 100 calls. Plus Rs. 0.60 per call for next 50 calls. Plus Rs. 0.50 per call for next 50 calls. Plus Rs. 0.40 per call for any call beyond 200 calls.

  #include<iostream.h> #include<conio.h> void main() { int calls; float bill; cout<<" Enter number of calls : "; cin>>calls; if (calls<=100) bill=200; else if (calls>100 && calls<=150) { calls=calls-100; bill=200+(0.60*calls); } else if (calls>150 && calls<=200) { calls=calls-150; bill=200+(0.60*50)+(0.50*calls); } else { calls=calls-200; bill=200+(0.60*50)+(0.50*50)+(0.40*calls); } cout<<" Your bill is Rs. "<<bill; getch(); }   Output: Enter number of calls : 190 Your bill is Rs.250

Write a program to calculate the total expenses. Quantity and price per item are input by the user and discount of 10% is offered if the expense is more than 7000.

  #include<iostream.h> #include<conio.h> void main() { int totalexp, qty, price, discount; cout<<" Enter quantity: "; cin>>qty; cout<<" Enter price: "; cin>>price; totalexp=qty*price; if (totalexp>7000) { discount=(totalexp*0.1); totalexp=totalexp-discount; } cout<<" Total Expense is Rs. "<<totalexp; getch(); }