统计网站的访问次数(刷新浏览器): 创建两个Servlet,ServletDemo4用于存储,ServletDemo5用于显示。 在类ServletDemo4中给次数(count)设置一个初始值 0存入到 ServletContext中。 每次访问doGet()法就会执行 count + 1,并将count值存入到 ServletContext中。 在类ServletDemo5中用getAttribute (“count”)方法获取到count值。
时间: 2024-03-23 16:36:01 浏览: 106
感谢您的提问!这是一个关于统计网站访问次数的问题,需要使用 Servlet 技术实现。以下是具体步骤:
1. 创建两个 Servlet,分别命名为 ServletDemo4 和 ServletDemo5。
2. 在 ServletDemo4 中,设置一个初始值为 0 的计数器 count,并将其存入 ServletContext 中。
3. 在 ServletDemo4 的 doGet() 方法中,每次访问时让 count 自增 1,并将更新后的 count 值再次存入 ServletContext 中。
4. 在 ServletDemo5 的 doGet() 方法中,使用 getAttribute("count") 方法获取 ServletContext 中保存的 count 值,并输出到页面中显示。
下面是实现代码示例:
ServletDemo4.java
```
import java.io.*;
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
@WebServlet("/ServletDemo4")
public class ServletDemo4 extends HttpServlet {
private static final long serialVersionUID = 1L;
private int count = 0;
public void init(ServletConfig config) throws ServletException {
super.init(config);
ServletContext context = this.getServletContext();
context.setAttribute("count", count);
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
ServletContext context = this.getServletContext();
count = (int) context.getAttribute("count");
count++;
context.setAttribute("count", count);
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("<html><head><title>统计网站访问次数</title></head><body>");
out.println("<h2>您是第 " + count + " 位访问本站的用户!</h2>");
out.println("</body></html>");
}
}
```
ServletDemo5.java
```
import java.io.*;
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
@WebServlet("/ServletDemo5")
public class ServletDemo5 extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
ServletContext context = this.getServletContext();
int count = (int) context.getAttribute("count");
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("<html><head><title>统计网站访问次数</title></head><body>");
out.println("<h2>本站已有 " + count + " 位用户访问过!</h2>");
out.println("</body></html>");
}
}
```
需要注意的是,在这个示例中,我们使用了 ServletContext 对象来存储网站的访问次数。ServletContext 是在整个 Web 应用程序中共享的对象,可以在多个 Servlet 中共享数据。因此,我们可以在 ServletDemo4 中保存 count 值,并在 ServletDemo5 中获取这个值来显示网站的访问次数。
阅读全文