⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sessionservlet.java

📁 J2EE开发与Weblogic一书中的源代码
💻 JAVA
字号:
package com.learnweblogic.examples.ch3;

import java.io.*;
import java.text.DateFormat;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class SessionServlet extends HttpServlet {
    
    public void doGet(HttpServletRequest req, HttpServletResponse res)
    throws ServletException, IOException {
        // Get the session object. Don't do this in real life.
        // Use getSession(false) and redirect the request to log in on failure.
        HttpSession session = req.getSession(true);
        
        // Retrieve the count value from the session
        Counter cntr = (Counter)
        session.getAttribute("sessiontest.counter");
        
        // Increment the counter. If the counter is not
        // currently contained in the session, create it
        if (null!=cntr) {
            cntr.increment();
        } else {
            cntr = new Counter();
            session.setAttribute("sessiontest.counter", cntr);
        }
        
        // set content type and obtain a PrintWriter
        res.setContentType("text/html");
        PrintWriter out = res.getWriter();
        
        // then write the data of the response
        out.println("<HEAD><TITLE>SessionServlet Output</TITLE></HEAD><BODY>");
        out.println("<h1>SessionServlet Output</h1>");
        
        // And print out number of times the user has hit this page:
        out.println("You have hit this page <b>" + cntr.toString() +
        "</b> times.<p>");
        out.println("Click <a href=" + res.encodeURL("/SessionServlet") +
        ">here</a>");
        out.println(" to ensure that session tracking is working even " +
        "if cookies aren't supported.<br>");
        out.println("<p>");
    
        // Finally, demonstrate some of the more common methods in the
        // HttpSession object surrounding sessions:
        out.println("<h3>Request and Session Data:</h3>");
        out.println("Session ID in Request: " +
        req.getRequestedSessionId());
        out.println("<br>Session ID in Request from Cookie: " +
        req.isRequestedSessionIdFromCookie());
        out.println("<br>Session ID in Request from URL: " +
        req.isRequestedSessionIdFromURL());
        out.println("<br>Valid Session ID: " +
        req.isRequestedSessionIdValid());
        out.println("<h3>Session Data:</h3>");
        out.println("New Session: " + session.isNew());
        out.println("<br>Session ID: " + session.getId());
        DateFormat df = DateFormat.getDateTimeInstance(DateFormat.DEFAULT,DateFormat.FULL);
        out.println("<br>Creation Time: " +
        df.format(new Date(session.getCreationTime())));
        out.println("<br>Last Accessed Time: " +
        df.format(new Date(session.getLastAccessedTime())));
        out.println("</BODY>");
    }
    
    class Counter implements Serializable {
        private int counter;
        public Counter() {
            counter = 1;
        }
        
        public void increment() {
            counter++;
        }
        
        public String toString() {
            return String.valueOf(counter);
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -