ServletContext 是 应用上下文对象
它的配置是针对整个应用的配置,而非某个特定Servlet的配置。它的配置被称为应用的初始化参数配置。
就是配置整个 web.xml 全局的成员 的 key与value
也就是 全局配置
使用的标签是
他要写到
与 标签的外面 标签的里面
param-name 就是全局成员的 key
param-value 就是全局成员的 value
context 的方法介绍 与 使用功能
获取context对象
通过 ServletConfig.gerServletContext();来获取
也可以这么获取
//获取ServletContext对象
ServletContext context = getServletContext();
//获取全局配置的,这里的参数是标签里的内容
String value = context.getInitParameter(“globalEncoding”);
System.out.println(value);
//获取应用的访问虚拟目录
context.getContextPath();
//根据虚拟目录获取应用部署的磁盘绝对路径
//获取文件的绝对路径
context.getRealPath("/文件名.文件后缀名")
这是获取在web目录中 WEB-INF外 的文件绝对路径
获取在web目录中 WEB-INF内 的文件绝对路径
context.getRealPath("/WEN-INF/文件名.文件后缀名")
获取在web目录外 src内 的文件绝对路径
context.getRealPath("/WEN-INF/classes/文件名.文件后缀名")
其原因是,servletcontext 及 servlet 访问文件 都是去 out 目录中找WEN目录里 打好的 war 包。web内 文件的war包 在 out目录里 , WEB-INF 内的文件war包 在 out目录里 WEB-INF,而 src内的文件 war包 是在 out—>WEN-INF —> classes 目录里
//向域对象中存储数据
context.setAttribute(name,value);
这里的参数 name就是 key 通过name找到对应的value
进行修改.
如果这个key不存在,就创建新的 key 与 value
如果 key 已存在 ,就将原来的 value 替换成 这个新的 value
这里key和value是param-name 与 param-value 标签中配置
//移除域对象中username的数据
//context.removeAttribute("username");
这里的参数是<param-name> 也就是全局成员的key