`

ServletContext接口-API

阅读更多

        一个ServletContext对象表示了一个Web应用程序的上下文。Servlet容器在Servlet初始化期间,向其传递 ServletConfig对象,可以通过ServletConfig对象的getServletContext()方法来得到 ServletContext对象。也可以通过GenericServlet类的getServletContext()方法得到 ServletContext对象,不过GenericServlet类的getServletContext()也是调用ServletConfig对象的getServletContext()方法来得到这个对象的。
            ServletContext接口定义了下面的这些方法,Servlet容器提供了这个接口的实现。

 public java.lang.Object getAttribute(java.lang.String name)
 public java.util.Enumeration getAttributeNames()
 public void removeAttribute(java.lang.String name)
 public void setAttribute(java.lang.String name, java.lang.Object object)

 

    上 面4个方法用于读取、移除和设置共享属性,任何一个Servlet都可以设置某个属性,而同一个Web应用程序的另一个Servlet可以读取这个属性, 不管这些Servlet是否为同一个客户进行服务。
        public ServletContext getContext(java.lang.String uripath)
    该 方法返回服务器上与指定的URL相对应的ServletContext对象。给出的uripath参数必须以斜杠(/)开始,被解释为相对于服务器文档根的路径。出于安全方面的考虑,如果调用该方法访问一个受限制的ServletContext对象,那么该方法将返回null。

public String getContextPath()
 

    该方法是在Servlet 2.5规范中新增的,用于返回Web应用程序的上下文路径。上下文路径总是以斜杠(/)开头,但结束没有斜杠(/)。在默认(根)上下文中,这个方法返回 空字符串""。
        public java.lang.String getInitParameter(java.lang.String name)
        public java.util.Enumeration getInitParameterNames()
    可 以为Servlet上下文定义初始化参数,这些参数被整个Web应用程序所使用。可以在部署描述符(web.xml)中使用<context- param>元素来定义上下文的初始化参数,上面两个方法用于访问这些参数。

public int getMajorVersion()
public int getMinorVersion()

     上面两个方法用于返回Servlet容器支持的Java Servlet API的主版本和次版本号。例如,对于遵从Servlet 2.4版本的容器,getMajorVersion()方法返回2,getMinorVersion()方法返回4。

public java.lang.String getMimeType(java.lang.String file)
 

    该 方法返回指定文件的MIME类型,如果类型是未知的,这个方法将返回null。MIME类型的检测是根据Servlet容器的配置,也可以在Web应用程 序的部署描述符中指定。
        public RequestDispatcher getRequestDispatcher(java.lang.String path)
    该方法返回一个RequestDispatcher对象,作为指定路径上的资源的封 装。可以使用RequestDispatcher对象将一个请求转发(forward)给其他资源进行处理,或者在响应中包含(include)资源。要注意的是,传入的参数path必须以斜杠(/)开始,被解释为相对于当前上下文根(context root)的路径。

public RequestDispatcher getNamedDispatcher(java.lang.String name)
 

    该方法与getRequestDispatcher()方法类似。不同之处在于,该方法接受一个在部署描述符中以<servlet-name>元素给出的Servlet(或JSP页面)的名字作为参数。

public java.lang.String getRealPath(java.lang.String path)
 

    在 一个Web应用程序中,资源用相对于上下文路径的路径来引用,这个方法可以返回资源在服务器文件系统上的真实路径(文件的绝对路径)。返回的真实路径的格式应该适合于运行这个Servlet容器的计算机和操作系统(包括正确的路径分隔符)。如果Servlet容器不能够将虚拟路径转换为真实的路径,这个方法将会返回null。

public java.net.URL getResource(java.lang.String path) throws java.net.Malformed URLException
 

    该方法返回被映射到指定路径上的资源的URL。传入的参数path必须以斜杠(/)开始,被解释为相对于当前上下文根(context root)的路径。这个方法允许Servlet容器从任何来源为Servlet生成一个可用的资源。资源可以是在本地或远程文件系统上,在数据库中,或者在WAR文件中。如果没有资源映射到指定的路径上,该方法将返回null。

public java.io.InputStream getResourceAsStream(java.lang.String path)
 

    该 方法与getResource()方法类似,不同之处在于,该方法返回资源的输入流对象。另外,使用getResourceAsStream()方法,元 信息(如内容长度和内容类型)将丢失,而使用getResource()方法,元信息是可用的。

public java.util.Set  getResourcePaths(java.lang.String path)
 

    该方法返回资源的路径列表,参数path必须以斜杠(/)开始,指定用于匹配资源的部分路径。例如,一个Web应用程序包含了下列资源:

/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("/"),将返回[/welcome.html, /catalog/, /customer/, /WEB-INF/]。如果调用getResourcePaths("/catalog/"),将返回[/catalog/index.html, /catalog/products.html, /catalog/offers/]。

public java.lang.String getServerInfo()
 

    该方法返回运行Servlet的容器的名称和版本。

public java.lang.String getServletContextName()
 

    该方法返回在部署描述符中使用<display-name>元素指定的对应于当前ServletContext的Web应用程序的名称。

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


    ServletContext接口提供了上面两个记录日志的方法,第一个方法用于记录一般的日志,第二个方法用于记录指定异常的栈跟踪信息。

分享到:
评论
2 楼 hngmduyi 2012-02-20  
1 楼 Yinny 2011-11-23  
写得不错呀!

相关推荐

    java-servlet-api.doc

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

    Servlet+API中文API[China]

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

    Log4J应用技术.PPT

    在ServletContext 接口中声明了两个log方法 log( java.lang.String ) log(java.lang.Throwable, java.lang.String )。 问题 由于ServletContext 是一个简单的接口,并且也没有规定怎样实现它声明的方法。 因而 ...

    javaEE中文api.J2EE中文API

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

    servletapi

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

    学习servlet的实例和参考api

    类 ServletConfig ServletOutputStream ServletContext ServletInputStream ServletResponse GenericServlet ServletRequest Servlet &lt;br&gt;javax.servlet.http&lt;br&gt;接口 类 HttpSession Cookie...

    Spring API

    4.3.4. ServletContextResource 4.3.5. InputStreamResource 4.3.6. ByteArrayResource 4.4. ResourceLoader接口 4.5. ResourceLoaderAware 接口 4.6. 把Resource作为属性来配置 4.7. Application context 和...

    JAVA servlet API说明文档

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

    spring chm文档

    4.3.4. ServletContextResource 4.3.5. InputStreamResource 4.3.6. ByteArrayResource 4.4. ResourceLoader 4.5. ResourceLoaderAware 接口 4.6. 把Resource作为属性来配置 4.7. Application context 和...

    Spring-Reference_zh_CN(Spring中文参考手册)

    4.3.4. ServletContextResource 4.3.5. InputStreamResource 4.3.6. ByteArrayResource 4.4. ResourceLoader 4.5. ResourceLoaderAware 接口 4.6. 把Resource作为属性来配置 4.7. Application context 和...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    6.5.1 servletcontext接口 226 6.5.2 页面访问量统计实例 228 6.6 请求转发 231 6.6.1 requestdispatcher接口 232 6.6.2 得到requestdispatcher对象 232 6.6.3 请求转发的实例 233 6.6.4 sendredirect()和...

    Maven整合ssm框架.zip

    注意:dao层只有接口。 3.创建dao层与之对象的mapper.xml配置文件 4.创建mybatis的核心配置文件。 5.通过api执行mybatis 5.1 获取mybatis核心配置的io流对象 5.2 创建SqlSessionFactory对象 5.3 创建...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    6.5.1 servletcontext接口 226 6.5.2 页面访问量统计实例 228 6.6 请求转发 231 6.6.1 requestdispatcher接口 232 6.6.2 得到requestdispatcher对象 232 6.6.3 请求转发的实例 233 6.6.4 sendredirect()和...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    6.5.1 servletcontext接口 226 6.5.2 页面访问量统计实例 228 6.6 请求转发 231 6.6.1 requestdispatcher接口 232 6.6.2 得到requestdispatcher对象 232 6.6.3 请求转发的实例 233 6.6.4 sendredirect()和...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    6.5.1 servletcontext接口 226 6.5.2 页面访问量统计实例 228 6.6 请求转发 231 6.6.1 requestdispatcher接口 232 6.6.2 得到requestdispatcher对象 232 6.6.3 请求转发的实例 233 6.6.4 sendredirect()和...

    Spring 2.0 开发参考手册

    4.3.4. ServletContextResource 4.3.5. InputStreamResource 4.3.6. ByteArrayResource 4.4. ResourceLoader 4.5. ResourceLoaderAware 接口 4.6. 把Resource作为属性来配置 4.7. Application context 和...

    Spring中文帮助文档

    4.3.4. ServletContextResource 4.3.5. InputStreamResource 4.3.6. ByteArrayResource 4.4. ResourceLoader接口 4.5. ResourceLoaderAware 接口 4.6. 把Resource作为属性来配置 4.7. Application context 和...

    java 面试题 总结

    引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。 18、heap和stack有什么区别。 栈是一种线形集合,其添加和删除元素的操作应在同一段完成。栈按照后进先出的方式...

    超级有影响力霸气的Java面试题大全文档

    引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。 21、heap和stack有什么区别。  栈是一种线形集合,其添加和删除元素的操作应在同一段完成。栈按照后进先出的...

    Java学习笔记-个人整理的

    {1.12}Java API}{41}{section.1.12} {1.13}Linux命令}{41}{section.1.13} {1.13.1}基本查看、移动}{41}{subsection.1.13.1} {1.13.2}权限}{42}{subsection.1.13.2} {1.13.3}打包备份与恢复}{42}{subsection....

Global site tag (gtag.js) - Google Analytics