java项目中数据库的密码在哪,在动态Web项目中处理配置(数据库登录名和密码等)的正确方法是什么?...

小编典典

配置通常存储在属性或XML文件中,该属性或XML文件放置在应用程序的运行时类路径中或在指定为VM参数的固定位置。可以使用java.util.PropertiesAPI

访问属性文件。可以使用JAXP或JAXB解析XML文件。

这是此类属性文件的示例:

jdbc.url = jdbc:mysql:// localhost:3306 / javabase

jdbc.driver = com.mysql.jdbc.Driver

jdbc.username = Java

jdbc.password = d $ 7hF_r!9Y

假定它已命名config.properties并且已放置在类路径的根目录中(或它的根路径已添加到类路径中),以下是从类路径中加载它的方法:

Properties properties = new Properties();

properties.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("config.properties"));

String url = properties.getProperty("jdbc.url");

String driver = properties.getProperty("jdbc.driver");

String username = properties.getProperty("jdbc.username");

String password = properties.getProperty("jdbc.password");

// ...

这是XML文件的示例:

jdbc:mysql://localhost:3306/javabase

com.mysql.jdbc.Driver

java

d$7hF_r!9Y

假设已调用config.xml它并将其放置在类路径的根目录中,下面是一个示例,说明如何通过JAXP加载它:

InputStream input = Thread.currentThread().getContextClassLoader().getResourceAsStream("config.xml");

Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new InputSource(input));

XPath xpath = XPathFactory.newInstance().newXPath();

String url = (String) xpath.compile("//config//jdbc//url").evaluate(document, XPathConstants.STRING);

String driver = (String) xpath.compile("//config//jdbc//driver").evaluate(document, XPathConstants.STRING);

String username = (String) xpath.compile("//config//jdbc//username").evaluate(document, XPathConstants.STRING);

String password = (String) xpath.compile("//config//jdbc//password").evaluate(document, XPathConstants.STRING);

// ...

尽管JAXB是一个相当复杂的文件,但它可以使生活变得更轻松,但是只是更加冗长。

依次控制对属性或XML文件的访问的安全性应在更高的级别(OS /平台)上进行控制。

2020-06-08

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值