栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

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

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

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

java.util.Properties
API
访问属性文件。可以使用JAXP或JAXB解析XML文件。

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

jdbc.url = jdbc:mysql:// localhost:3306 / javabasejdbc.driver = com.mysql.jdbc.Driverjdbc.username = Javajdbc.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文件的示例:

<?xml version="1.0" encoding="UTF-8"?><config>    <jdbc>        <url>jdbc:mysql://localhost:3306/javabase</url>        <driver>com.mysql.jdbc.Driver</driver>        <username>java</username>        <password>d$7hF_r!9Y</password>    </jdbc></config>

假设已调用

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 /平台)上进行控制。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/506929.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号