思路:
1、首先设置一个变量记录访问次数初值为1(打开即访问);
2、判断ServletContext对象中的count属性是否为空;
空:在ServletContext对象中添加一个新的count属性值,并赋初值为1;
非空:获取ServletContext对象中的count属性值,将count加1,再将count赋值给ServletContext对象;
package cn.webpro.ml;
import java.io.IOException;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* 统计访问数量
* @author CDU_LM
*
*/
@WebServlet("/AServlet")
public class AServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 获取ServletContext对象
ServletContext app = this.getServletContext();
// 定义一个变量记录访问次数,初始值为1,因为不管count是否存在,打开网页就已经访问了一次
int count = 1;
// 判断是否访问次数为空
if(app.getAttribute("count") != null){ // 不为空
count = (int)app.getAttribute("count"); // 获取访问次数
count += 1; // 访问次数加一
app.setAttribute("count", count); // 设置加1后的访问次数
}else { // 访问次数为空
app.setAttribute("count", 1); // 设置访问次数的属性和值,初始值为1
}
// 响应次数
response.getWriter().print(count);
System.out.println(count); // 打印访问次数
}
}
浏览器请求结果:
控制台输出结果: