首页 > 其他分享 >ServletConfig、ServletContext概述、配置及ServletContext的三个作用

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

时间:2022-10-08 19:32:36浏览次数:49  
标签:Web String ServletConfig 概述 ServletContext path Servlet


目录

​一、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文件中的 <servlet></servlet> 标签下进行的,需要使用

<init-param></init-param> 标签将参数名和参数值包住,表示一个键值对,其中使用 <param-name></para-name> 表示参数名, <param-value></param-value> 表示参数值

● 一个 <init-param></init-param> 只能表示一个键值对

范例:

<servlet-class>com.liaoxiangqian.ServletConfigDemo</servlet-class>
<!--配置encoding参数,使用一个init-param标签-->
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<!--配置desc参数,使用一个init-param标签-->
<init-param>
<param-name>desc</param-name>
<param-value>this is ServletConfigDemo</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>ServletConfigDemo</servlet-name>
<url-pattern>/ServletConfigDemo</url-pattern>
</servlet-mapping>

三、ServletContext概述

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

四、ServletContext配置

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

范例:

<context-param>
<param-name>globalEncoding</param-name>
<param-value>UTF-8</param-value>
</context-param>
<context-param>
<param-name>globaleDesc</param-name>
<param-value>This is SevletContext</param-value>
</context-param>

五、ServletContext的三个作用

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

1、Enumeration getInitParameterName()

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应用的路径,以斜杆/开头

标签:Web,String,ServletConfig,概述,ServletContext,path,Servlet
From: https://blog.51cto.com/u_15815415/5738612

相关文章

  • 函数式接口概述、作为方法的参数、作为方法的返回值及函数式接口Supplier介绍
    目录​​一、函数式接口概述​​​​二、函数式接口作为方法的参数​​​​三、函数式接口作为方法的返回值​​​​四、函数式接口Supplier​​​​五、Supplier接口练习:获......
  • jQuery 概述
    一、jQuery概述(一)JavaScript库1、JavaScript库:即library,是一个封装好的特定的集合(方法和函数)。从封装一大堆函数的角度理解库,就是在这个库中,封装了很多预先定义好的函......
  • JavaWeb/JavaEE开发入门(概述-总纲)
    作为初学者的浅知薄见,漫谈概览.欢迎指正和交流.1.从SE到Web到EE开发刚入门Java开发的时候,即使对于计算机网络有所了解,但是对于从围绕JDK展开学习的JavaSE的过程......
  • 12第四章:【01】设计模式概述
    一、设计模式介绍设计模式是程序员在面对同类软件工程设计问题所总结出来的有用的经验,模式不是代码,而是某类问题的通用解决方案,设计模式(Designpattern)代表了最佳的实......
  • 计算机网络原理(TCP/IP协议一):概述
    体系结构原则设计和实现TCP/IP协议族结构和协议Internet/内联网/外联网设计应用标准话进程与Internet体系结构相关的攻击有效沟通取决于使用共同的语言。这一观......
  • system desing 系统设计(十五):数据存储data storage和检索retrieval原理概述
      10年前,bigdata火遍全球,进而带动了数据存储的大发展!互联网大厂动辄数亿的DAU,每天带来了PB级别的新增数据;这么多数据,正确、快速的存储和精准、高效的查询/检索成了当......
  • 物化视图概述
    物化视图是预先存储或“物化”为模式对象的查询结果。查询的FROM子句可以命名表、视图或物化视图。物化视图通常在复制中充当主表,在数据仓库中充当事实表。物化视图汇总、......
  • Android 创建与解析XML(一)—— 概述
    Android是最常用的智能手机平台,XML是数据交换的标准媒介,Android中可以使用标准的XML生成器、解析器、转换器API,对XML进行解析和转换。XML,相关有DOM、SAX、JDOM、DOM......
  • NAT的简单概述
    作者:Three链接:https://www.lofter.com/lpost/1f01bc1b_1c61e1ed6来源:LOFTERNAT(NetworkAddressTranslation)网络地址转换IP地址已经变得稀缺和昂贵(当到完全采用IPV6)。S......
  • 数据库—数据库系统概述
    一、数据库的地位      数据库技术产生于六十年代末,是数据管理的有效技术,是计算机科学的最重要分支。数据库技术是信息系统的核心和基础,它的出现极大地促进了计算......