一.三种配置位置及读取方式
以db_properties配置文件为例:
uname=mybatis_ssm upass=xiaoli url=jdbc:mysql://localhost:3306/mybatis_ssm driver_Class=com.mysql.jdbc.Driver initPoolSize=5 maxPoolSize=20
1. 同一个包中
读取方式:demo1.class.getResourceAsStream("配置文件的名字");
// 1.同包下 InputStream asStream = demo1.class.getResourceAsStream("db.properties");//里面放配置文件的名字 //加载db.properties文件类容所对应的流 Properties p = new Properties(); p.load(asStream); //打印db.properties文件的类容 System.out.println(p.getProperty("driver_Class"));//com.mysql.jdbc.Driver
运行结果:
2.同一个根目录下,不同包
读取方式:demo1.class.getResourceAsStream(" / 配置文件的名字");
注意:在写配置文件时,前面要加 /
//2.同一个根目录 InputStream asStream = demo1.class.getResourceAsStream("/db.properties");//里面放配置文件的名字 //加载db.properties文件类容所对应的流 Properties p = new Properties(); p.load(asStream); //打印db.properties文件的类容 System.out.println(p.getProperty("driver_Class"));//com.mysql.jdbc.Driver
结果与上一个一样
3.安全位置--WEB-INF
--- 为什么说这是安全位置呢??
-----因为在这个位置的配置文件是不会被泄露的,浏览器去搜索会报 404 的错误,所有它是安全位置,一般我们但是把配置文件放在这个位置,但是这个位置,在我们自己获取时,是要在Servlet里面执行代码,其它代码,与上面两个无异,看下方示例
package com.yinzi.xml; import java.io.IOException; import java.io.InputStream; import java.util.Properties; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/WEByinzi") public class WEByinzi extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //访问WEB-INF目录下的db.properties InputStream is = request.getServletContext().getResourceAsStream("/WEB-INF/db.properties"); //加载db.properties文件类容所对应的流 Properties p = new Properties(); p.load(is); //打印db.properties文件的类容 System.out.println(p.getProperty("driver_Class"));//com.mysql.jdbc.Driver } }
二.dom4J的使用
------dom4J是什么????
-----DOM4J是一个Java语言的XML解析库,它提供了一种方便、高效、灵活的方式来处理XML文档。 使用DOM4J可以轻松地读取和创建XML文档,支持XPath查询、修改和转换XML文档等功能 今天主要介绍 读取XML文档和XPth查询
四种常用方法
- selectNode 节点集合
- .selectSingleNode 单个节点
- getText 每个标签的内容
- attributeValue 属性
以students.xml为例
<?xml version="1.0" encoding="UTF-8"?> <students> <student sid="s001"> <name>小明</name> </student> <student sid="s002"> <name>小芳</name> </student> <student sid='s003'> <name>小王</name> </student> </students>
selectNode是一个集合,所以查询用foreach,用法还是比较简单的,都是固定的
XPth的使用
XPth的作用:
XPath的作用十分广泛,可以用于XML文档的解析、数据抽取、处理和转换等场景,也可以用于Web开发、爬虫等多个领域。而且XPath可以非常快速地定位到一个或多个目标节点,而无需关心它们在文档中的具体位置,从而提高查找效率。
//XPth 查找ids002的名字 Element node2 = (Element) read.selectSingleNode("students/student[@sid='s002']/name"); System.out.println(node2.getText());