mysql web访问配置文件_Java读取WEB-INF目录下的properties配置文件

如何在Java代码中读取WEB-INF目录下的properties配置文件,下文给出了一个解决方案。

我们习惯将一些配置信息写在配置文件中,比如将数据库的配置信息URL、User和Password写在配置文件中,这样部署系统的时候,不需要修改代码,而只需要修改配置文件即可。

我将配置文件放在MyEClipse工程文件夹下的WEB-INF目录,在Java代码中读取配置文件的代码是这样的:

String path = ParametersReader.class.getResource("/").getPath();

String websiteURL = (path.replace("/build/classes", "").replace("%20"," ").replace("classes/", "") + "parameter.properties").replaceFirst("/", "");

第一行代码中的ParametersReader.class指的是当前类的名字,path变量中存放的实际上是当前类所在的路径。

这样的话,我们就得到了当前项目WEB-INF的目录。我们将数据库的配置信息写在parameter.properties文件中,这个文件是放在WEB-INF目录下的,该配置文件中的内容如下:

#JDBC MySQL Connection

mysql_url=jdbc:mysql://127.0.0.1:3306/mydatabasename

mysql_user=root

mysql_password=123456

那么针对上述配置文件,读取该配置文件的完整代码应该是这样的:

public static void getParameters() {

String path = ParametersReader.class.getResource("/").getPath();

String websiteURL = (path.replace("/build/classes", "").replace("%20"," ").replace("classes/", "") + "parameter.properties").replaceFirst("/", "");

Properties properties = new Properties();

FileInputStream fileInputStream = null;

try {

fileInputStream = new FileInputStream(websiteURL);

properties.load(fileInputStream);

MYSQL_URL = properties.getProperty("mysql_url");

MYSQL_USER = properties.getProperty("mysql_user");

MYSQL_PASSWORD = properties.getProperty("mysql_password");

} catch (Exception e) {

e.printStackTrace();

} finally {

try {

fileInputStream.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

代码中的MYSQL_URL,MYSQL_USER,MYSQL_PASSWORD这三个变量都是定义好的静态变量,getParameters()方法是用来给这三个变量赋值的。

目前越来越多使用XML文件代替properties文件来存放配置信息,所以,我们也可以将xml文件放在WEB-INF目录下,通过dom4j等工具来读取xml文件。

Java读取maven目录下的*.properties配置文件

public class ReadProperties{ private static String proFileName = "/config/MQSubjectId.propertie ...

java获取ubuntu某个目录下的所有文件信息

java获取ubuntu某个目录下的所有文件信息 public List getAllFiles(String basicDirName) { List

vue-cli脚手架config目录下index.js配置文件详解

此文章介绍vue-cli脚手架config目录下index.js配置文件 此配置文件是用来定义开发环境和生产环境中所需要的参数 关于注释 当涉及到较复杂的解释我将通过标识的方式(如(1))将解释写到单 ...

Java程序读取tomcat下的properties配置文件

代码如下: //找到tomcat/etc/wx文件夹    private static String getPropFolderPath()    {  /* Properties p = Syst ...

java 读取外部和source下配置文件

import java.io.File; import java.io.FileInputStream; import java.net.URL; import java.util.Map; impo ...

idea中的java web项目(添加jar包介绍)和java maven web项目目录结构

java web项目 web项目下web根目录名称是可以更改的 idea中新建java web项目,默认src为Sources Root,当然也可以手动改,在Sources Root下右键只能新建Pa ...

java读取某个文件夹下的所有文件

import java.io.FileNotFoundException;import java.io.IOException;import java.io.File; public class Re ...

用Java代码列出一个目录下所有的文件

1.File类 File类在java.io.File包中,所以要导入这个包. File类中用到的方法: boolean isDirectory()       测试此抽象路径名表示的文件是否是个目录 ...

.net core 读取本地指定目录下的文件

项目需求 asp.net core 读取log目录下的.log文件,.log文件的内容如下: xxx.log ------------------------------------------beg ...

随机推荐

当执行sudo时提示“is not in the sudoers file”的解决方案:

出现这种提示是由于普通用户帐号没有权限执行sudo命令,所以需要切换到root身份进行颁发权限: $su -(注意有- ,这和su是不同的,在用命令"su"的时候只是切换到root ...

一款类似塔防类的保卫羊村游戏android源码

一款类似塔防类的保卫羊村游戏源码,这个游戏很像我们平时玩的塔防游戏的,游戏的源码比较完整的,大家可以修改一下或者添加一些广告就可以上线到应用商店了,而且这个游戏目前已经上线国内的一些应用商店了,360 ...

linux-CentOS6.4下安装oracle11g详解

参考地址:http://dengqsintyt.iteye.com/blog/1991930

[置顶] vb报表的设计

敲机房收费系统,最难的部分应该就是关于报表的部分了.相对于学生信息管理系统,报表是新内容,在vb中添加报表需要添加第三方控件,首先我们要下载水晶报表,下面就向大家展示一下我设计报表的步骤(我用的新版本 ...

提高xshell使用效率

1.快速命令集. 2.鼠标复制粘贴设置. 3.配色方案. 4.esc切换到英文输入. 设置入口:

Wireshark入门与进阶系列(一)

摘自http://blog.csdn.net/howeverpf/article/details/40687049 Wireshark入门与进阶系列(一) “君子生非异也,善假于物也”---荀子 本文 ...

linux杂记(三)linux指令介绍

[root@linux ~]# command [-options] parameter1 parameter2 说明: 最左边的root显示的是[目前使用者的账号],而@之后接的是linux即[主机 ...

sqlserver修改增删改字段

---新增列 alter table article add addtime0 datetime ---修改列 alter table article ) --删除列 alter table arti ...

c# Debug的一些技巧

c# Debug的一些技巧 专业工作也快两年,从最开始的F9,F10的断点调试,慢慢积累一些调试的技巧,令开发工作更加的效率 1.F9   最基础的断点, 点击F10 不跳入方法内部,点击F11逐行逐 ...

mac配置java和maven环境变量

1.打开终端: 2.输入命令:sudo vi ~/.bash_profile进入编辑模式: 3.输入开机密码并按两次enter键进入编辑选择项: 4.输入i键进入文件插入模式输入配置信息: 5.按es ...

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值