一:ServletContext介绍
- ServletContext是应用上下文对象。每一个应用中只有一个ServletContext对象
- 作用:可以配置和获得应用的全局初始化参数,可以实现Servlet之间的数据共享
- 生命周期:应用加载即创建,应用停止即销毁
二:域对象
- 指对象的的作用域。也就是有作用的范围。域对象可以实现数据的共享,不同作用范围的域对象,共享数据的能力也不一样
- 在Servlet规范中,一共有4个作用域。可以实现整个应用之间的数据共享
三:ServletContext配置方式
<!--配置ServletContext-->
<context-param>
<param-name>globalEncoding</param-name>
<param-value>UTF-8</param-value>
</context-param>
<context-param>
<param-name>globalDesc</param-name>
<param-value>ServletContext</param-value>
</context-param>
四:ServletContext常用方法
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
ServletContext context = getServletContext();
//根据名称获取全局配置的参数
String globalEncoding = context.getInitParameter("globalEncoding");
System.out.println(globalEncoding);
//获取虚拟目录
String contextPath = context.getContextPath();
System.out.println(contextPath);
//获取绝对路径
String realPath = context.getRealPath("/");
System.out.println(realPath);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
}
//设置共享数据
context.setAttribute("username","hanjie");
//删除共享数据
context.removeAttribute("username");
//获取共享数据
Object username = servletContext.getAttribute("username");
System.out.println(username);