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()
分享到:
相关推荐
ServletContextListener 是 Servlet API 中的一个接口,它能够监听 ServletContext 对象的生命周期,实际上就是监听 Web 应用的生命周期。当 Servlet 容器启动或终止 Web 应用时,会触发 ServletContextEvent 事件,...
`FilterConfig`对象提供了关于Filter的配置信息,包括获取Servlet上下文(`ServletContext`)和初始化参数。如果在此方法中抛出`ServletException`,则表示Filter无法正常工作。 2. `destroy()`:在Servlet容器关闭...
**JDBC接口简述** 1. **Connection**:表示数据库的连接,用于执行SQL语句和管理事务。 2. **PreparedStatement**:预编译的SQL语句对象,提供参数化查询,提高执行效率,防止SQL注入。 3. **Statement**:用于...
以上只是Java面试中部分关键知识点的简述,完整的面试准备还需要涵盖更多领域,如JVM原理、垃圾回收机制、设计模式、数据结构与算法、数据库操作、网络协议等。对于华为这样的大型科技公司,面试通常会更加深入,...
监听器是Java Web中另一种重要组件,它监听特定的事件并作出反应,如Session创建、销毁,或者ServletContext事件等。监听器通过实现特定的接口(如`HttpSessionListener`,`ServletRequestListener`等)并配置在`...
引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。 21、heap和stack有什么区别。 栈是一种线形集合,其添加和删除元素的操作应在同一段完成。栈按照后进先出的...
以上只是Java EE 1.5/1.6中部分关键API和概念的简述,实际使用中还需要了解更多的细节,如异常处理、安全、事务管理等。查阅`j2ee_api_6`文档将有助于深入理解这些技术,并在实际项目中灵活运用。
此外,对于资源加载,Spring提供了如`ResourceLoader`、`Resource`等工具类和接口,如`ClassPathResource`、`FileSystemResource`和`ServletContextResource`等,用于从不同位置加载资源文件,这些在实际项目开发中...
3. **out对象**:out对象实现了javax.servlet.jsp.JspWriter接口,主要用于在Web浏览器上输出数据,管理服务器的输出缓冲区。它可以连续写入多个字符串,直到缓冲区满,或者调用flush()方法强制清空缓冲区。如果未...
### Web开发JSP笔记知识点概览 ... - **GET** 方法:GET 方法通常用于从服务器检索...同时,还介绍了JSP范围对象的概念及它们之间的区别,并简述了JNDI的作用及其应用场景。这些知识点对于理解和掌握JSP技术至关重要。