Servle使用上下文对象查询访问网站频率
容器在启动的时候,会为每个web应用分配一个ServletContext上下文对象,他代表的就是
这个应用,是一个全局的变量,该应用的任何组件,都可以在任何位置访问到他,除非整个应用销毁
如何得到他:
getServletContent()—>GenericServlet
还可以通过ServletConfig或者
后期还可以通过HttpSession
//获得上下文对象
ServletContext sc = getServletContext();
代码如下:`
@WebServlet("/count")
public class CountServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8");
PrintWriter out = resp.getWriter();
//获得上下文对象
ServletContext sc = getServletContext();
//查看当前数据
Object count =sc.getAttribute("count");
if(count==null){
//绑定数据
sc.setAttribute("count",1);
}else {
int num = Integer.parseInt(count.toString());
num++;
//重新绑定
sc.setAttribute("count",num);
}
//打印获取数据
out.println("总访问次数:"+sc.getAttribute("count"));
}
}