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

项目需要从配置文件中读取更新索引的的地址,故写了一个方法进行操作:读取并解析文件以初始化地址列表,该方法需传递一个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>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值