AdminServlet.java
上传用户:dinglihq
上传日期:2013-02-04
资源大小:99958k
文件大小:2k
源码类别:

Java编程

开发平台:

Java

  1. package bible.servlets;
  2. import javax.servlet.*;
  3. import javax.servlet.http.*;
  4. import java.io.*;
  5. import java.util.*;
  6. public class AdminServlet extends HttpServlet {
  7.   public void service(HttpServletRequest request, HttpServletResponse response)
  8.   throws IOException {
  9.     ServletContext ctx = this.getServletContext();
  10.     HttpSession session = request.getSession();
  11.     String servletName = this.getServletName();
  12.     if (request.getParameter("action") == null) {
  13.       // Generate an HTML page listing all active sessions.
  14.       // This servlet does NOT store data into the session
  15.       // or the servlet context.
  16.       response.setContentType("text/html");
  17.       PrintWriter out = response.getWriter();
  18.       out.println("<html>");
  19.       out.println("<head><title>" + servletName + "</title></head>");
  20.       out.println("<body>");
  21.       out.print("<p>Welcome to the " + servletName + ". ");
  22.       out.print("Click your browser's Refresh button ");
  23.       out.print("to update the display.</p>");
  24.       // Get the names of all attributes in the servlet context.
  25.       Enumeration sessions = ctx.getAttributeNames();
  26.       int numSessions = 0;
  27.       // Loop through the attributes, rendering the ones we recognize
  28.       // as our sessions to the HTML output.
  29.       while (sessions.hasMoreElements()) {
  30.         String sessionName = (String) sessions.nextElement();
  31.         if (sessionName.startsWith("session_")) {
  32.           Hashtable sessionInfo = (Hashtable) ctx.getAttribute(sessionName);
  33.           String userName = (String) sessionInfo.get("userName");
  34.           Integer pageNumber = (Integer) sessionInfo.get("pageNumber");
  35.           out.println("<p>" + userName + " is on page " + pageNumber.intValue() + ".</p>");
  36.           numSessions++;
  37.         }
  38.       }
  39.       // If there are no sessions, indicate that as well.
  40.       if (numSessions == 0) {
  41.         out.println("<p>There are no active sessions.</p>");
  42.       }
  43.       out.println("<p></p>");
  44.       out.println("<p><a href="" + response.encodeURL(servletName + "?action=logoff") + "">Log Off</a></p>");
  45.       out.println("</body></html>");
  46.     } else if (request.getParameter("action").equals("logoff")) {
  47.         // User wants to log off. Invalidate their session and
  48.         // redirect them to the home page.
  49.       session.invalidate();
  50.       response.sendRedirect(response.encodeURL("/BibleServlets/Home.html"));
  51.     }
  52.   }
  53. }