`

Servlet API——ServletContext接口的简述

阅读更多

ServletContext接口的简述: public interface ServletContext

定义了一系列方法用于与相应的servlet容器通信,比如:获得文件的MIME类型,分派请求,或者是向日志文件写日志等。
每一个web-app只能有一个ServletContext,web-app可以是一个放置有web application 文件的文件夹,也可以是一个.war的文件。
ServletContext对象包含在ServletConfig对象之中,ServletConfig对象在servlet初始化时提供servlet对象。

getContext()方法概述: public ServletContext getContext(java.lang.String uripath)
返回一个指定URL地址的ServletContext对象。
该方法允许servlets获得对服务器的各部分上下文的访问权,并根据需要从上下文获得RequestDispatcher对象。这个指定的URL路径必须带有"/",被解释为服务器文档根目录下的相对路径,并跟其它web-app主机的上下文根目录匹配。
在一个安全的环境下,servlet容器会返回null。

getMajorVersion()方法概述: public int getMajorVersion()
返回servlet容器支持的Servlet API的版本号,所有实现都必须返回整型数2。

getMinorVersion()方法略。

getMimeType()方法概述: public java.lang.String getMimeType(java.lang.String file)
返回指定文件的文件类型,如果文件类型未知,则返回null。文件类型由servlet容器的配置决定并在一个web-app中被指定。一般情况下的文件类型是:"text/html" 和"image/gif"。

getResourcePaths()方法概述: public java.util.Set getResourcePaths(java.lang.String path)
返回一个存储web-app中所有资源路径的Set(集合)。
路径以”/"结尾表示一个子目录,并以"/"开头表示一个对于web-app的相对路径。

例子:
/welcome.html
/catalog/index.html
/catalog/products.html
/catalog/offers/books.html
/catalog/offers/music.html
/customer/login.jsp
/WEB-INF/web.xml
/WEB-INF/classes/com.acme.OrderServlet.class,

getResourcePaths("/") 将返回Set {"/welcome.html", "/catalog/", "/customer/", "/WEB-INF/"};
getResourcePaths("/catalog/") 将返回Set {"/catalog/index.html", "/catalog/products.html", "/catalog/offers/"}。

如果子目录为空,返回null。


getResource()方法概述: public java.net.URL getResource(java.lang.String path) throws java.net.MalformedURLException
返回由path指定的资源路径对应的一个URL对象,该path必须以“/"开头并作为当前目录的相对位置。
该方法允许servlet容器使serlets中的一个资源变为可用。该资源允许是一个本地资源或者是一个远程文件系统,这些资源可以在数据库中,或者在一个.war文件中。
servlet容器必须实现URL句柄和URLCOnnection对象,这些对象对于资源访问是必需的。
如果没有匹配的资源,该方法返回null。
某些容器甚至可以向该方法所返回的资源写数据。
这个资源可以直接返回,所以请求一个a.jsp文件将返回JSP源文件。用一个RequestDispatcher对象取而代之,可以包含执行的结果。
这个方法功能有别于java.lang.Class.getResource,一个基于class loader检索资源的方法。但前者不依赖于class loaders。

getResourceAsStream()方法概述: public java.io.InputStream getResourceAsStream(java.lang.String path)
返回一个由String path指定位置资源的InputStream。返回的InputStream可以是任意类型和长度的。

getRequestDispatcher()方法概述: public RequestDispatcher getRequestDispatcher(java.lang.String path)
返回一个RequestDispatcher对象,该对象扮演着一个给定资源包装者的角色。一个RequestDispatcher对象可以用于传送一个请求到特定资源或者把特定资源包含到一个响应当中。该特定资源可以是动态的也可以是静态的。
通过getContext()方法可以为外部contexts资源获取RequestDispatcher对象。如果ServletContext不能获取RequestDispatcher对象,返回null。

getNamedDispatcher()方法概述: public RequestDispatcher getNamedDispatcher(java.lang.String name)
为 指定名字的servlet对象返回一个RequestDispatcher对象。Servlet和JSP页面可以通过服务器管理或web application deployment descriptor被命名。一个Servlet实例的名称可以由ServletConfig.getServletName()决定。

getServlet()方法、getServlets()方法、getServletNames()方法 ,不推荐使用。

log(java.lang.String msg)方法概述: public void log(java.lang.String msg)
把指定的信息写进servlet日志文件,通常是事物日志。日志文件的名称和类型与servlet容器有关。

public void log(java.lang.Exception exception,java.lang.String msg) 略
public void log(java.lang.String message,java.lang.Throwable throwable) 略

getRealPath()方法概述: public java.lang.String getRealPath(java.lang.String path)
返回一个指定虚拟路径的真实路径(完整路径)的字符串。
举例:虚拟路径"/index.html"将返回服务器文件系统中的绝对路径"http://host/contextPath/index.html ", 当中的contextPath是ServletContext的上下文路径。
返回的路径将适用于servlet容器所运行的操作系统。假如无法把虚拟路径映射为真实路径,该方法将返回null。(比如当路径指定的内容是源于.war文件)

getServerInfo()方法概述: public java.lang.String getServerInfo()
返回servlet容器的名称和版本号。
返回的字符串格式是servername/versionnumber(服务器名/版本号),例如:the JavaServer Web Development Kit 将返回字符串”JavaServer Web Dev Kit/1.0”。
servlet容器还将返回其它可选信息,如:“JavaServer Web Dev Kit/1.0 (JDK 1.1.6; Windows NT 4.0 x86)”

getInitParameter()方法概述: public java.lang.String getInitParameter(java.lang.String name)
返回上下文定义的变量的值,如果变量不存在,返回null。
见ServletConfig.getInitParameter(java.lang.String)。

getInitParameterNames()方法概述: public java.util.Enumeration getInitParameterNames()
返回上下文定义的所以变量的枚举函数,如果空则返回空枚举函数。

getAttribute()方法概述: public java.lang.Object getAttribute(java.lang.String name)
返回指定名字的servlet容器变量值,如果无该变量则返回null。

getAttributeNames()方法概述: public java.util.Enumeration getAttributeNames()
返回servlet容器的所有变量的枚举函数,如果空则返回空枚举函数。

setAttribute()方法概述: public void setAttribute(java.lang.String name,java.lang.Object object)
在servlet容器内绑定一个指定对象给一个指定的名字。如果该名字已经绑定到一个对象,则用该对象覆盖之。
If listeners are configured on the ServletContext the container notifies them accordingly. (不会翻译,求助)
如果传递一个null值,则相当于调用removeAttribute()。

removeAttribute()方法概述: public void removeAttribute(java.lang.String name)
移除指定名字的servlet容器变量。

getServletContextName()方法概述: public java.lang.String getServletContextName()
返回web application的名字。

最后,见Servlet.getServletConfig(), ServletConfig.getServletContext()

分享到:
评论

相关推荐

    servlet api jar

    4. **ServletConfig接口**:Servlet在初始化时会接收到一个ServletConfig对象,它包含了Servlet的初始化参数和ServletContext引用。 5. **ServletContext接口**:代表一个Web应用的全局上下文,可以用来共享数据、...

    servlet api servlet api

    3. **Servlet API的主要接口和类**: - `Servlet`:所有Servlet的基类,定义了`init()`, `service()`, `destroy()`等方法。 - `GenericServlet`:抽象类,实现了Servlet接口,提供了通用的`service()`方法,适用...

    Servlet+API中文API[China]

    涉及Servet资料资料、API介绍,讲述Servlets概论、生命周期、解析和载入、初始化、 Servlet处理请求、多线程和映射、Servlet的卸载、Servlet映射技术、通过类名调用Servlet、HTTP会话、建立Session、Request ...

    servlet-api.rar_java servlet_servlet api_servlet api hmtl_servle

    1. **javax.servlet** 包:这是Servlet API的核心,提供了Servlet、ServletConfig、ServletContext等基础接口。Servlet接口定义了Servlet的基本行为,如init、service、destroy方法,用于初始化、处理请求和销毁...

    servletAPI 中文 chm版

    5. **ServletContext接口**:代表整个Web应用的上下文,可用于在整个应用范围内共享数据,获取应用配置信息等。 6. **ServletRequest和ServletResponse接口**:分别表示HTTP请求和响应,提供了获取请求参数、设置...

    Servlet API官方原版

    5. **ServletContext接口**:代表了整个Web应用的上下文,它允许Servlet访问应用级的信息,如初始化参数、其他Servlet或者资源等。 6. **HttpServletRequest和HttpServletResponse接口**:这两个接口分别表示HTTP...

    ServletAPI.rar

    ServletAPI是Java Web开发中非常重要的一个部分,它提供了一系列接口和类,使得开发者能够创建动态、交互式的Web应用程序。这个"ServletAPI.rar"压缩包包含的文档可能是Servlet API的官方Javadoc,这对于理解并使用...

    Servlet API 中文版+英文版 chm

    6. **Servlet上下文**:ServletContext接口代表了整个Web应用的共享环境,所有Servlet都可以访问。它提供获取初始化参数、广播事件、存储全局数据等功能。 7. **请求和响应对象**:HttpServletRequest和...

    Servletapi.rar_java servlet api_servletAPI

    综上所述,`Servletapi.rar`中的文档详细介绍了Java Servlet API的各种概念、接口和类,以及如何使用它们来创建和管理Servlet,对于Java Web开发者来说是非常有价值的参考资料。通过深入理解和实践,开发者可以有效...

    servletapi.rar_servlet api-chm_servlet chm_servlet*.chm_servlet.

    13. **Servlet API的其他接口和类**: 包括`ServletConfig`、`ServletContext`、`RequestDispatcher`等,它们提供了配置、上下文信息和请求转发的功能。 这个`.chm`文件包含了上述所有概念的详细文档,是学习和查阅...

    Java Servlet API说明文档

    Java Servlet API是Java Web开发中的核心组件之一,它为服务器端的动态网页处理提供了标准的接口和类。这个API说明文档详细阐述了如何利用Java来构建动态、交互式的Web应用程序。下面将对Java Servlet API的一些关键...

    Java Servlet Api .chm

    这个`.chm`文件是官方的Java Servlet API文档,通常包含了详细的接口、类、方法和异常的说明,是开发者学习和查阅Servlet API的重要参考资料。 在Java Servlet API中,最重要的几个关键概念包括: 1. **Servlet...

    浅析javax.servlet.Servlet,ServletContext接口

    在Java Web开发中,`javax.servlet`包下的`Servlet`和`ServletContext`接口扮演着至关重要的角色。这两个接口是Servlet API的核心部分,它们为Web应用程序提供了一种标准的方式来处理HTTP请求并管理全局数据。 首先...

    Servlet API(中文)

    除了这些基本接口,Servlet API还包含其他关键类,例如`Filter`和`FilterChain`,它们用于实现过滤器,可以拦截、修改或转发请求和响应。`DispatcherType`枚举定义了请求的不同调度类型,如FORWARD、INCLUDE、ERROR...

    35、servlet--servletContext

    `servletContext`是Servlet API中的一个关键概念,代表了整个Web应用程序的上下文。在这个上下文中,Servlet可以共享信息,如全局属性、监听器等。下面将详细讨论`servletContext`及其在实际开发中的应用。 一、...

    Servlet API 中文参考 chm版.rar

    8. **会话管理**: Servlet API提供了 HttpSession 接口,用于跟踪用户的会话。会话通过`session.getAttribute()`和`session.setAttribute()`来存储和检索数据,`session.invalidate()`可终止会话。 9. **多线程与...

    servletapijar

    除了这两个主要接口,Servlet API还包含其他关键组件,如ServletContext接口,它提供了整个Web应用程序的全局信息,比如读取初始化参数,获取服务器信息,甚至与其他Servlet通信。ServletConfig接口用于配置Servlet...

    servletapi.rar

    5. **ServletContext接口**:ServletContext是整个Web应用的共享上下文,所有Servlet都可以通过它来通信和共享数据。它还提供了访问应用级初始化参数、加载资源、注册监听器等功能。 6. **请求和响应对象**:...

    servletAPI2.1中文版

    Servlet API 2.1是Java Web开发中的一个重要组成部分,它为服务器端的动态网页处理提供了标准接口和类库。这个版本的API详细定义了Servlet和JavaServer Pages (JSP)的交互方式,使得开发者能够创建可扩展且跨平台的...

Global site tag (gtag.js) - Google Analytics