zoukankan      html  css  js  c++  java
  • 14 Servlet——ServletContext

    ServletContext对象的概念

    ServletContext对象实现存储不同的用户之间公用的一些数据

    特点:

    • 服务器创建
    • 用户共享

    作用域:整个项目内

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

    获取ServletContext对象

    第一种方式

    • ServletContext sc=this.getServletContext();

    第二种方式

    • ServletContext sc2=this.getServletConfig().getServletContext();

    第三种方式

    • ServletContext sc3=req.getSession().getServletContext();

    使用ServletContext对象完成数据共享

    数据存储

    • sc.setAttribute(String name, Object value);

    数据获取

    • sc.getAttribute("str") 返回的是Object类型

    注意:

    • 不同的用户可以给ServletContext对象进行数据的存取。
    • 获取的数据不存在返回null。

    全局配置数据的获取与配置

    一些web项目需要保存一些用户共享的静态数据,那我们就把这些数据配置在web.xml中。

    获取

    • sc.getInitParameter(String name); 根据键的名字返回web.xml中配置的全局数据的值,返回String类型。
    • sc.getInitParameterNames();返回键名的枚举
    • 如果数据不存在返回null。

    配置

    在web.xml中添加下面的代码

    注意:一组<context-param>标签只能存储一组键值对数据,多组可以声明多个 <context-param>进行存储。

    <context-param>
    
    <param-name>name</param-name>
    
    <param-value>value</param-value>
    
    </context-param>
    

      

    作用:将静态数据和代码进行解耦。

    获取项目webroot下的资源的绝对路径。

    • String path=sc.getRealPath(String path); //获取的路径为项目根目录,path参数为项目根目录中的路径

    获取webroot下的资源的流对象

    • InputStream is = sc.getResourceAsStream(String path);

    注意:

    • 此种方式只能获取项目根目录下的资源流对象,class文件的流对象需要使用类加载器获取
    • path参数为项目根目录中的路径如:/doc/1.txt
  • 相关阅读:
    深度学习python的配置(Windows)
    D02-R语言基础学习
    D01-R语言基础学习
    D17——C语言基础学PYTHON
    D16——C语言基础学PYTHON
    D15——C语言基础学PYTHON
    python packaging
    D14——C语言基础学PYTHON
    D13——C语言基础学PYTHON
    python-----多进程笔记
  • 原文地址:https://www.cnblogs.com/Scorpicat/p/12356898.html
Copyright © 2011-2022 走看看