读取web项目properties文件路径 解决tomcat服务器找不到properties路径问题
2024-08-25 02:41:07
1.需求:有时候我们产品经理给我们的需求是会不断变化的,例如数量是1000现在变成500,我们不可以去改代码吧,这样很麻烦,所以就可以改配置文件properties(这个数据库链接一样),当然也有json格式的配置,我们暂不讨论
2.经历:先看图
(1)我之前以为直接在src创建system.properties然后
package cs.util; import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Properties;
/**
*
* @author JJ
*
*/
public class SetSystemProperty {
//属性文件的路径
static String profilepath="src/system.properties";
/**
* 采用静态方法
*/
private static Properties props = new Properties();
static {
try {
props.load(new FileInputStream(profilepath));
} catch (FileNotFoundException e) {
e.printStackTrace();
System.exit(-1);
} catch (IOException e) {
System.exit(-1);
}
} /**
* 读取属性文件中相应键的值
* @param key
* 主键
* @return String
*/
public static String getKeyValue(String key) {
return props.getProperty(key);
} }
(2)做个测试
package cs.util; public class test { public static void main(String[] args) {
// TODO Auto-generated method stub
SetSystemProperty property=new SetSystemProperty();
String name=property.getKeyValue("name");
System.out.println(name);
} }
确实可以打印正确值,但是我部署到服务器(tomcat)里面就找不到配置文件路径,晕
3、解决方法
(1)配置文件不变暂放在src下面,修改类
package cs.util; import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
/**
*
* @author JJ
*
*/
public class SetSystemProperty {
static Properties props;
public void GetDBConfigStr()
{
props = new Properties();
InputStream in;
try{
in=this.getClass().getResourceAsStream("/system.properties");
props.load(in);
}
catch(Exception e)
{
System.out.print(e.getMessage());
return ;
}
if(props.isEmpty())
{
return;
}
}
public String getValueByKey(String key)
{
return props.get(key).toString(); } public SetSystemProperty() {
super();
GetDBConfigStr();
} }
(2)在web项目中后台java的调用例子截图
最新文章
- [C#]浅析ref、out参数
- 学习SAP HANA SQL
- 借用Google API在线生成网站二维码地址方法
- SQL初级第三课(下)
- 1120练习,CSS制作网页
- Smart210---LED驱动
- git config(转载)
- SPCOMM 接收数据不完整!该如何解决
- SWD模式和JTAG模式
- SPRING IN ACTION 第4版笔记-第三章ADVANCING WIRING-002-激活PROFILE、设置默认值、@ActiveProfiles
- Samples DataBind FastJson循环引用问题
- python对字符串分割和截取的方法
- webstorm 卡死解决方法
- 【django之modelform】
- 【转载】Windows服务器修改远程桌面默认端口
- supervisor开机自动启动脚本+redis+MySQL+tomcat+nginx进程自动重启配置
- centos7部署fabric-ca错误解决
- Android 开发添加控件事件的三种方式
- Swift2.1keyword @noescape介绍
- curl模拟多线程抓取网页(优化)
热门文章
- Angular.js中使用$watch监听模型变化
- AM335x kernel4.4.12 LCD 时钟翻转设置记录
- Bootstrap表单验证插件bootstrapValidator使用方法整理
- sz rz SecureCRT
- git 命令熟悉
- DataSet装换为泛型集合 222
- 如何将 NavigationBar 的半透明效果关闭?
- tomcat启动报错No UserDatabase component found under key UserDatabase
- Mysql Master-slave 主从配置
- java中的集合/容器的数据结构