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接口提供了上面两个记录日志的方法,第一个方法用于记录一般的日志,第二个方法用于记录指定异常的栈跟踪信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值