• ServletConfig、ServletContext概述、配置及ServletContext的三个作用


    目录

    一、ServletConfig概述

    二、ServletConfig配置

    三、ServletContext概述

    四、ServletContext配置

    五、ServletContext的三个作用


    一、ServletConfig概述

    ● ServletConfig是一个接口
    ● 当Tomcat初始化一个Servlet时,会将该Servlet的配置信息封装到一个ServletConfig对象中,通过调用init(ServletConfig config)方法将ServletConfig对象传递给Servlet,ServletConfig的生命周期与Servlet一样
    ● ServletConfig封装的配置信息是键值对的形式

    常用方法

    方法说明
    String getInitParameter(String
    name)
    根据参数名返回对应的参数值
    Enumeration
    getInitParameterNames()
    返回一个Enumeration对象,其中包含了所有的参数名
    ServletContext getServletContext()返回代表当前web应用的ServletContext对象
    String getServletName()返回Servlet的名称

    二、ServletConfig配置

    ● 配置ServletConfig也是在web.xml文件中的 标签下进行的,需要使用

    标签将参数名和参数值包住,表示一个键值对,其中使用 表示参数名, 表示参数值

    ● 一个 只能表示一个键值对

    范例:

    1. com.liaoxiangqian.ServletConfigDemo
    2. encoding
    3. UTF-8
    4. desc
    5. this is ServletConfigDemo
    6. ServletConfigDemo
    7. /ServletConfigDemo

    三、ServletContext概述

    ● Servlet容器启动时会为每个Web应用创建一个唯一的ServletContext对象代表当前Web应用,ServletContext对象封装了当前Web应用的所有信息
    ● ServletContext可以配置和获得应用的全局初始化参数,可以实现多个Servlet之间的数据共享
    ● 生命周期:应用加载则创建,应用停止则销毁

    四、ServletContext配置

    ● 在web.xml文件的 标签中,通过 标签来配置,其中他有两个子标签
    ● 子标签 表示全局初始化参数的key
    ● 子标签 表示全局初始化参数的value

    范例:

    1. globalEncoding
    2. UTF-8
    3. globaleDesc
    4. This is SevletContext

    五、ServletContext的三个作用

    获取Web应用程序的初始化参数:

    1、Enumeration getInitParameterName() 方法用于返回包含所有参数名的Enumeration对象

    2、String getInitParameter(String name) 方法用于根据参数名获取参数值

    实现多个Servlet之间的数据共享:

    方法名说明
    Enumeration
    getAttributeNames()
    返回包含所有域属性名的Enumeration对象
    Object getAttribute(String
    name)
    根据域属性名返回域属性值
    void removeAttribute(String
    name)
    根据域属性名从ServletContext中删除对应的域属性
    void setAttribute(String
    name,Object obj)
    设置ServletContext的域属性,其中name是域属性名,obj是域属性值

    注意:域属性指的是可以共享的数据,即可以被多个Servlet访问到

    读取Web应用下的资源文件:

    实际开发中有时会需要读取Web应用中的一些资源文件,为此ServletContext接口定义了一些
    读取Web资源的方法,这些方法由依靠Servlet容器实现,可以根据资源文件相对Web应用的
    路径,返回关联资源文件的IO流、资源文件的绝对路径等

    相关方法:

    方法名说明
    Set getResourcePaths(String
    path)
    返回一个Set集合,集合包含path指定路径下的子目录名称文件名称但是不包含子目录下的文件名称,path以斜杠/开头表示Web应用的根目录
    String getRealPath(String
    path)
    返回资源文件在服务器文件系统上的真实路径,参数path表示资源文件相对Web应用的路径,以斜杠/开头表示Web应用的根目录,如果不能将虚拟路径转为真实路径则返回null
    URL getResource(String
    path)
    返回映射到某个资源文件的URL对象,参数必须以斜杠/开头表示Web应用的根目录
    InputStream
    getResourceAsStream(String
    path)
    返回映射到某个资源文件的InputStream输入流对象,参数path的传递规则与getResource()一致

    总结:这四个方法中的path其实就是相对于Web应用的路径,以斜杆/开头

  • 相关阅读:
    Java 基础高频面试题(2022年最新版)
    docker入门
    用HTML+CSS做一个简单好看的校园社团网页
    django环境配置出错
    Python项目实战 —— 04. 淘宝用户行为分析
    华为正式捐赠欧拉:操作系统领域的重量级开源项目
    Windows 10注册表损坏该如何修复?
    9 - 类
    Node.js内置模块
    安卓手机格式化后怎么恢复
  • 原文地址:https://blog.csdn.net/m0_61961937/article/details/126990525