如何在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读取WEB-INF目录下的properties配置文件的更多相关文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. Python 学习之urllib模块---用于发送网络请求,获取数据(2)

    接着上一次的内容. 先说明一下关于split()方法:它通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串(把一个字符串分割成很多字符串组成的list列表) 语法: ...

  2. dp 0-1背包问题

    0-1背包的状态转换方程 f[i,j] = Max{ f[i-1,j-Wi]+Pi( j >= Wi ),  f[i-1,j] } f[i,j]表示在前i件物品中选择若干件放在承重为 j 的背包 ...

  3. Junit 源码剖析(二)

    junit4 下的所有的testcase都是在Runner下执行的, 可以将Runner理解为junit运行的容器, 默认情况下junit会使用JUnit4ClassRunner作为所有testcas ...

  4. 扩展原生js的一些方法

    扩展原生js的Array类 Array.prototype.add = function(item){ this.push(item); } Array.prototype.addRange = fu ...

  5. 用word2013写博客

    第一次使用,添加博客账户时碰到一个奇怪的问题,先输入用户名,然后密码只能输入两个字符,后来先输入密码再输入用户名才解决,很神奇~

  6. nutch getOutLinks 外链的处理

    转载自: http://blog.csdn.net/witsmakemen/article/details/8067530 通过跟踪发现,Fetcher获得网页解析链接没有问题,获得了网页中所有的链接 ...

  7. 【andorid】Attribute is missing the Android namespac

    初学安卓,错误颇多 出现这个问题,是因为xml节点属性单词拼写错了,比如android我写成了adnorid,当然就错误了.

  8. BZOJ1271: [BeiJingWc2008]秦腾与教学评估

    题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1271 题解: 这种题真是太神了! 只需要考虑被覆盖的次数的奇偶性,并且保证满足题意的点至多只有 ...

  9. 单独启动tomcat

    原料: jdk-1_5_0_13-windows-i586-p.exe apache-tomcat-5.5.25.zip 安装jdk,路径为:C:\Program Files\Java\jdk1.5. ...

  10. WebClient的超时问题及解决

    WebClient的超时问题及解决 转自:http://blog.163.com/xiaozhi797@126/blog/static/62440288201112245345838/   Webcl ...