您的位置:首页 > 其它

ServletContext和ServletConfig对象

2016-02-18 16:23 323 查看
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的名称
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: