美文网首页
servlet学习(四):ServletContext接口简介

servlet学习(四):ServletContext接口简介

作者: 程序员三千_ | 来源:发表于2019-02-25 11:30 被阅读2次

    WEB容器在启动时,它会为每个WEB应用程序都创建一个对应的ServletContext对象,ServletContext对象包含Web应用中所有 Servlet 在 Web 容器中的一些数据信息。ServletContext随着Web应用的启动而创建,随着 Web 应用的关闭而销毁。一个 Web 应用只有一个ServletContext 对象。

ServletContext中不仅包含了 web.xml 文件中的配置信息,还包含了当前应用中所有Servlet可以共享的数据。可以这么说, ServeltContext 可以代表整个应用,所以ServletContext有另外一个名称:application。


示例:

之前我们为每个servlet配置过初始化信息,现在我们在web.xml文件中为application整个应用配置初始化参数,web.xml文件修改后要重启tomcat才能生效:

创建servlet:

新建一个servlet,访问刚刚添加的属性:

ServletContext中常用方法

    ServletConfig对象中维护了ServletContext对象的引用,开发人员在编写servlet时,可以通过ServletConfig.getServletContext()方法获得ServletContext对象。

1、String getInitParameter ():获取 web.xml 文 件 的 中 指 定 名 称 的上下文参数值 。

2、Enumeration getInitParameterNames():获取 web.xml 文件的中的所有的上下文参数名称。其返回值为枚举类型 Enumeration。

3、void setAttribute(String name, Object object):在 ServletContext 的公共数据空间中,也称为域属性空间,放入数据。这些数据对于 Web应用来说,是全局性的,与整个应用的生命周期相同。当然,放入其中的数据是有名称的,通过名称来访问该数据。

4、Object getAttribute(String name):从 ServletContext 的域属性空间中获取指定名称的数据。

5、void removeAttribute(String name):从 ServletContext 的域属性空间中删除指定名称的数据。

6、String getRealPath(String path):获取当前 Web 应用中指定文件或目录在本地文件系统中的路径。

7、String getContextPath():获取当前应用在 Web 容器中的名称。

相关文章

网友评论

      本文标题:servlet学习(四):ServletContext接口简介

      本文链接:https://www.haomeiwen.com/subject/dwuwyqtx.html