1)创建一个servlet,读取并显示HttpSession的ID、创建时间、最后访问时间、访问次数(访问次数需要往HttpSession中添加一个属性,刷新一次页面或者关闭浏览器后再次访问,则访问次数 + 1)。
时间: 2024-05-14 20:14:30 浏览: 98
【Servlet】Servlet显示时间和IP等信息
以下是一个简单的示例代码:
```
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class SessionInfoServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
HttpSession session = request.getSession();
Integer count = (Integer)session.getAttribute("count");
if (count == null) {
count = 1;
} else {
count++;
}
session.setAttribute("count", count);
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Session Information</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Session Information</h1>");
out.println("<p>Session ID: " + session.getId() + "</p>");
out.println("<p>Creation Time: " + new Date(session.getCreationTime()) + "</p>");
out.println("<p>Last Accessed Time: " + new Date(session.getLastAccessedTime()) + "</p>");
out.println("<p>Access Count: " + count + "</p>");
out.println("</body>");
out.println("</html>");
}
}
```
在上面的代码中,我们首先获取当前的HttpSession对象,并从中获取名为“count”的属性。如果该属性不存在,则将其设置为1,并将其存储回HttpSession对象中。如果属性已经存在,则将其值加1。这样,每次刷新页面或关闭浏览器后再次访问,访问计数器都会增加1。
接下来,我们通过调用HttpSession对象的方法获取会话ID、创建时间和最后访问时间,并将它们显示在HTML页面中。最后,我们将访问计数器的值也显示在页面上。
要在Web应用程序中使用这个servlet,我们需要在web.xml文件中添加以下代码:
```
<servlet>
<servlet-name>SessionInfoServlet</servlet-name>
<servlet-class>SessionInfoServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SessionInfoServlet</servlet-name>
<url-pattern>/sessioninfo</url-pattern>
</servlet-mapping>
```
这将会将Servlet映射到URL路径“/sessioninfo”上,以便我们可以通过浏览器访问它。例如,如果我们的Web应用程序部署在localhost:8080/myapp中,那么我们可以通过访问URL“http://localhost:8080/myapp/sessioninfo”来访问该servlet。
阅读全文