java的配置文件
- 在同一个包(从当前包里寻找db.properties):Demo01.class.getResourceAsStream(“db.properties”);
- 根路径(从根路径里寻找db.properties):Demo01.class.getResourceAsStream(“/db.properties”);
- WEB-INF安全路径: context.getResourceAsStream(“/WEB-INF/db.properties”)
生成WAR file文件后可在WEB-INF文件夹里找到db.properties
生成WAR file文件的方法(仅适用于eclipse):点击动态web文件后。右键–>export–>WAR file
dom4j的使用(以下两段代码都有对dom4j的使用)
- selectNodes:获取多个节点
- attributeValue:获取属性值
- getText():获取标签的·文本内容
- selectSingleNode:获取单个节点
public class Demo03 {
public static void main(String[] args) throws DocumentException {
//读取配置文件,得到一个in流
InputStream in = Demo03.class.getResourceAsStream("students.xml");
//创建一个对象
SAXReader reader = new SAXReader();
//再次读取in流
Document doc = reader.read(in);
//定位到我们要得到的节点
Node node = doc.selectSingleNode("/students/student[@sid='s002']/name");
//获取标签的·文本内容
System.out.println(node.getText());
}
}
public class Demo05 {
public static void main(String[] args) throws DocumentException {
//读取配置文件,得到一个in流
InputStream in = Demo05.class.getResourceAsStream("/config.xml");
//创建一个对象
SAXReader reader = new SAXReader();
//再次读取in流
Document read = reader.read(in);
//获取他的根节点
Element ele = read.getRootElement();
//通过根节点获取他的子节点
List<Element> nodes = ele.selectNodes("action");
for (Element e : nodes) {
//获取他的属性值
String path = e.attributeValue("path");
String type = e.attributeValue("type");
System.out.println(path);
System.out.println(type);
List<Element> nodes2 = e.selectNodes("forward");
for (Element element : nodes2) {
//获取他的属性值
String name = element.attributeValue("name");
String path1 = element.attributeValue("path");
String redirect = element.attributeValue("redirect");
System.out.println(name);
System.out.println(path1);
System.out.println(redirect);
}
}
}
}
xpath的使用
语法:
Node node = doc.selectSingleNode("/students/student[@sid='s002']/name");
详情见第一段代码