ServletContext的常用方法

servlet常用属性及方法总结
getServletConfig()   
在servlet初始化时,容器传递进来一个ServletConfig对象并保存在servlet实例中,该对象允许访问两项内容:初始化参数和ServletContext对象,前者通常由容器在文件中指定,允许在运行时向sevrlet传递有关调度信息,比如说getServletConfig().getInitParameter("debug")后者为servlet提供有关容器的信息。此方法可以让servlet在任何时候获得该对象及配置信息。  

getServletContext()   
 一个servlet可以使用getServletContext()方法得到web应用的servletContext  
 即而使用getServletContext的一些方法来获得一些值  
 比如说getServletContext().getRealPath("/")来获得系统绝对路径  
getServletContext().getResource("WEB-INF/config.xml")来获得xml文件的内容 

ServletContext
ServletContext接口表示一个web应用的上下文。可以想象成一个web一个能用的共享数据区域,该区域保存整个web共享数据。
Servlet容器何时创建ServeltContext接口实现类 
当一个web应用启动的时候,就会创建该ServletContext接口的实现类。我们可以在根据需求,读写ServletContext这个web共享区的数据,那么如何获得ServletContext这个实例呢?下面提供了两种方法
如何获得ServletContext接口实例
方法1:可以通过ServletConfig接口的getServletContext()方法获得
方法2:通过GenericServlet抽象类的getServletContext()方法获得,不过这个方法其实也是调用了ServletConfig的getServletContext()方法
例:在GenericServlet.java中
public ServletConfig getServletConfig() {   
public ServletConfig getServletConfig() {   

            return config;   
             }    
        public ServletContext getServletContext() {   
                  return getServletConfig().getServletContext();   
}  
response.setCharacterEncoding
resp.setContentType("text/html;utf-8");写这句,有时候不起作用。 
resp.setCharacterEncoding("UTF-8");写这句才管用。 
查了一下:对于发送数据,服务器按照response.setCharacterEncoding—contentType—pageEncoding的优先顺序,对要发送的数据进行编码
javax.servlet.ServletContext接口
一个servlet上下文是servlet引擎提供用来服务于Web应用的接口。Servlet上下文具有名字(它属于Web应用的名字)唯一映射到文件系统的一个目录。
一个servlet可以通过ServletConfig对象的getServletContext()方法得到servlet上下文的引用,如果servlet直接或间接调用子类GenericServlet,则可以使用getServletContext()方法。
Web应用中servlet可以使用servlet上下文得到:
1.在调用期间保存和检索属性的功能,并与其他servlet共享这些属性。
2.读取Web应用中文件内容和其他静态资源的功能。
3.互相发送请求的方式。
4.记录错误和信息化消息的功能。
ServletContext接口中的方法       
Object getAttribute(String name)     返回servlet上下文中具有指定名字的对象,或使用已指定名捆绑一个对象。从Web应用的标准观点看,这样的对象是全局对象,因为它们可以被同一servlet在另一时刻访问。或上下文中任意其他servlet访问。       
void setAttribute(String name,Object obj)     设置servlet上下文中具有指定名字的对象。       
Enumeration getAttributeNames()     返回保存在servlet上下文中所有属性名字的枚举。       
ServletContext getContext(String uripath)     返回映射到另一URL的servlet上下文。在同一服务器中URL必须是以“/”开头的绝对路径。       
String getInitParameter(String name)     返回指定上下文范围的初始化参数值。此方法与ServletConfig方法名称不一样,后者只应用于已编码的指定servlet。此方法应用于上下文中所有的参数。       
Enumeration getInitParameterNames()     返回(可能为空)指定上下文范围的初始化参数值名字的枚举值。       
int getMajorVersion()     返回此上下文中支持servlet API级别的最大和最小版本号。       
int getMinorVersion()           
String getMimeType(String fileName)     返回指定文件名的MIME类型。典型情况是基于文件扩展名,而不是文件本身的内容(它可以不必存在)。如果MIME类型未知,可以返回null。       
RequestDispatcher getNameDispatcher(String name)     返回具有指定名字或路径的servlet或JSP的RequestDispatcher。如果不能创建RequestDispatch,返回null。如果指定路径,必须心“/”开头,并且是相对于servlet上下文的顶部。       
RequestDispatcher getNameDispatcher(String path)           
String getRealPath(String path)     给定一个URI,返回文件系统中URI对应的绝对路径。如果不能进行映射,返回null。       
URL getResource(String path)     返回相对于servlet上下文或读取URL的输入流的指定绝对路径相对应的URL,如果资源不存在则返回null。       
InputStream getResourceAsStream(String path)           
String getServerInfo()     返顺servlet引擎的名称和版本号。       
void log(String message)
void log(String message,Throwable t)     将一个消息写入servlet注册,如果给出Throwable参数,则包含栈轨迹。       
void removeAttribute(String name)     从servlet上下文中删除指定属性。 
getServletContext()和getServletConfig()的意思
getServletConfig() 在servlet初始化时,容器传递进来一个ServletConfig对象并保存在servlet实例中,该对象允许访问两项内容:初始化参数和ServletContext对象,前者通常由容器在文件中指定,允许在运行时向sevrlet传递有关调度信息,比如说getServletConfig().getInitParameter("debug")后者为servlet提供有关容器的信息。

getServletContext()和getServletConfig()的意思

getServletContext()和getServletConfig()的意思2007-07-09 11:10.getServletContext() 一个servlet可以使用getServletContext()方法得到web应用的servletContext 即而使用getServletContext的一些方法来获得一些值 比如说getServletContext().getRealPath("/")来获得系统绝对路径 getServletContext().getResource("WEB-INF/config.xml")来获得xml文件的内容。
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值