简介
Web应用的Application域的实现是通过ServletContext对象实现的。整个Web应用程序的所有资源共享这个域。生命周期与Web应用程序相同,即当前Web应用程序启动时(以服务器视角而非访客视角)出生,Web应用服务程序关闭时停止。
通过ServletContext对象可以实现在整个Web应用的动态资源之间共享数据。例如在AServlet中向ServletContext对象中保存一个值,然后在BServlet中就可以获取这个值,这就是共享数据。
获取ServletContext对象
在原始的Servlet接口中,获取ServletContext对象的方法是在init(ServletConfig config)方法中,通过传过来的对象config中的getServletContext()方法来获取。
public class MyServlet implements Servlet {......public void init(ServletConfig config) { ServletContext context = config.getServletContext();}......
}
在例如HttpServlet等一系列实现类中,如果有其他实现,应当查看源码和说明文档。比如在HttpServlet中,已经有实现获取ServletContext对象的方法:,我们直接通过 this.方法 来获取即可:
public class MyServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response) { ServletContext context = this.getServletContext();}
}