Servlet - ServletContext相关

/*

作用: 解决不同的用户使用相同的数据的问题

特点: 由服务器创建, 用户共享

作用域: 整个项目内

生命周期: 服务器启动到服务器关闭

使用: 
    
    // 获取 ServletContext 对象
    // 第一种方式
        ServletContext sc = this.getServletContext();
    // 第二种方式
        ServletContext sc = this.getServletConfig().getServletContext();
    // 第三种方式
        ServletContext sc = req.getSession().getServletContext();

    // 数据存储
        sc.setAttribute(key, value);
        
    // 数据获取
        sc.getAttribute(key);
        
        注意: 不用的用户可以给ServletContext对象进行数据的存取
                获取的数据不存在, 则返回null

    // 获取项目中 web.xml 文件中的全局配置数据
        String paramValue = sc.getInitParameter(name);
        
            注意: 如果数据不存在, 则返回null

        web.xml中的写法: 
            <context-param>
                <param-name></param-name>
                <param-value></param-value>
            </context-param>
            
            注意: 一组<context-param>标签只能存储一组键值对数据
                    多组数据可以配置多个<context-param>进行存储
        
    // 获取项目WebRoot下的资源的绝对路径(获取的路径为项目的根目录,参数为项目根目录中的路径)
        String path = sc.getRealPath(String path);
        
    // 获取项目WebRoot下的资源的流对象, 参数为项目根目录中的路径
        sc.getResourceAsStream(String path);
        
            注意: 这种方式只能获取项目根目录下的资源流对象, class文件的流对象需要用类加载器获取
        
*/

 

上一篇:ServletContext


下一篇:JavaWeb学习笔记(五)Servlet