10.3 实例:显示会话信息
下面这个例子生成一个Web页面,并在该页面中显示有关当前会话的信息。
package hall;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.net.*;
import java.util.*;
public class ShowSession extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
HttpSession session = request.getSession(true);
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String title = "Searching the Web";
String heading;
Integer accessCount = new Integer(0);;
if (session.isNew()) {
heading = "Welcome, Newcomer";
} else {
heading = "Welcome Back";
Integer oldAccessCount =
// 在Servlet API 2.2中使用getAttribute而不是getValue
(Integer)session.getValue("accessCount");
if (oldAccessCount != null) {
accessCount =
new Integer(oldAccessCount.intValue() + 1);
}
}
// 在Servlet API 2.2中使用putAttribute
session.putValue("accessCount", accessCount);
out.println(ServletUtilities.headWithTitle(title) +
"<BODY BGCOLOR="#FDF5E6">n" +
"<H1 ALIGN="CENTER">" + heading + "</H1>n" +
"<H2>Information on Your Session:</H2>n" +
"<TABLE BORDER=1 ALIGN=CENTER>n" +
"<TR BGCOLOR="#FFAD00">n" +
" <TH>Info Type<TH>Valuen" +
"<TR>n" +
" <TD>IDn" +
" <TD>" + session.getId() + "n" +
"<TR>n" +
" <TD>Creation Timen" +
" <TD>" + new Date(session.getCreationTime()) + "n" +
"<TR>n" +
" <TD>Time of Last Accessn" +
" <TD>" + new Date(session.getLastAccessedTime()) + "n" +
"<TR>n" +
" <TD>Number of Previous Accessesn" +
" <TD>" + accessCount + "n" +
"</TABLE>n" +
"</BODY></HTML>");
}
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}