解决Exception in thread "main" java.lang.ExceptionInInitializerError问题

Exception in thread “main” java.lang.ExceptionInInitializerError
at cn.tedu.core.WebServer.(WebServer.java:31)
at cn.tedu.core.WebServer.main(WebServer.java:57)
Caused by: java.lang.NullPointerException
at cn.tedu.context.ServerContext.init(ServerContext.java:43)
at cn.tedu.context.ServerContext.(ServerContext.java:25)
… 2 more
这个是我在写JavaWeb程序抛出的异常
原因是我写的代码中写了两处bug

最终通过调试发现我的代码有两处bug出现的地方

//解析xml文件
	//获取到属性的值,动态给服务名设置参数
	private static void init() {
		try {
			SAXReader reader = new SAXReader();
			//加载文件 dom4j.Document
			Document doc = reader.read("config/web.xml");
			
			//获取根元素
			Element server = doc.getRootElement();
			
			Element service = server.element("service");
			
			//第一处错误
			//正确代码应该是:Element connector = service.element("Connector");
			Element connector = server.element("Connector");
			
			port = Integer.valueOf(connector.attributeValue("port"));
			
			maxSize = Integer.valueOf(connector.attributeValue("maxSize"));
			
			protocol = connector.attributeValue("protocol");
			
			//第二处错误
			//正确代码应该是:webroot = server.element("webRoot").getText();
			webroot = service .element("webRoot").getText();
		} catch (DocumentException e) {
			e.printStackTrace();
		}
	}

xml文件是这样的

<?xml version="1.0" encoding="UTF-8"?>
<server>
	<service>
		<Connector port="8081" maxSize="100" protocol="HTTP/1.1">
		</Connector>
	</service>
	<webRoot>WebContent</webRoot>
</server>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值