您的位置:首页 > 编程语言 > Java开发

Java读取WEB-INF下XML文件并进行解析

2011-09-14 14:25 357 查看
项目需要从配置文件中读取更新索引的的地址,故写了一个方法进行操作:读取并解析文件以初始化地址列表,该方法需传递一个javax.servlet.ServletContext参数,用于获得文件路径,因为我是在一个实现了javax.servlet.ServletContextListener 的类中调用的,所以在contextInitialized方法中通过event.getServletContext() 可以很方便得到该参数,下面是该方法代码:

/**
* 初始化多服务器更新索引的接口列表
* 该方法服务器启动时在UpdateIndexListener中被调用
* */
public static void initServersList(ServletContext event) {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
try {
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(new FileInputStream(event.getRealPath("WEB-INF/kbs-UpdateIndex-AllServers.xml")));
// Element root = doc.getDocumentElement();
NodeList serverslist = doc.getElementsByTagName("server");
if (serverslist != null) {
for (int i = 0; i < serverslist.getLength(); i++) {
String updateIndexUrl = doc
.getElementsByTagName("update-index-url").item(i)
.getFirstChild().getNodeValue();
serverList.add(updateIndexUrl);
}
}
} catch (Exception e) {
log.error(e.getMessage());
}
}


我的配置kbs-UpdateIndex-AllServers.xml 文件放在WEB-INF下:

<?xml version="1.0" encoding="UTF-8"?>

<!-- ======================================================================= -->
<!-- kbs服务器信息配置文件 -->
<!-- @author linshutao -->
<!-- server: 代表一个服务器 -->
<!-- update-index-url: kbs更新索引的接口-->
<!-- ======================================================================= -->

<kbs-servers>
<server>
<update-index-url>http://localhost:8080/IM800KBS/api/UpdateIndex/updateIndex.do</update-index-url>
</server>
</kbs-servers>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: