<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_by_API%2Fjavax.servlet.http%2FHttpSession</id>
		<title>Java by API/javax.servlet.http/HttpSession - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_by_API%2Fjavax.servlet.http%2FHttpSession"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_by_API/javax.servlet.http/HttpSession&amp;action=history"/>
		<updated>2026-04-25T15:07:08Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_by_API/javax.servlet.http/HttpSession&amp;diff=1755&amp;oldid=prev</id>
		<title> в 17:43, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_by_API/javax.servlet.http/HttpSession&amp;diff=1755&amp;oldid=prev"/>
				<updated>2010-05-31T17:43:48Z</updated>
		
		<summary type="html">&lt;p&gt;&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;Версия 17:43, 31 мая 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>
			</entry>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_by_API/javax.servlet.http/HttpSession&amp;diff=1756&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_by_API/javax.servlet.http/HttpSession&amp;diff=1756&amp;oldid=prev"/>
				<updated>2010-05-31T14:35:36Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== bindings.listener ==&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 java.util.Date;&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 SessionBindings extends HttpServlet {&lt;br /&gt;
  public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException,&lt;br /&gt;
      IOException {&lt;br /&gt;
    res.setContentType(&amp;quot;text/plain&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;
    // Add a CustomBindingListener&lt;br /&gt;
    session.setAttribute(&amp;quot;bindings.listener&amp;quot;, new CustomBindingListener(getServletContext()));&lt;br /&gt;
    out.println(&amp;quot;This page intentionally left blank&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class CustomBindingListener implements HttpSessionBindingListener {&lt;br /&gt;
  ServletContext context;&lt;br /&gt;
  public CustomBindingListener(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 Date() + &amp;quot;] BOUND as &amp;quot; + event.getName() + &amp;quot; to &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 Date() + &amp;quot;] UNBOUND as &amp;quot; + event.getName() + &amp;quot; from &amp;quot;&lt;br /&gt;
        + event.getSession().getId());&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;
== HttpSession: getAttributeNames() ==&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 java.util.Date;&lt;br /&gt;
import java.util.Enumeration;&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 SessionSnoop extends HttpServlet {&lt;br /&gt;
  public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException,&lt;br /&gt;
      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;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;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;Session Count&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 Count&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 == 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() + &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 + &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()) + &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; + req.isRequestedSessionIdFromCookie()&lt;br /&gt;
        + &amp;quot;&amp;lt;BR&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;Requested session ID from URL: &amp;quot; + req.isRequestedSessionIdFromURL() + &amp;quot;&amp;lt;BR&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;Requested session ID valid: &amp;quot; + 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 &amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;to test that session tracking works via URL&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;rewriting even when cookies aren&amp;quot;t supported.&amp;quot;);&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;
}&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;
== HttpSession: getAttribute(String key) ==&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 java.util.Date;&lt;br /&gt;
import java.util.Enumeration;&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 SessionSnoop extends HttpServlet {&lt;br /&gt;
  public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException,&lt;br /&gt;
      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;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;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;Session Count&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 Count&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 == 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() + &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 + &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()) + &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; + req.isRequestedSessionIdFromCookie()&lt;br /&gt;
        + &amp;quot;&amp;lt;BR&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;Requested session ID from URL: &amp;quot; + req.isRequestedSessionIdFromURL() + &amp;quot;&amp;lt;BR&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;Requested session ID valid: &amp;quot; + 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 &amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;to test that session tracking works via URL&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;rewriting even when cookies aren&amp;quot;t supported.&amp;quot;);&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;
}&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;
== HttpSession: getCreationTime() ==&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;
import java.io.IOException;&lt;br /&gt;
import java.util.Date;&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 ManualInvalidate extends HttpServlet {&lt;br /&gt;
  public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException,&lt;br /&gt;
      IOException {&lt;br /&gt;
    res.setContentType(&amp;quot;text/html&amp;quot;);&lt;br /&gt;
    HttpSession session = req.getSession();&lt;br /&gt;
    // Invalidate the session if it&amp;quot;s more than a day old or has been&lt;br /&gt;
    // inactive for more than an hour.&lt;br /&gt;
    if (!session.isNew()) { // skip new sessions&lt;br /&gt;
      Date dayAgo = new Date(System.currentTimeMillis() - 24 * 60 * 60 * 1000);&lt;br /&gt;
      Date hourAgo = new Date(System.currentTimeMillis() - 60 * 60 * 1000);&lt;br /&gt;
      Date created = new Date(session.getCreationTime());&lt;br /&gt;
      Date accessed = new Date(session.getLastAccessedTime());&lt;br /&gt;
      if (created.before(dayAgo) || accessed.before(hourAgo)) {&lt;br /&gt;
        session.invalidate();&lt;br /&gt;
        session = req.getSession(); // get a new session&lt;br /&gt;
      }&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;
== HttpSession: getId() ==&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 java.util.Date;&lt;br /&gt;
import java.util.Enumeration;&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 SessionSnoop extends HttpServlet {&lt;br /&gt;
  public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException,&lt;br /&gt;
      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;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;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;Session Count&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 Count&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 == 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() + &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 + &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()) + &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; + req.isRequestedSessionIdFromCookie()&lt;br /&gt;
        + &amp;quot;&amp;lt;BR&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;Requested session ID from URL: &amp;quot; + req.isRequestedSessionIdFromURL() + &amp;quot;&amp;lt;BR&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;Requested session ID valid: &amp;quot; + 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 &amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;to test that session tracking works via URL&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;rewriting even when cookies aren&amp;quot;t supported.&amp;quot;);&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;
}&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;
== HttpSession: getLastAccessedTime() ==&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.util.Date;&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 ManualInvalidate extends HttpServlet {&lt;br /&gt;
  public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException,&lt;br /&gt;
      IOException {&lt;br /&gt;
    res.setContentType(&amp;quot;text/html&amp;quot;);&lt;br /&gt;
    HttpSession session = req.getSession();&lt;br /&gt;
    // Invalidate the session if it&amp;quot;s more than a day old or has been&lt;br /&gt;
    // inactive for more than an hour.&lt;br /&gt;
    if (!session.isNew()) { // skip new sessions&lt;br /&gt;
      Date dayAgo = new Date(System.currentTimeMillis() - 24 * 60 * 60 * 1000);&lt;br /&gt;
      Date hourAgo = new Date(System.currentTimeMillis() - 60 * 60 * 1000);&lt;br /&gt;
      Date created = new Date(session.getCreationTime());&lt;br /&gt;
      Date accessed = new Date(session.getLastAccessedTime());&lt;br /&gt;
      if (created.before(dayAgo) || accessed.before(hourAgo)) {&lt;br /&gt;
        session.invalidate();&lt;br /&gt;
        session = req.getSession(); // get a new session&lt;br /&gt;
      }&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;
== HttpSession: getLastAccessedTime() (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;
import java.io.IOException;&lt;br /&gt;
import java.io.PrintWriter;&lt;br /&gt;
import java.util.Date;&lt;br /&gt;
import java.util.Enumeration;&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 SessionSnoop extends HttpServlet {&lt;br /&gt;
  public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException,&lt;br /&gt;
      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;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;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;Session Count&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 Count&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 == 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() + &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 + &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()) + &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; + req.isRequestedSessionIdFromCookie()&lt;br /&gt;
        + &amp;quot;&amp;lt;BR&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;Requested session ID from URL: &amp;quot; + req.isRequestedSessionIdFromURL() + &amp;quot;&amp;lt;BR&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;Requested session ID valid: &amp;quot; + 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 &amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;to test that session tracking works via URL&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;rewriting even when cookies aren&amp;quot;t supported.&amp;quot;);&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;
}&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;
== HttpSession: getMaxInactiveInterval() ==&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 SessionTimer extends HttpServlet {&lt;br /&gt;
  public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException,&lt;br /&gt;
      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;
    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;
    out.println(&amp;quot;The previous timeout was &amp;quot; + session.getMaxInactiveInterval());&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;BR&amp;gt;&amp;quot;);&lt;br /&gt;
    session.setMaxInactiveInterval(2 * 60 * 60); // two hours&lt;br /&gt;
    out.println(&amp;quot;The newly assigned timeout is &amp;quot; + 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;
}&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;
== HttpSession: invalidate() ==&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.util.Date;&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 ManualInvalidate extends HttpServlet {&lt;br /&gt;
  public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException,&lt;br /&gt;
      IOException {&lt;br /&gt;
    res.setContentType(&amp;quot;text/html&amp;quot;);&lt;br /&gt;
    HttpSession session = req.getSession();&lt;br /&gt;
    // Invalidate the session if it&amp;quot;s more than a day old or has been&lt;br /&gt;
    // inactive for more than an hour.&lt;br /&gt;
    if (!session.isNew()) { // skip new sessions&lt;br /&gt;
      Date dayAgo = new Date(System.currentTimeMillis() - 24 * 60 * 60 * 1000);&lt;br /&gt;
      Date hourAgo = new Date(System.currentTimeMillis() - 60 * 60 * 1000);&lt;br /&gt;
      Date created = new Date(session.getCreationTime());&lt;br /&gt;
      Date accessed = new Date(session.getLastAccessedTime());&lt;br /&gt;
      if (created.before(dayAgo) || accessed.before(hourAgo)) {&lt;br /&gt;
        session.invalidate();&lt;br /&gt;
        session = req.getSession(); // get a new session&lt;br /&gt;
      }&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;
== HttpSession: isNew() ==&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 java.util.Date;&lt;br /&gt;
import java.util.Enumeration;&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 SessionSnoop extends HttpServlet {&lt;br /&gt;
  public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException,&lt;br /&gt;
      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;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;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;Session Count&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 Count&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 == 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() + &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 + &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()) + &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; + req.isRequestedSessionIdFromCookie()&lt;br /&gt;
        + &amp;quot;&amp;lt;BR&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;Requested session ID from URL: &amp;quot; + req.isRequestedSessionIdFromURL() + &amp;quot;&amp;lt;BR&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;Requested session ID valid: &amp;quot; + 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 &amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;to test that session tracking works via URL&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;rewriting even when cookies aren&amp;quot;t supported.&amp;quot;);&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;
}&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;
== HttpSession: setAttribute(String key, Object value) ==&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 java.util.Date;&lt;br /&gt;
import java.util.Enumeration;&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 SessionSnoop extends HttpServlet {&lt;br /&gt;
  public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException,&lt;br /&gt;
      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;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;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;Session Count&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 Count&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 == 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() + &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 + &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()) + &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; + req.isRequestedSessionIdFromCookie()&lt;br /&gt;
        + &amp;quot;&amp;lt;BR&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;Requested session ID from URL: &amp;quot; + req.isRequestedSessionIdFromURL() + &amp;quot;&amp;lt;BR&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;Requested session ID valid: &amp;quot; + 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 &amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;to test that session tracking works via URL&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;rewriting even when cookies aren&amp;quot;t supported.&amp;quot;);&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;
}&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;
== HttpSession: setMaxInactiveInterval(int arg0) ==&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 SessionTimer extends HttpServlet {&lt;br /&gt;
  public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException,&lt;br /&gt;
      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;
    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;
    out.println(&amp;quot;The previous timeout was &amp;quot; + session.getMaxInactiveInterval());&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;BR&amp;gt;&amp;quot;);&lt;br /&gt;
    session.setMaxInactiveInterval(2 * 60 * 60); // two hours&lt;br /&gt;
    out.println(&amp;quot;The newly assigned timeout is &amp;quot; + 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;
}&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>
		<author><name>Admin</name></author>	</entry>

	</feed>