ServletContext方法

ServletContext方法

当web容器启动时,他会为每个web应用都创建一个对应的servletContext对象,它代表当前web应用,要有面向对象的方法

context是域对象,和request,session,page一样都是域,只要一提到ServletContext域,1就要想到容器,2这个容器的作用范围,也就是web应用程序的范围

首先得到ServletContext对象
//得到servletContext对象 1
ServletContext context=this.getServletContext();
//得到ServleContext对象 2
ServletContext context2=this.getServletConfig().getServletContext();

Context对象的应用场景


获取web应用的初始化要先在配置文件里配置,它与init初始化参数的不同是,Context初始化参数是整个web容器的servlet都可以用,
每一个web应用都会有一个servletContext,就是每穿建的工程都会有。

资源文件读取问题

资源文件在servlet程序里,就用servletContext直接读取

//1在servlet读取资源文件,用getResourceAsStream方法使文件变成一个输入流
InputStream in=this.getServletContext().getResourceAsStream("/db.properties");
Properties pro=new Properties();//Map集合形式存放数据
pro.load(in);
String url=pro.getProperty("url");
System.out.println(url);


//2用getRealPath方法得到文件的绝对路径,可以用于截取文件名称
String path=this.getServletContext().getRealPath("/WEB-INF/classes/db.properties");
String filename=path.substring(path.lastIndexOf("\\")+1);
System.out.println("当前读取的资源名称为"+filename);
FileInputStream in1=new FileInputStream(path);
pro.load(in1);
String uu=pro.getProperty("url");


如果读取配置文件的程序不是servlet的话,就只能通过类装载器去读了,其实和在servlet里读取资源文件一样,都是有两种方式,1把资源文件变成一个流,进行读取 2得到资源文件的绝对路径,然后把路径放进FileInputStream流里,创建Properties进行操作。


获取到更新后的资源文件1,先通过类装载的方式得到文件的位置2 然后在通过传统方式进行读取,

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值