`

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中文API[China]

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

    浅析javax.servlet.Servlet,ServletContext接口

    本篇文章是对javax.servlet.Servlet,ServletContext接口进行了纤细的分析介绍,需要的朋友参考下

    servlet中的ServletContext的使用

    这是servlet中ServletContext的应用实例,主要就是添加属性和读取属性。

    35、servlet--servletContext

    NULL 博文链接:https://onway417.iteye.com/blog/2194540

    servletapi

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

    ServletContext读取web应用中的资源文件.doc

    ServletContext读取web应用中的资源文件

    JAVA servlet API说明文档

    servlet容器的详细说明,包括里面接口的方法。内容如下:RequestDispatch, servlet, servletConfig, servletContext。。

    servlet-api-2.4.jar.zip

    javax.servlet.ServletContext javax.servlet.ServletRequest javax.servlet.http.HttpUtils javax.servlet.ServletResponse javax.servlet.ServletException javax.servlet.http.HttpServlet javax.servlet....

    java-servlet-api.doc

    ServletContext接口定义了一个Servlet环境对象,这个对象定义了一个在Servlet引擎上的Servlet的视图。通过使用这个对象,Servlet可以记录事件、得到资源并得到来自Servlet引擎的类(例如RequestDispatcher对象)。一...

    Log4J应用技术.PPT

    (1)标准的Servlet API中所提供的日志记录API 在ServletContext 接口中声明了两个log方法 log( java.lang.String ) log(java.lang.Throwable, java.lang.String )。 问题 由于ServletContext 是一个简单的接口...

    学习servlet的实例和参考api

    类 ServletConfig ServletOutputStream ServletContext ServletInputStream ServletResponse GenericServlet ServletRequest Servlet <br>javax.servlet.http<br>接口 类 HttpSession Cookie...

    javax.servlet_api.chm中文版英文版

    javax.servlet—api中问,英文 chm

    ServletContext与ServletConfig关系

    在 Servlet 编程中,ServletConfig 和 ServletContext 两个对象经常被混淆,然而它们有着截然不同的作用域和用途。 首先, lets 看看 ServletConfig 对象。ServletConfig 对象是 Servlet 的配置对象,用于存储 ...

    servletAPI

    index文档,够用了,常用的Cookie,ServletContext ,等等对象的API

    servlet2.4doc

    getAttribute(String) - Method in interface javax.servlet.ServletContext Returns the servlet container attribute with the given name, or null if there is no attribute by that name. getAttribute...

    JavaWeb中Servlet技术

    主要包括Servlet基础和 ServletConfig接口,ServletContext接口两大部分; javaweb,servlet,接口,编写类; 初学者,大学生,复习,详细,课堂笔记;

    javax.servlet.jar下载

    javax.servlet.ServletContext.class javax.servlet.RequestDispatcher.class javax.servlet.Servlet.class javax.servlet.ServletException.class javax.servlet.ServletRequest.class javax.servlet.Servlet...

    ServletContext接口

    bu shi ruan jian !!!

    javaEE中文api.J2EE中文API

    会话信息的范围仅限于当前 Web 应用程序 ServletContext 因此存储在一个上下文中的信息在另一个上下文中不是直接可见的 ">不用担心英文j2eeapi看不懂了 提供一种方式 跨多个页面请求或对 Web 站点的多次访问标识用户...

Global site tag (gtag.js) - Google Analytics