Web项目中java类读取WebRoot目录下的配置文件

本文介绍了一种在Java Web项目中从WebRoot目录读取配置文件的方法,通过定位到项目的WEB-INF上级目录,实现了在Dao层等无HTTP请求上下文环境中对配置文件的正确读取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求:在Web项目中,java类读取WebRoot目录下的配置文件,例如在Dao层读取,没有request,该如何读取?假设在WebRoot下有一个文件夹:config,里面有配置文件

conf.properties内容为:

ip=127.0.0.1
port=8080

.

code:

 //获取项目部署的目录到WEB—INF的上一级
	   private String getClassPath(){ 
	        String strClassName = getClass().getName(); 
	        String strPackageName = ""; 
	        if(getClass().getPackage() != null) { 
	            strPackageName = getClass().getPackage().getName(); 
	        } 
	        String strClassFileName = ""; 
	        if(!"".equals(strPackageName)){
	            strClassFileName = strClassName.substring(strPackageName.length() + 1,strClassName.length()); 
	        } 
	        else { 
	            strClassFileName = strClassName; 
	        } 
	        URL url = null; 
	        url = getClass().getResource(strClassFileName + ".class"); 
	        String strURL = url.toString();
	        strURL = strURL.substring(strURL.indexOf( "/" ) + 1,strURL.lastIndexOf( "WEB-INF" ));
	        return strURL; 
	    }

2.根据上述方法读取配置文件,并读取ip和port的内容

code:

//获取配置文件信息
	public    void GetDate(){
		String path=getClassPath()+"config/conf.properties";
		String ip="";
		String port="";
		Properties prop = new Properties();     
	        try{
	            //读取属性文件
	           InputStream in = new BufferedInputStream (new FileInputStream(path));
	           prop.load(in);     ///加载属性列表
	           ip=prop.getProperty("ip");
	           port=prop.getProperty("port");
	           in.close();
	        }catch(Exception e){
                    System.out.println(e);
               }
		
			System.out.println("IP:"+ip+"PORT:"+port);	
		}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值