ServletContext和服务的生命周期一致,服务启动后,就只有一个,一直到死,所以我们可以用它来存储一些公共资源。
首先拿到application
static{
ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
HttpServletRequest request = servletRequestAttributes.getRequest();
application = request.getSession().getServletContext();
}
public static ServletContext application;
然后进行存储:
Const.application.setAttribute("chartData",obj.toString());
所有用户都可以通过
String result = (String)Const.application.getAttribute("chartData");
这种方式拿到存储的公共资源,
我是为了实现将第一次的请求结果存储起来,供第二次请求时直接调用。
但通常大家都使用它来存储网站的访问次数这类信息