ServletContext和ServletConfig对象

ServletContext:
WEB容器在启动时,它会为每个WEB应用程序都创建一个对应的ServletContext对象,它代表当前web应用,由于一个WEB应用中的所有Servlet共享同一个ServletContext对象,因此Servlet对象之间可以通过ServletContext对象来实现通讯。ServletContext对象通常也被称之为context域对象。
作用:⒈多个Servlet通过ServletContext对象实现数据共享。
⒉获取WEB应用的初始化参数。
⒊实现Servlet的转发。

使用web应用下加载资源文件的方法:
* 1. getRealPath读取,返回资源文件的绝对路径
*/
/*String path = this.getServletContext().getRealPath(“/WEB-INF/classes/db.properties”);
System.out.println(path);
File file = new File(path);
FileInputStream in = new FileInputStream(file);*/

    /**
     * 2. getResourceAsStream() 得到资源文件,返回的是输入流
     */
    InputStream in = this.getServletContext().getResourceAsStream("/WEB-INF/classes/db.properties");
    我的理解是:因为使用的是ServletContext对象,在调用其方法书写路径时,/代表的就是当前应用。

一些方法:

java.lang.String getContextPath()   --得到当前web应用的路径

getInitParameter(java.lang.String name)  --得到web应用的初始化参数

java.util.Enumeration getInitParameterNames()  

void setAttribute(java.lang.String name, java.lang.Object object) --域对象有关的方法

java.lang.Object getAttribute(java.lang.String name)  
void removeAttribute(java.lang.String name)  

RequestDispatcher getRequestDispatcher(java.lang.String path)   --转发(类似于重定向)

java.lang.String getRealPath(java.lang.String path)     --得到web应用的资源文件
java.io.InputStream getResourceAsStream(java.lang.String path)  

 得到web应用路径
        java.lang.String getContextPath()  用在请求重定向的资源名称中
得到web应用的初始化参数(全局)
        java.lang.String getInitParameter(java.lang.String name)  --得到web应用的初始化参数
            java.util.Enumeration getInitParameterNames()  

                web应用参数可以让当前web应用的所有servlet获取!!!

ServletConfig: 主要是用于加载servlet的初始化参数。在一个web应用可以存在多个ServletConfig对象(一个Servlet对应一个ServletConfig对象)

一些方法:
ServletConfig的API:
java.lang.String getInitParameter(java.lang.String name) 根据参数名获取参数值
java.util.Enumeration getInitParameterNames() 获取所有参数
ServletContext getServletContext() 得到servlet上下文对象
java.lang.String getServletName() 得到servlet的名称

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值