您的位置:首页 > 其它

ServletContext对象

2015-11-25 21:54 363 查看


一句话ServletContext对象

web容器启动时,容器会为每个web应用单独创建一个ServletContext对象。ServletContext对象代表当前应用。

ServletContext context = this.getServletConfig().getServletContext();//获得ServletContext对象
context.setAttribute("data", data);
String data = (String) context.getAttribute("data");//从ServletContext对象中取出数据


1、多个Servlet通过ServletContext对象实现数据共享

由于一个WEB应用中的所有Servlet共享同一个ServletContext对象,因此Servlet对象之间可以通过ServletContext对象来实现通讯


2、获取WEB应用的初始化参数

<!-- 配置WEB应用的初始化参数 -->
<context-param>
<param-name>url</param-name>
<param-value>jdbc:mysql://localhost:3306/test</param-value>
</context-param>


ServletContext context = this.getServletContext();
//获取整个web站点的初始化参数
String contextInitParam = context.getInitParameter("url");


3、用servletContext实现请求转发

ServletContext context = this.getServletContext();//获取ServletContext对象
RequestDispatcher rd = context.getRequestDispatcher("/servlet/ServletContextDemo5");//获取请求转发对象(RequestDispatcher)
rd.forward(request, response);//调用forward方法实现请求转发


4、利用ServletContext对象读取资源文件

<span style="white-space:pre">		</span><strong>// src目录下的properties文件</strong>
<span style="white-space:pre">		</span>InputStream in = this.getServletContext().getResourceAsStream(
<span style="white-space:pre">				</span>"/WEB-INF/classes/gacl/servlet/study/db4.properties");
<span style="white-space:pre">		</span><strong>// FileInputStream</strong>
<span style="white-space:pre">		</span>InputStream in = new FileInputStream(
<span style="white-space:pre">				</span>"/WEB-INF/classes/db/config/db3.properties");
<span style="white-space:pre">		</span>// WebRoot目录下的properties配置文件 “/”代表的是项目根目录
<span style="white-space:pre">		</span>InputStream in = this.getServletContext().getResourceAsStream(
<span style="white-space:pre">				</span>"/db2.properties");
<span style="white-space:pre">		</span>Properties prop = new Properties();
<span style="white-space:pre">		</span>prop.load(in);
<span style="white-space:pre">		</span>String driver = prop.getProperty("driver")

5、用类装载器读取资源文件

<span style="font-size:14px;">//获取到装载当前类的类装载器
ClassLoader loader = ServletContextDemo7.class.getClassLoader();
//用类装载器读取src目录下的gacl.servlet.study包中的db4.properties配置文件
InputStream in = loader.getResourceAsStream("gacl/servlet/study/db4.properties");
Properties prop = new Properties();
prop.load(in);
String driver = prop.getProperty("driver");</span>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: