<?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%2FJSP%2FSession</id>
		<title>Java/JSP/Session - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FJSP%2FSession"/>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java/JSP/Session&amp;action=history"/>
		<updated>2026-04-07T18:52:38Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://jexp.ru/index.php?title=Java/JSP/Session&amp;diff=8597&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java/JSP/Session&amp;diff=8597&amp;oldid=prev"/>
				<updated>2010-06-01T07:10:00Z</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;Версия 07:10, 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/JSP/Session&amp;diff=8596&amp;oldid=prev</id>
		<title> в 18:01, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java/JSP/Session&amp;diff=8596&amp;oldid=prev"/>
				<updated>2010-05-31T18:01:47Z</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;== Duplicated session varaibles ==&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;
&amp;lt;jsp:useBean id=&amp;quot;myBookBean&amp;quot;   class=&amp;quot;com.jexp.Book&amp;quot;&lt;br /&gt;
             scope=&amp;quot;session&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;%-- The setProperty tag is only executed when a JavaBean is created --%&amp;gt;&lt;br /&gt;
  &amp;lt;jsp:setProperty name=&amp;quot;myBookBean&amp;quot; property=&amp;quot;author&amp;quot; value=&amp;quot;Joe&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/jsp:useBean&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;When a JavaBean already exists...&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;/head&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
    The author of your book is &amp;lt;jsp:getProperty name=&amp;quot;myBookBean&amp;quot;&lt;br /&gt;
                                                property=&amp;quot;author&amp;quot; /&amp;gt;&amp;lt;P&amp;gt;&lt;br /&gt;
    Click  to see another page that&lt;br /&gt;
    declares a JavaBean that uses the same name and scope.&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
//beanAlreadyExists2.jsp&lt;br /&gt;
&amp;lt;jsp:useBean id=&amp;quot;myBookBean&amp;quot;   class=&amp;quot;com.jexp.Book&amp;quot;&lt;br /&gt;
             scope=&amp;quot;session&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;When a JavaBean already exists...&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;/head&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
    This page redeclares the JavaBean, but does not set any of its properties.&lt;br /&gt;
    The same name and scope were used for the JavaBean, so the original bean&lt;br /&gt;
    is used.&lt;br /&gt;
    &amp;lt;P&amp;gt;&lt;br /&gt;
    The author of your book is &amp;lt;jsp:getProperty name=&amp;quot;myBookBean&amp;quot;&lt;br /&gt;
                                                property=&amp;quot;author&amp;quot; /&amp;gt;&amp;lt;P&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;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;
== JSP and session ==&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;
/*&lt;br /&gt;
&amp;lt;%@ page import=&amp;quot;com.jexp.*&amp;quot;%&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;Thankyou for your request&amp;lt;/h1&amp;gt;&lt;br /&gt;
Thankyou for your request for more information.&lt;br /&gt;
It will be sent to you shortly.&lt;br /&gt;
&amp;lt;%&lt;br /&gt;
  MoreInfoRequest infoRequest = new MoreInfoRequest();&lt;br /&gt;
  infoRequest.setCourses(request.getParameter(&amp;quot;courses&amp;quot;));&lt;br /&gt;
  infoRequest.setFirstName(request.getParameter(&amp;quot;firstName&amp;quot;));&lt;br /&gt;
  infoRequest.setLastName(request.getParameter(&amp;quot;lastName&amp;quot;));&lt;br /&gt;
  infoRequest.setEmail(request.getParameter(&amp;quot;email&amp;quot;));&lt;br /&gt;
  // this is the method that will bind an object to a session&lt;br /&gt;
  session.setAttribute(&amp;quot;infoRequest&amp;quot;, infoRequest);&lt;br /&gt;
%&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Click  to view your request.&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
*/&lt;br /&gt;
package com.jexp;&lt;br /&gt;
public class MoreInfoRequest&lt;br /&gt;
{&lt;br /&gt;
  public String getFirstName() {&lt;br /&gt;
    return firstName;&lt;br /&gt;
  }&lt;br /&gt;
  public void setFirstName(String firstName) {&lt;br /&gt;
    this.firstName = firstName;&lt;br /&gt;
  }&lt;br /&gt;
  public String getLastName() {&lt;br /&gt;
    return lastName;&lt;br /&gt;
  }&lt;br /&gt;
  public void setLastName(String lastName) {&lt;br /&gt;
    this.lastName = lastName;&lt;br /&gt;
  }&lt;br /&gt;
  public String getCourses() {&lt;br /&gt;
    return courses;&lt;br /&gt;
  }&lt;br /&gt;
  public void setCourses(String courses) {&lt;br /&gt;
    this.courses = courses;&lt;br /&gt;
  }&lt;br /&gt;
  public String getEmail() {&lt;br /&gt;
    return email;&lt;br /&gt;
  }&lt;br /&gt;
    public void setEmail(String email) {&lt;br /&gt;
    this.email = email;&lt;br /&gt;
  }&lt;br /&gt;
  private String firstName;&lt;br /&gt;
  private String lastName;&lt;br /&gt;
  private String email;&lt;br /&gt;
  private String courses;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;Your Request&amp;lt;/h1&amp;gt;&lt;br /&gt;
Here is the information that you submitted to us for processing.&lt;br /&gt;
&amp;lt;%&lt;br /&gt;
  MoreInfoRequest infoRequest =&lt;br /&gt;
             (MoreInfoRequest) session.getAttribute(&amp;quot;infoRequest&amp;quot;);&lt;br /&gt;
%&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Course name:&amp;lt;b&amp;gt; &amp;lt;%=infoRequest.getCourses()%&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Your name: &amp;lt;b&amp;gt;&amp;lt;%=infoRequest.getFirstName()%&amp;gt;&lt;br /&gt;
&amp;lt;%=infoRequest.getLastName()%&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Your email: &amp;lt;b&amp;gt;&amp;lt;%=infoRequest.getEmail()%&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;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;
== JSP and session 2 ==&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;
//sessionObject.jsp&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;The Session Object&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;The Session Object&amp;lt;/h1&amp;gt;&lt;br /&gt;
Here are some properties of your session object.&lt;br /&gt;
&amp;lt;br&amp;gt;The session was created at &amp;lt;%= session.getCreationTime() %&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;The session has an inactive interval of &amp;lt;%= session.getMaxInactiveInterval() %&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;The session id is &amp;lt;%= session.getId() %&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
///&lt;br /&gt;
//logout.jsp&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Log out&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;Log Out Page&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;%&lt;br /&gt;
if (session != null) {&lt;br /&gt;
  session.invalidate();&lt;br /&gt;
}&lt;br /&gt;
%&amp;gt;&lt;br /&gt;
You are now logged out. Bye&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;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;
== JSP: display a 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;
&amp;lt;%@page contentType=&amp;quot;text/html&amp;quot;%&amp;gt;&lt;br /&gt;
&amp;lt;%@ taglib uri=&amp;quot;http://java.sun.ru/jstl/core&amp;quot; prefix=&amp;quot;c&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;%@ taglib uri=&amp;quot;http://java.sun.ru/jstl/fmt&amp;quot; prefix=&amp;quot;fmt&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&amp;lt;title&amp;gt;View Session JSP &amp;lt;/title&amp;gt;&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Session Info From A JSP&amp;lt;/h2&amp;gt;&lt;br /&gt;
The session id: &lt;br /&gt;
&amp;lt;c:out value=&amp;quot;${pageContext.session.id}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Session date values formatted as Dates&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;jsp:useBean id=&amp;quot;timeValues&amp;quot; class=&amp;quot;java.util.Date&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;c:set target=&amp;quot;${timeValues}&amp;quot; value=&amp;quot;${pageContext.session.creationTime}&amp;quot; property=&amp;quot;time&amp;quot;/&amp;gt;&lt;br /&gt;
The creation time: &amp;lt;fmt:formatDate value=&amp;quot;${timeValues}&amp;quot; type=&amp;quot;both&amp;quot; dateStyle=&amp;quot;medium&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;c:set target=&amp;quot;${timeValues}&amp;quot; value=&amp;quot;${pageContext.session.lastAccessedTime}&amp;quot; property=&amp;quot;time&amp;quot;/&amp;gt;&lt;br /&gt;
The last accessed time:  &lt;br /&gt;
&amp;lt;fmt:formatDate value=&amp;quot;${timeValues}&amp;quot; type=&amp;quot;both&amp;quot; dateStyle=&amp;quot;short&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;c:out value=&amp;quot;${timeValues}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;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;
== JSP New Session Parameter ==&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;
&lt;br /&gt;
&amp;lt;%@ page import=&amp;quot;java.util.*&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;%&lt;br /&gt;
  // add parameter to session&lt;br /&gt;
  String name = request.getParameter(&amp;quot;name&amp;quot;);&lt;br /&gt;
  String value = request.getParameter(&amp;quot;value&amp;quot;);&lt;br /&gt;
  if (name!=null &amp;amp;&amp;amp; value!=null &amp;amp;&amp;amp; name.length()&amp;gt;0) {&lt;br /&gt;
    session.setAttribute(name,value);&lt;br /&gt;
  }&lt;br /&gt;
  Date lastVisit = (Date)session.getAttribute(&amp;quot;lastVisit&amp;quot;);&lt;br /&gt;
  Date thisVisit = new Date();&lt;br /&gt;
%&amp;gt;&lt;br /&gt;
&amp;lt;HTML&amp;gt;&lt;br /&gt;
  &amp;lt;HEAD&amp;gt;&lt;br /&gt;
    &amp;lt;TITLE&amp;gt;Session List&amp;lt;/TITLE&amp;gt;&lt;br /&gt;
  &amp;lt;/HEAD&amp;gt;&lt;br /&gt;
  &amp;lt;BODY&amp;gt;&lt;br /&gt;
    &amp;lt;H1&amp;gt;Session List&amp;lt;/H1&amp;gt;&lt;br /&gt;
    Last visit: &amp;lt;%= lastVisit %&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
    This visit: &amp;lt;%= thisVisit %&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
    Session ID: &amp;lt;%= session.getId() %&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
    Session max interval: &amp;lt;%= session.getMaxInactiveInterval() %&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
    &amp;lt;H2&amp;gt;Session parameters&amp;lt;/H2&amp;gt;&lt;br /&gt;
    &amp;lt;%&lt;br /&gt;
      Enumeration enum = session.getAttributeNames();&lt;br /&gt;
      while (enum.hasMoreElements()) {&lt;br /&gt;
        String attribute = (String) enum.nextElement();&lt;br /&gt;
        out.println(&amp;quot;&amp;quot;+attribute+&amp;quot;=&amp;quot;+&lt;br /&gt;
          session.getAttribute(attribute)+&amp;quot;&amp;lt;BR&amp;gt;&amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
        session.setAttribute(&amp;quot;lastVisit&amp;quot;,thisVisit);&lt;br /&gt;
    %&amp;gt;&lt;br /&gt;
    &amp;lt;H2&amp;gt;New session parameter&amp;lt;/H2&amp;gt;&lt;br /&gt;
    &amp;lt;FORM&amp;gt;&lt;br /&gt;
        &amp;lt;P&amp;gt;Name: &amp;lt;INPUT TYPE=&amp;quot;TEXT&amp;quot; NAME=&amp;quot;name&amp;quot;&amp;gt;&amp;lt;/P&amp;gt;&lt;br /&gt;
        &amp;lt;P&amp;gt;Value: &amp;lt;INPUT TYPE=&amp;quot;TEXT&amp;quot; NAME=&amp;quot;value&amp;quot;&amp;gt;&amp;lt;/P&amp;gt;&lt;br /&gt;
      &amp;lt;INPUT TYPE=&amp;quot;SUBMIT&amp;quot; VALUE=&amp;quot;Add new value&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;/FORM&amp;gt;&lt;br /&gt;
  &amp;lt;/BODY&amp;gt;&lt;br /&gt;
&amp;lt;/HTML&amp;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;
== JSP session counter ==&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;
//startPage.html&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Page 1&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;URL Re-writing Demo&amp;lt;/h1&amp;gt;&lt;br /&gt;
 to visit page 2.&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
///&lt;br /&gt;
//web.xml&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE web-app PUBLIC &amp;quot;-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN&amp;quot;&lt;br /&gt;
  &amp;quot;http://java.sun.ru/dtd/web-app_2_3.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;web-app&amp;gt;&lt;br /&gt;
  &amp;lt;listener&amp;gt;&lt;br /&gt;
    &amp;lt;listener-class&amp;gt;com.jexp.SessionCount&amp;lt;/listener-class&amp;gt;&lt;br /&gt;
  &amp;lt;/listener&amp;gt;&lt;br /&gt;
  &amp;lt;taglib&amp;gt;&lt;br /&gt;
    &amp;lt;taglib-uri&amp;gt;http://java.sun.ru/jstl/core&amp;lt;/taglib-uri&amp;gt;&lt;br /&gt;
    &amp;lt;taglib-location&amp;gt;/WEB-INF/c.tld&amp;lt;/taglib-location&amp;gt;&lt;br /&gt;
  &amp;lt;/taglib&amp;gt;&lt;br /&gt;
&amp;lt;/web-app&amp;gt;&lt;br /&gt;
//sessionCounter.jsp&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Session Counter&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;Session Counter&amp;lt;/h1&amp;gt;&lt;br /&gt;
On this server, there are currently&lt;br /&gt;
&amp;lt;%=com.jexp.SessionCount.getNumberOfSessions()%&amp;gt; active sessions.&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
package com.jexp;&lt;br /&gt;
import javax.servlet.http.*;&lt;br /&gt;
public class SessionCount implements HttpSessionListener&lt;br /&gt;
{&lt;br /&gt;
  private static int numberOfSessions = 0;&lt;br /&gt;
  public void sessionCreated (HttpSessionEvent evt)&lt;br /&gt;
  {&lt;br /&gt;
    numberOfSessions++;&lt;br /&gt;
  }&lt;br /&gt;
  public void sessionDestroyed (HttpSessionEvent evt)&lt;br /&gt;
  {&lt;br /&gt;
    numberOfSessions--;&lt;br /&gt;
  }&lt;br /&gt;
  // here is our own method to return the number of current sessions&lt;br /&gt;
  public static int getNumberOfSessions()&lt;br /&gt;
  {&lt;br /&gt;
    return numberOfSessions;&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;
== JSP Session Parameter Rewrite ==&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;
&lt;br /&gt;
&amp;lt;%@ page import=&amp;quot;java.util.*&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;%&lt;br /&gt;
  // add parameter to session&lt;br /&gt;
  String name = request.getParameter(&amp;quot;name&amp;quot;);&lt;br /&gt;
  String value = request.getParameter(&amp;quot;value&amp;quot;);&lt;br /&gt;
  if (name!=null &amp;amp;&amp;amp; value!=null &amp;amp;&amp;amp; name.length()&amp;gt;0) {&lt;br /&gt;
    session.setAttribute(name,value);&lt;br /&gt;
  }&lt;br /&gt;
  Date lastVisit = (Date)session.getAttribute(&amp;quot;lastVisit&amp;quot;);&lt;br /&gt;
  Date thisVisit = new Date();&lt;br /&gt;
%&amp;gt;&lt;br /&gt;
&amp;lt;HTML&amp;gt;&lt;br /&gt;
  &amp;lt;HEAD&amp;gt;&lt;br /&gt;
    &amp;lt;TITLE&amp;gt;Session List&amp;lt;/TITLE&amp;gt;&lt;br /&gt;
  &amp;lt;/HEAD&amp;gt;&lt;br /&gt;
  &amp;lt;BODY&amp;gt;&lt;br /&gt;
    &amp;lt;H1&amp;gt;Session List&amp;lt;/H1&amp;gt;&lt;br /&gt;
    Last visit: &amp;lt;%= lastVisit %&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
    This visit: &amp;lt;%= thisVisit %&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
    Session ID: &amp;lt;%= session.getId() %&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
    Session max interval: &amp;lt;%= session.getMaxInactiveInterval() %&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
    &amp;lt;H2&amp;gt;Session parameters&amp;lt;/H2&amp;gt;&lt;br /&gt;
    &amp;lt;%&lt;br /&gt;
      Enumeration enum = session.getAttributeNames();&lt;br /&gt;
      while (enum.hasMoreElements()) {&lt;br /&gt;
        String attribute = (String) enum.nextElement();&lt;br /&gt;
        out.println(&amp;quot;&amp;quot;+attribute+&amp;quot;=&amp;quot;+&lt;br /&gt;
          session.getAttribute(attribute)+&amp;quot;&amp;lt;BR&amp;gt;&amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
        session.setAttribute(&amp;quot;lastVisit&amp;quot;,thisVisit);&lt;br /&gt;
    %&amp;gt;&lt;br /&gt;
    &amp;lt;H2&amp;gt;New session parameter&amp;lt;/H2&amp;gt;&lt;br /&gt;
&amp;lt;% String url = response.encodeURL(&amp;quot;session-rewrite&amp;quot;); %&amp;gt;&lt;br /&gt;
    &amp;lt;P&amp;gt;Form URL &amp;quot;&amp;lt;%= url %&amp;gt;&amp;quot;&amp;lt;/P&amp;gt;&lt;br /&gt;
    &amp;lt;FORM ACTION=&amp;quot;&amp;lt;%= url %&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;P&amp;gt;Name: &amp;lt;INPUT TYPE=&amp;quot;TEXT&amp;quot; NAME=&amp;quot;name&amp;quot;&amp;gt;&amp;lt;/P&amp;gt;&lt;br /&gt;
        &amp;lt;P&amp;gt;Value: &amp;lt;INPUT TYPE=&amp;quot;TEXT&amp;quot; NAME=&amp;quot;value&amp;quot;&amp;gt;&amp;lt;/P&amp;gt;&lt;br /&gt;
      &amp;lt;INPUT TYPE=&amp;quot;SUBMIT&amp;quot; VALUE=&amp;quot;Add new value&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;/FORM&amp;gt;&lt;br /&gt;
  &amp;lt;/BODY&amp;gt;&lt;br /&gt;
&amp;lt;/HTML&amp;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;
== Jsp Using Bean Scope Session ==&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;
&amp;lt;%@ page errorPage=&amp;quot;errorpage.jsp&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;jsp:useBean id=&amp;quot;counter&amp;quot; scope=&amp;quot;session&amp;quot; class=&amp;quot;beans.Counter&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Session Bean Example 1&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;/head&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
    &amp;lt;H3&amp;gt;Session Bean Example 1&amp;lt;/H3&amp;gt;&lt;br /&gt;
    &amp;lt;center&amp;gt;&amp;lt;b&amp;gt;The current count for the counter bean is: &amp;lt;/b&amp;gt;&lt;br /&gt;
      &amp;lt;%=counter.getCount() %&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;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;
== JSP: view session ==&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;
&lt;br /&gt;
&amp;lt;%@page contentType=&amp;quot;text/html&amp;quot;%&amp;gt;&lt;br /&gt;
&amp;lt;%@ taglib uri=&amp;quot;http://java.sun.ru/jstl/core&amp;quot; prefix=&amp;quot;c&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;%@ taglib uri=&amp;quot;http://java.sun.ru/jstl/fmt&amp;quot; prefix=&amp;quot;fmt&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&amp;lt;title&amp;gt;View Session JSP &amp;lt;/title&amp;gt;&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Session Info From A JSP&amp;lt;/h2&amp;gt;&lt;br /&gt;
The session id: &lt;br /&gt;
&amp;lt;c:out value=&amp;quot;${pageContext.session.id}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The session creation time as a long value: &lt;br /&gt;
&amp;lt;c:out value=&amp;quot;${pageContext.session.creationTime}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The last accessed time as a long value: &lt;br /&gt;
&amp;lt;c:out value=&amp;quot;${pageContext.session.lastAccessedTime}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;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;
== Print the request headers and the session attributes ==&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;
&lt;br /&gt;
&amp;lt;%--&lt;br /&gt;
  Copyright (c) 2002 by Phil Hanna&lt;br /&gt;
  All rights reserved.&lt;br /&gt;
  &lt;br /&gt;
  You may study, use, modify, and distribute this&lt;br /&gt;
  software for any purpose provided that this&lt;br /&gt;
  copyright notice appears in all copies.&lt;br /&gt;
  &lt;br /&gt;
  This software is provided without warranty&lt;br /&gt;
  either expressed or implied.&lt;br /&gt;
--%&amp;gt;&lt;br /&gt;
&amp;lt;%@ page&lt;br /&gt;
      errorPage=&amp;quot;ErrorPage.jsp&amp;quot;&lt;br /&gt;
      import=&amp;quot;java.io.*&amp;quot;&lt;br /&gt;
      import=&amp;quot;java.util.*&amp;quot;&lt;br /&gt;
%&amp;gt;&lt;br /&gt;
&amp;lt;%&lt;br /&gt;
   Enumeration enames;&lt;br /&gt;
   Map map;&lt;br /&gt;
   String title;&lt;br /&gt;
   // Print the request headers&lt;br /&gt;
   map = new TreeMap();&lt;br /&gt;
   enames = request.getHeaderNames();&lt;br /&gt;
   while (enames.hasMoreElements()) {&lt;br /&gt;
      String name = (String) enames.nextElement();&lt;br /&gt;
      String value = request.getHeader(name);&lt;br /&gt;
      map.put(name, value);&lt;br /&gt;
   }&lt;br /&gt;
   out.println(createTable(map, &amp;quot;Request Headers&amp;quot;));&lt;br /&gt;
   // Print the session attributes&lt;br /&gt;
   map = new TreeMap();&lt;br /&gt;
   enames = session.getAttributeNames();&lt;br /&gt;
   while (enames.hasMoreElements()) {&lt;br /&gt;
      String name = (String) enames.nextElement();&lt;br /&gt;
      String value = &amp;quot;&amp;quot; + session.getAttribute(name);&lt;br /&gt;
      map.put(name, value);&lt;br /&gt;
   }&lt;br /&gt;
   out.println(createTable(map, &amp;quot;Session Attributes&amp;quot;));&lt;br /&gt;
%&amp;gt;&lt;br /&gt;
&amp;lt;%-- Define a method to create an HTML table --%&amp;gt;&lt;br /&gt;
&amp;lt;%!&lt;br /&gt;
   private static String createTable(Map map, String title)&lt;br /&gt;
   {&lt;br /&gt;
      StringBuffer sb = new StringBuffer();&lt;br /&gt;
      // Generate the header lines&lt;br /&gt;
      sb.append(&amp;quot;&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
      sb.append(&amp;quot;&amp;lt;tr&amp;gt;&amp;quot;);&lt;br /&gt;
      sb.append(&amp;quot;&amp;lt;th colspan=&amp;quot;2&amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
      sb.append(title);&lt;br /&gt;
      sb.append(&amp;quot;&amp;lt;/th&amp;gt;&amp;quot;);&lt;br /&gt;
      sb.append(&amp;quot;&amp;lt;/tr&amp;gt;&amp;quot;);&lt;br /&gt;
      // Generate the table rows&lt;br /&gt;
      Iterator imap = map.entrySet().iterator();&lt;br /&gt;
      while (imap.hasNext()) {&lt;br /&gt;
         Map.Entry entry = (Map.Entry) imap.next();&lt;br /&gt;
         String key = (String) entry.getKey();&lt;br /&gt;
         String value = (String) entry.getValue();&lt;br /&gt;
         sb.append(&amp;quot;&amp;lt;tr&amp;gt;&amp;quot;);&lt;br /&gt;
         sb.append(&amp;quot;&amp;lt;td&amp;gt;&amp;quot;);&lt;br /&gt;
         sb.append(key);&lt;br /&gt;
         sb.append(&amp;quot;&amp;lt;/td&amp;gt;&amp;quot;);&lt;br /&gt;
         sb.append(&amp;quot;&amp;lt;td&amp;gt;&amp;quot;);&lt;br /&gt;
         sb.append(value);&lt;br /&gt;
         sb.append(&amp;quot;&amp;lt;/td&amp;gt;&amp;quot;);&lt;br /&gt;
         sb.append(&amp;quot;&amp;lt;/tr&amp;gt;&amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
      // Generate the footer lines&lt;br /&gt;
      sb.append(&amp;quot;&amp;lt;/table&amp;gt;&amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;&amp;quot;);&lt;br /&gt;
      // Return the generated HTML&lt;br /&gt;
      return sb.toString();&lt;br /&gt;
   }&lt;br /&gt;
%&amp;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;
== Sessions disabled ==&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;
&amp;lt;%@ page session=&amp;quot;false&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;jsp:useBean id=&amp;quot;user&amp;quot; class=&amp;quot;com.jexp.Book&amp;quot; scope=&amp;quot;session&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;head&amp;gt;&amp;lt;title&amp;gt;Attempt to use a session JavaBean with sessions disabled!&amp;lt;/title&amp;gt;&amp;lt;/head&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
    This goes BANG!&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;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;
== Use Session Jsp ==&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;
&amp;lt;%@ page errorPage=&amp;quot;errorpage.jsp&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;UseSession&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;/head&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
    &amp;lt;%&lt;br /&gt;
      Integer count = (Integer)session.getAttribute(&amp;quot;COUNT&amp;quot;);&lt;br /&gt;
      // If COUNT is not found, create it and add it to the session&lt;br /&gt;
      if ( count == null ) {&lt;br /&gt;
      &lt;br /&gt;
        count = new Integer(1);&lt;br /&gt;
        session.setAttribute(&amp;quot;COUNT&amp;quot;, count);&lt;br /&gt;
      }&lt;br /&gt;
      else {&lt;br /&gt;
        count = new Integer(count.intValue() + 1);&lt;br /&gt;
        session.setAttribute(&amp;quot;COUNT&amp;quot;, count);&lt;br /&gt;
      }  &lt;br /&gt;
      out.println(&amp;quot;&amp;lt;b&amp;gt;Hello you have visited this site: &amp;quot;&lt;br /&gt;
        + count + &amp;quot; times.&amp;lt;/b&amp;gt;&amp;quot;);&lt;br /&gt;
    %&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;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;
== Using Sessions to Track Users ==&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;
&amp;lt;%@page import = &amp;quot;java.util.*&amp;quot; session=&amp;quot;true&amp;quot;%&amp;gt;&lt;br /&gt;
&amp;lt;HTML&amp;gt; &lt;br /&gt;
    &amp;lt;HEAD&amp;gt;&lt;br /&gt;
        &amp;lt;TITLE&amp;gt;Using Sessions to Track Users&amp;lt;/TITLE&amp;gt;&lt;br /&gt;
    &amp;lt;/HEAD&amp;gt; &lt;br /&gt;
    &amp;lt;BODY&amp;gt;&lt;br /&gt;
        &amp;lt;% &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;
        %&amp;gt;&lt;br /&gt;
        &amp;lt;H1&amp;gt;Using Sessions to Track Users&amp;lt;/H1&amp;gt;&lt;br /&gt;
        Session ID: &amp;lt;%=session.getId()%&amp;gt;&lt;br /&gt;
        &amp;lt;BR&amp;gt;&lt;br /&gt;
        Session creation time: &amp;lt;%=new Date(session.getCreationTime())%&amp;gt;&lt;br /&gt;
        &amp;lt;BR&amp;gt;&lt;br /&gt;
        Last accessed time: &amp;lt;%=new Date(session.getLastAccessedTime())%&amp;gt;&lt;br /&gt;
        &amp;lt;BR&amp;gt;&lt;br /&gt;
        Number of times you&amp;quot;ve been here: &amp;lt;%=counter%&amp;gt; &lt;br /&gt;
    &amp;lt;/BODY&amp;gt; &lt;br /&gt;
&amp;lt;/HTML&amp;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;/div&gt;</summary>
			</entry>

	</feed>