* ServletContext对象学习:
* 问题:
* 不同用户使用相同数据
* 解决:
* 使用ServletContext对象
* 特点:
* 服务器创建
* 用户共享
* 作用域:
* 整个项目内
* 生命周期:
* 服务器启动到服务器关闭
* 使用:
* 获取ServletContext对象
* //第一种方式
* ServletContext sc = this.getServletContext();
* //第二种方式
* ServletContext sc2 = this.getServletConfig().getServletContext();
* //第三种方式
* ServletContext sc3 = request.getSession().getServletContext();
* 使用ServletContext对象完成数据共享
* 数据存储
* sc.setAttribute(String name,Object value);
* 数据获取
* sc.getAttribute(String name);返回Object类型。
* 注意:
* 不同用户可以给ServletContext进行数据存取。
* 获取数据不存在返回null。
* 获取web.xml文件中的全局配置数据
* sc.getInitParameter(String name);根据键的名字返回web.xml中配置的全局数据的值,返回String类型。
* 如果数据不存在则返回null。
* sc.getInitParameterName();返回键名的枚举。
* 配置方式:
* 注意一组<context-param>标签只能存储一组键值对数据,多组可以声明多个<context-param>进行存储。
* <context-param>
* <param-name>name</param-name>
* <param-value>vlaue</param-value>
* </context-param>
* 作用:
* 将静态数据和代码进行解耦。
* 获取项目WebContent下的资源的绝对路径
* sc.getRealPath(String path);
* 获取路径为项目根目录,path参数为项目根目录中的路径。
* 获取项目WebContent下的资源的流对象
* sc.getResourceAsStream(String path);path参数为项目根目录中的路径。
* 注意:
* 此种方式只能获取项目根目录下的资源流对象,class文件的流对象需要使用类加载器获取。
ServletContext对象基础学习
最新推荐文章于 2024-09-21 22:27:00 发布