ServletContext对象介绍和使用

一、ServletContext的介绍

ServletContext官方叫servlet
上下文。服务器会为每一个工程创建一个对象,这个对象就是ServletContext对象。这个对象全局唯一,而且工程内部的所有servlet都共享这个对象。所以叫全局应用程序共享对象。

二、ServletContext的使用

1,获取ServletContext对象

方式一:request.getServletContext();

方式二:this,getServletContext();

2.获取服务的相关信息(Tomcat的版本信息)

this.getServletContext().getServletInfo();

3.获取web项目的根目录(也就是项目名称)

this.getServletContext().getContextPath();

4.ServletContext的数据共享

创建两个Servlet测试类

测试类一

this.getServletContext().setAttribute("address","chengdu");

测试类二

String address = (String)this.getServletContex().getAttribute("address");

System.out.println(address);

开启Tomcat运行代码,需先执行测试一后在执行测试二,执行后就可以在测试二后台看到数据

5.利用ServletContext读取资源文件
首先要在 webroot 下边创建一个文件夹 file ,然后再 file 中创建一个 p.properties 文件 

配置p.properties文件

driverName=oracle.jdbc.OracleDriver
url=jdbc:oracle:thin:@localhost:1521:orcl
username=scott
password=tiger

方式一:

1,利用InputStream getResourceAsStream(String Path)(注意这里的path应该是发布后的如/WEB-INF/classes)获得一个输入流,是相对于web应用的根目录)

 2.获取Properties文件中的键值(load()和getProperty())

Properties p = new Properties();
p.load(req.getServletContext().getResourceAsStream("/file/p.properties"));
String driverName = p.getProperty("driverName");
String url = p.getProperty("url");
String username = p.getProperty("username");
String password = p.getProperty("password");
System.out.println(driverName+","+url+","+username+","+password);

运行效果

方式二:

通过GetRealPath(String Path)方法可以通过获得绝对路径的方式,同输入流来读取资源(直接使用输入了是不可以的,因为其相对的路径是jbk的bin目录)

String realPath = req.getServletContext().getRealPath("/file/p.properties");
System.out.println(realPath);
Properties p = new Properties();
p.load(new FileInputStream(realPath));
String driverName = p.getProperty("driverName");
String url = p.getProperty("url");
String username = p.getProperty("username");
String password = p.getProperty("password");
System.out.println(driverName+","+url+","+username+","+password);

运行效果

ServletContext对象介绍和使用到这里就结束了,希望对你有帮助!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值