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>
相关文章推荐
- 115.Oracle数据库SQL开发之 PLSQL编程——循环
- MapReduce编程实例之自定义分区
- 交叉编译构建环境搭建
- ubuntu环境下安装R
- BZOJ 3916: [Baltic2014]friends( hash )
- Openstack学习历程_1_视频
- 泛型通配符
- yum源的本地配置方法(对于虚拟机来说)
- 114.Oracle数据库SQL开发之 PLSQL编程——变量和类型
- Python数据类型-----数字&字符串
- c++ primer第五版(中文)习题答案 第三章第六节-多维数组
- 前端之路——2015-11-25
- 安卓设备保持屏幕灯常亮的方法。
- 113.Oracle数据库SQL开发之 PLSQL编程——块结构
- QT 绘图设备和Graphics View Framework
- 第一个程序:Hello World
- NodeJS中使用 eventproxy 控制并发-@JacksonTian
- VB.net_音乐播放器
- 第五次成绩
- Azure上Linux VM DDOS攻击预防: 慢速攻击