<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FServlet%2FSession</id>
		<title>Java Tutorial/Servlet/Session - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FServlet%2FSession"/>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/Servlet/Session&amp;action=history"/>
		<updated>2026-04-07T20:24:47Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://jexp.ru/index.php?title=Java_Tutorial/Servlet/Session&amp;diff=4904&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/Servlet/Session&amp;diff=4904&amp;oldid=prev"/>
				<updated>2010-06-01T05:06:56Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 05:06, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://jexp.ru/index.php?title=Java_Tutorial/Servlet/Session&amp;diff=4903&amp;oldid=prev</id>
		<title> в 17:44, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/Servlet/Session&amp;diff=4903&amp;oldid=prev"/>
				<updated>2010-05-31T17:44:27Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==  Get Set SessionAttributes in Servlet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.*;&lt;br /&gt;
import java.io.*;&lt;br /&gt;
import javax.servlet.*;&lt;br /&gt;
import javax.servlet.http.*;&lt;br /&gt;
public class MyServlet extends HttpServlet {&lt;br /&gt;
   &lt;br /&gt;
  public void doGet(HttpServletRequest req, HttpServletResponse res)&lt;br /&gt;
                               throws ServletException, IOException {&lt;br /&gt;
    res.setContentType(&amp;quot;text/html&amp;quot;);&lt;br /&gt;
    PrintWriter out = res.getWriter();&lt;br /&gt;
    HttpSession session = req.getSession();&lt;br /&gt;
    Integer count = (Integer)session.getAttribute(&amp;quot;tracker.count&amp;quot;);&lt;br /&gt;
    if (count == null)&lt;br /&gt;
      count = new Integer(1);&lt;br /&gt;
    else&lt;br /&gt;
      count = new Integer(count.intValue() + 1);&lt;br /&gt;
    session.setAttribute(&amp;quot;tracker.count&amp;quot;, count);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;HTML&amp;gt;&amp;lt;HEAD&amp;gt;&amp;lt;TITLE&amp;gt;SessionTracker&amp;lt;/TITLE&amp;gt;&amp;lt;/HEAD&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;BODY&amp;gt;&amp;lt;H1&amp;gt;Session Tracking Demo&amp;lt;/H1&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;You&amp;quot;ve visited this page &amp;quot; + count +&lt;br /&gt;
      ((count.intValue() == 1) ? &amp;quot; time.&amp;quot; : &amp;quot; times.&amp;quot;));&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;P&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;H2&amp;gt;Here is your session data:&amp;lt;/H2&amp;gt;&amp;quot;);&lt;br /&gt;
    Enumeration e = session.getAttributeNames();&lt;br /&gt;
    while (e.hasMoreElements()) {&lt;br /&gt;
      String name = (String) e.nextElement();&lt;br /&gt;
      out.println(name + &amp;quot;: &amp;quot; + session.getAttribute(name) + &amp;quot;&amp;lt;BR&amp;gt;&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;/BODY&amp;gt;&amp;lt;/HTML&amp;gt;&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Get Set Session Value in a Servlet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.*;&lt;br /&gt;
import java.io.*;&lt;br /&gt;
import javax.servlet.*;&lt;br /&gt;
import javax.servlet.http.*;&lt;br /&gt;
public class MyServlet extends HttpServlet {&lt;br /&gt;
   &lt;br /&gt;
    public void doGet(HttpServletRequest request, HttpServletResponse response) &lt;br /&gt;
        throws ServletException, IOException &lt;br /&gt;
    {&lt;br /&gt;
        response.setContentType(&amp;quot;text/html&amp;quot;);&lt;br /&gt;
        PrintWriter out = response.getWriter();&lt;br /&gt;
        HttpSession session = request.getSession(true);&lt;br /&gt;
        Integer counter2 = (Integer) getServletContext().getAttribute (&amp;quot;counter2&amp;quot;);&lt;br /&gt;
        if (counter2 == null) {&lt;br /&gt;
            counter2 = new Integer(1);&lt;br /&gt;
        } else {&lt;br /&gt;
            counter2 = new Integer(counter2.intValue() + 1);&lt;br /&gt;
        }&lt;br /&gt;
        getServletContext().setAttribute(&amp;quot;counter2&amp;quot;, counter2);&lt;br /&gt;
        Integer counter = (Integer) session.getAttribute(&amp;quot;counter&amp;quot;);&lt;br /&gt;
        if (counter == null) {&lt;br /&gt;
            counter = new Integer(1);&lt;br /&gt;
        } else {&lt;br /&gt;
            counter = new Integer(counter.intValue() + 1);&lt;br /&gt;
        } &lt;br /&gt;
        session.setAttribute(&amp;quot;counter&amp;quot;, counter);&lt;br /&gt;
        out.println(&amp;quot;&amp;lt;HTML&amp;gt;&amp;quot;);&lt;br /&gt;
        out.println(&amp;quot;&amp;lt;HEAD&amp;gt;&amp;quot;);&lt;br /&gt;
        out.println(&amp;quot;&amp;lt;TITLE&amp;gt;&amp;quot;);&lt;br /&gt;
        out.println(&amp;quot;Using Contexts&amp;quot;);&lt;br /&gt;
        out.println(&amp;quot;&amp;lt;/TITLE&amp;gt;&amp;quot;);&lt;br /&gt;
        out.println(&amp;quot;&amp;lt;/HEAD&amp;gt;&amp;quot;);&lt;br /&gt;
        out.println(&amp;quot;&amp;lt;BODY&amp;gt;&amp;quot;);&lt;br /&gt;
        out.println(&amp;quot;&amp;lt;H1&amp;gt;Using Contexts&amp;lt;/H1&amp;gt;&amp;quot;);&lt;br /&gt;
        out.println(&amp;quot;Welcome! You have been here &amp;quot; + counter + &amp;quot; times.&amp;lt;BR&amp;gt;&amp;quot;);&lt;br /&gt;
        out.println(&amp;quot;Total page accesses: &amp;quot; + counter2 + &amp;quot;&amp;lt;BR&amp;gt;&amp;quot;);&lt;br /&gt;
        if(session.isNew()){&lt;br /&gt;
            out.println(&amp;quot;This is a new session.&amp;lt;BR&amp;gt;&amp;quot;);&lt;br /&gt;
        } else {&lt;br /&gt;
            out.println(&amp;quot;This is not a new session.&amp;lt;BR&amp;gt;&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        out.println(&amp;quot;The session ID: &amp;quot; + session.getId() + &amp;quot;&amp;lt;BR&amp;gt;&amp;quot;);&lt;br /&gt;
        out.println(&amp;quot;Last time accessed: &amp;quot; + new Date(session.getLastAccessedTime()) + &amp;quot;&amp;lt;BR&amp;gt;&amp;quot;); &lt;br /&gt;
        out.println(&amp;quot;Creation time: &amp;quot; + new Date(session.getCreationTime()) + &amp;quot;&amp;lt;BR&amp;gt;&amp;quot;);&lt;br /&gt;
        out.println(&amp;quot;Timeout length: &amp;quot; + session.getMaxInactiveInterval() + &amp;quot; seconds&amp;lt;BR&amp;gt;&amp;quot;);&lt;br /&gt;
        out.println(&amp;quot;&amp;lt;/BODY&amp;gt;&amp;quot;);&lt;br /&gt;
        out.println(&amp;quot;&amp;lt;/HTML&amp;gt;&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Servlet Session Check ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.*;&lt;br /&gt;
import javax.servlet.*;&lt;br /&gt;
import javax.servlet.http.*;&lt;br /&gt;
import java.util.*;&lt;br /&gt;
import java.text.DateFormat;&lt;br /&gt;
public class MyServlet extends HttpServlet {&lt;br /&gt;
   &lt;br /&gt;
 public void doGet(HttpServletRequest request, HttpServletResponse response)&lt;br /&gt;
    throws ServletException, java.io.IOException {&lt;br /&gt;
        &lt;br /&gt;
    HttpSession session = request.getSession(false);&lt;br /&gt;
    if (session == null){&lt;br /&gt;
        response.sendRedirect(&amp;quot;/dbproj/login.jsp&amp;quot;);&lt;br /&gt;
      } else {&lt;br /&gt;
        response.sendRedirect(&amp;quot;/dbproj/menu.jsp&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
       &lt;br /&gt;
     &lt;br /&gt;
  } &lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Servlet Session Creation Last Access Time ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.*;&lt;br /&gt;
import javax.servlet.*;&lt;br /&gt;
import javax.servlet.http.*;&lt;br /&gt;
import java.util.*;&lt;br /&gt;
import java.text.DateFormat;&lt;br /&gt;
public class MyServlet extends HttpServlet {&lt;br /&gt;
   &lt;br /&gt;
 public void doGet(HttpServletRequest request, HttpServletResponse response)&lt;br /&gt;
    throws ServletException, java.io.IOException {&lt;br /&gt;
        &lt;br /&gt;
        response.setContentType(&amp;quot;text/html&amp;quot;);&lt;br /&gt;
        java.io.PrintWriter out = response.getWriter();&lt;br /&gt;
        HttpSession session = request.getSession();&lt;br /&gt;
        Date creationTime = new Date(session.getCreationTime() );&lt;br /&gt;
        Date lastAccessed = new Date(session.getLastAccessedTime());&lt;br /&gt;
        Date now = new Date();&lt;br /&gt;
        DateFormat formatter = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM);&lt;br /&gt;
        &lt;br /&gt;
        out.println(&amp;quot;&amp;lt;html&amp;gt;&amp;quot;);&lt;br /&gt;
        out.println(&amp;quot;&amp;lt;head&amp;gt;&amp;quot;);&lt;br /&gt;
        out.println(&amp;quot;&amp;lt;title&amp;gt;Displaying the Session Creation and Last-Accessed Time&amp;lt;/title&amp;gt;&amp;quot;);&lt;br /&gt;
        out.println(&amp;quot;&amp;lt;/head&amp;gt;&amp;quot;);&lt;br /&gt;
        out.println(&amp;quot;&amp;lt;body&amp;gt;&amp;quot;);&lt;br /&gt;
        out.println(&amp;quot;&amp;lt;h2&amp;gt;Session Creation and Last-Accessed Time&amp;lt;/h2&amp;gt;&amp;quot;);&lt;br /&gt;
        out.println(&amp;quot;The time and date now is: &amp;quot; + formatter.format(now) + &amp;quot;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;quot;);&lt;br /&gt;
        out.println(&amp;quot;The session creation time: HttpSession.getCreationTime( ): &amp;quot; + formatter.format(creationTime) + &amp;quot;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;quot;);&lt;br /&gt;
        out.println(&amp;quot;The last time the session was accessed: HttpSession.getLastAccessedTime( ): &amp;quot; + formatter.format(lastAccessed) );&lt;br /&gt;
        out.println(&amp;quot;&amp;lt;/body&amp;gt;&amp;quot;);&lt;br /&gt;
        out.println(&amp;quot;&amp;lt;/html&amp;gt;&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
        &lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Servlet Session Info ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.*;&lt;br /&gt;
import javax.servlet.*;&lt;br /&gt;
import javax.servlet.http.*;&lt;br /&gt;
import java.util.*;&lt;br /&gt;
public class MyServlet extends HttpServlet {&lt;br /&gt;
   &lt;br /&gt;
    public void doGet(HttpServletRequest request, HttpServletResponse response)&lt;br /&gt;
    throws ServletException, java.io.IOException {&lt;br /&gt;
        &lt;br /&gt;
        response.setContentType(&amp;quot;text/html&amp;quot;);&lt;br /&gt;
        java.io.PrintWriter out = response.getWriter();&lt;br /&gt;
        HttpSession session = request.getSession();&lt;br /&gt;
        &lt;br /&gt;
        out.println(&amp;quot;&amp;lt;html&amp;gt;&amp;quot;);&lt;br /&gt;
        out.println(&amp;quot;&amp;lt;head&amp;gt;&amp;quot;);&lt;br /&gt;
        out.println(&amp;quot;&amp;lt;title&amp;gt;Simple Session Tracker&amp;lt;/title&amp;gt;&amp;quot;);&lt;br /&gt;
        out.println(&amp;quot;&amp;lt;/head&amp;gt;&amp;quot;);&lt;br /&gt;
        out.println(&amp;quot;&amp;lt;body&amp;gt;&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
        out.println(&amp;quot;&amp;lt;h2&amp;gt;Session Info&amp;lt;/h2&amp;gt;&amp;quot;);&lt;br /&gt;
        out.println(&amp;quot;session Id: &amp;quot; + session.getId() + &amp;quot;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;quot;);&lt;br /&gt;
        out.println( &amp;quot;The SESSION TIMEOUT period is &amp;quot; + session.getMaxInactiveInterval() + &amp;quot; seconds.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;quot;);&lt;br /&gt;
        out.println( &amp;quot;Now changing it to 20 minutes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;quot;);&lt;br /&gt;
        session.setMaxInactiveInterval(20 * 60);&lt;br /&gt;
        out.println(&amp;quot;The SESSION TIMEOUT period is now &amp;quot; + session.getMaxInactiveInterval()  + &amp;quot; seconds.&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
        out.println(&amp;quot;&amp;lt;/body&amp;gt;&amp;quot;);&lt;br /&gt;
        out.println(&amp;quot;&amp;lt;/html&amp;gt;&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
    } &lt;br /&gt;
    /** Handles the HTTP &amp;lt;code&amp;gt;POST&amp;lt;/code&amp;gt; method.&lt;br /&gt;
    * @param request servlet request&lt;br /&gt;
    * @param response servlet response&lt;br /&gt;
    */&lt;br /&gt;
    protected void doPost(HttpServletRequest request, HttpServletResponse response)&lt;br /&gt;
    throws ServletException, java.io.IOException {&lt;br /&gt;
       &lt;br /&gt;
    doGet(request,response);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Servlet Session Max Inactive Interval ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.*;&lt;br /&gt;
import java.io.*;&lt;br /&gt;
import javax.servlet.*;&lt;br /&gt;
import javax.servlet.http.*;&lt;br /&gt;
public class MyServlet extends HttpServlet {&lt;br /&gt;
   &lt;br /&gt;
  public void doGet(HttpServletRequest req, HttpServletResponse res)&lt;br /&gt;
                               throws ServletException, IOException {&lt;br /&gt;
    res.setContentType(&amp;quot;text/html&amp;quot;);&lt;br /&gt;
    PrintWriter out = res.getWriter();&lt;br /&gt;
    // Get the current session object, create one if necessary&lt;br /&gt;
    HttpSession session = req.getSession();&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;HTML&amp;gt;&amp;lt;HEAD&amp;gt;&amp;lt;TITLE&amp;gt;SessionTimer&amp;lt;/TITLE&amp;gt;&amp;lt;/HEAD&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;BODY&amp;gt;&amp;lt;H1&amp;gt;Session Timer&amp;lt;/H1&amp;gt;&amp;quot;);&lt;br /&gt;
    // Display the previous timeout&lt;br /&gt;
    out.println(&amp;quot;The previous timeout was &amp;quot; +&lt;br /&gt;
                session.getMaxInactiveInterval());&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;BR&amp;gt;&amp;quot;);&lt;br /&gt;
    // Set the new timeout&lt;br /&gt;
    session.setMaxInactiveInterval(2*60*60);  // two hours&lt;br /&gt;
    // Display the new timeout&lt;br /&gt;
    out.println(&amp;quot;The newly assigned timeout is &amp;quot; +&lt;br /&gt;
                session.getMaxInactiveInterval());&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;/BODY&amp;gt;&amp;lt;/HTML&amp;gt;&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Servlet Session Snoop ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.*;&lt;br /&gt;
import java.io.*;&lt;br /&gt;
import javax.servlet.*;&lt;br /&gt;
import javax.servlet.http.*;&lt;br /&gt;
public class MyServlet extends HttpServlet {&lt;br /&gt;
   &lt;br /&gt;
  public void doGet(HttpServletRequest req, HttpServletResponse res)&lt;br /&gt;
                               throws ServletException, IOException {&lt;br /&gt;
    res.setContentType(&amp;quot;text/html&amp;quot;);&lt;br /&gt;
    PrintWriter out = res.getWriter();&lt;br /&gt;
    HttpSession session = req.getSession();&lt;br /&gt;
    Integer count = (Integer)session.getAttribute(&amp;quot;snoop.count&amp;quot;);&lt;br /&gt;
    if (count == null)&lt;br /&gt;
      count = new Integer(1);&lt;br /&gt;
    else&lt;br /&gt;
      count = new Integer(count.intValue() + 1);&lt;br /&gt;
    session.setAttribute(&amp;quot;snoop.count&amp;quot;, count);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;HTML&amp;gt;&amp;lt;HEAD&amp;gt;&amp;lt;TITLE&amp;gt;SessionSnoop&amp;lt;/TITLE&amp;gt;&amp;lt;/HEAD&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;BODY&amp;gt;&amp;lt;H1&amp;gt;Session Snoop&amp;lt;/H1&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;You&amp;quot;ve visited this page &amp;quot; + count +&lt;br /&gt;
      ((count.intValue() == 1) ? &amp;quot; time.&amp;quot; : &amp;quot; times.&amp;quot;));&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;P&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;H3&amp;gt;Here is your saved session data:&amp;lt;/H3&amp;gt;&amp;quot;);&lt;br /&gt;
    Enumeration e = session.getAttributeNames();&lt;br /&gt;
    while (e.hasMoreElements()) {&lt;br /&gt;
      String name = (String) e.nextElement();&lt;br /&gt;
      out.println(name + &amp;quot;: &amp;quot; + session.getAttribute(name) + &amp;quot;&amp;lt;BR&amp;gt;&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;H3&amp;gt;Here are some vital stats on your session:&amp;lt;/H3&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;Session id: &amp;quot; + session.getId() +&lt;br /&gt;
                &amp;quot; &amp;lt;I&amp;gt;(keep it secret)&amp;lt;/I&amp;gt;&amp;lt;BR&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;New session: &amp;quot; + session.isNew() + &amp;quot;&amp;lt;BR&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;Timeout: &amp;quot; + session.getMaxInactiveInterval());&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;I&amp;gt;(&amp;quot; + session.getMaxInactiveInterval() / 60 + &lt;br /&gt;
                &amp;quot; minutes)&amp;lt;/I&amp;gt;&amp;lt;BR&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;Creation time: &amp;quot; + session.getCreationTime());&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;I&amp;gt;(&amp;quot; + new Date(session.getCreationTime()) + &amp;quot;)&amp;lt;/I&amp;gt;&amp;lt;BR&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;Last access time: &amp;quot; + session.getLastAccessedTime());&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;I&amp;gt;(&amp;quot; + new Date(session.getLastAccessedTime()) +&lt;br /&gt;
                &amp;quot;)&amp;lt;/I&amp;gt;&amp;lt;BR&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;Requested session ID from cookie: &amp;quot; +&lt;br /&gt;
                req.isRequestedSessionIdFromCookie() + &amp;quot;&amp;lt;BR&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;Requested session ID from URL: &amp;quot; +&lt;br /&gt;
                req.isRequestedSessionIdFromURL() + &amp;quot;&amp;lt;BR&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;Requested session ID valid: &amp;quot; +&lt;br /&gt;
                 req.isRequestedSessionIdValid() + &amp;quot;&amp;lt;BR&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;H3&amp;gt;Test URL Rewriting&amp;lt;/H3&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;Click &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Session Events ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.io.PrintWriter;&lt;br /&gt;
import javax.servlet.ServletContext;&lt;br /&gt;
import javax.servlet.ServletException;&lt;br /&gt;
import javax.servlet.http.HttpServlet;&lt;br /&gt;
import javax.servlet.http.HttpServletRequest;&lt;br /&gt;
import javax.servlet.http.HttpServletResponse;&lt;br /&gt;
import javax.servlet.http.HttpSession;&lt;br /&gt;
import javax.servlet.http.HttpSessionBindingEvent;&lt;br /&gt;
import javax.servlet.http.HttpSessionBindingListener;&lt;br /&gt;
public class Binder extends HttpServlet {&lt;br /&gt;
  public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException,&lt;br /&gt;
      IOException {&lt;br /&gt;
    resp.setContentType(&amp;quot;text/html&amp;quot;);&lt;br /&gt;
    PrintWriter out = resp.getWriter();&lt;br /&gt;
    HttpSession session = req.getSession(true);&lt;br /&gt;
    SessionObject o = new SessionObject(getServletContext());&lt;br /&gt;
    session.setAttribute(&amp;quot;Binder.object&amp;quot;, o);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;html&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;head&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;title&amp;gt;Session Binder&amp;lt;/title&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;/head&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;body&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;Object bound to session &amp;quot; + session.getId());&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;/body&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;/html&amp;gt;&amp;quot;);&lt;br /&gt;
    out.flush();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class SessionObject implements HttpSessionBindingListener {&lt;br /&gt;
  ServletContext context;&lt;br /&gt;
  public SessionObject(ServletContext context) {&lt;br /&gt;
    this.context = context;&lt;br /&gt;
  }&lt;br /&gt;
  public void valueBound(HttpSessionBindingEvent event) {&lt;br /&gt;
    context.log(&amp;quot;&amp;quot; + (new java.util.Date()) + &amp;quot; Binding &amp;quot; + event.getName() + &amp;quot; to session &amp;quot;&lt;br /&gt;
        + event.getSession().getId());&lt;br /&gt;
  }&lt;br /&gt;
  public void valueUnbound(HttpSessionBindingEvent event) {&lt;br /&gt;
    context.log(&amp;quot;&amp;quot; + (new java.util.Date()) + &amp;quot; Unbinding &amp;quot; + event.getName() + &amp;quot; from session &amp;quot;&lt;br /&gt;
        + event.getSession().getId());&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  use the Servlet API to manage session information ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.io.PrintWriter;&lt;br /&gt;
import javax.servlet.ServletException;&lt;br /&gt;
import javax.servlet.http.HttpServlet;&lt;br /&gt;
import javax.servlet.http.HttpServletRequest;&lt;br /&gt;
import javax.servlet.http.HttpServletResponse;&lt;br /&gt;
import javax.servlet.http.HttpSession;&lt;br /&gt;
public class Counter extends HttpServlet {&lt;br /&gt;
  static final String COUNTER_KEY = &amp;quot;Counter.count&amp;quot;;&lt;br /&gt;
  public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException,&lt;br /&gt;
      IOException {&lt;br /&gt;
    HttpSession session = req.getSession(true);&lt;br /&gt;
    resp.setContentType(&amp;quot;text/html&amp;quot;);&lt;br /&gt;
    PrintWriter out = resp.getWriter();&lt;br /&gt;
    int count = 1;&lt;br /&gt;
    Integer i = (Integer) session.getAttribute(COUNTER_KEY);&lt;br /&gt;
    if (i != null) {&lt;br /&gt;
      count = i.intValue() + 1;&lt;br /&gt;
    }&lt;br /&gt;
    session.setAttribute(COUNTER_KEY, new Integer(count));&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;html&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;head&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;title&amp;gt;Session Counter&amp;lt;/title&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;/head&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;body&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;Your session ID is &amp;lt;b&amp;gt;&amp;quot; + session.getId());&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;/b&amp;gt; and you have hit this page &amp;lt;b&amp;gt;&amp;quot; + count&lt;br /&gt;
        + &amp;quot;&amp;lt;/b&amp;gt; time(s) during this browser session&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;form method=GET action=\&amp;quot;&amp;quot; + req.getRequestURI() + &amp;quot;\&amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;input type=submit &amp;quot; + &amp;quot;value=\&amp;quot;Hit page again\&amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;/form&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;/body&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;/html&amp;gt;&amp;quot;);&lt;br /&gt;
    out.flush();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>