昨晚上断网后,启动tomcat。
竟然出现了
这个很是不解啊。。
[quote]这是因为xml的配置文件验证问题:
1.注意看报异常的位置,确定异常源的配置文件。
2.注意所写的xml配置文件头部的版本与lib库的版本一致,这样会使用本地验证而不会去上网验证。
3.注意所写的xml配置文件头部的格式问题,如
<!DOCTYPE form-validation PUBLIC
"-//Apache Software Foundation//DTD Commons
Validator Rules COnfiguration 1.0//EN"
"http://jakarta.apache.org/commons/dtds/validator_1_0.dtd" >
和
<!DOCTYPE form-validation PUBLIC
"-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.0//EN"
"http://jakarta.apache.org/commons/dtds/validator_1_0.dtd">
是不一样的,虽然只有换行的区别,如果用上面的就会出异常,这个validation异常会导致验证页面无效,并且在页面上显示出javascript。[/quote]
原来是xml文件头的问题。
原来我的xml文件头
这样会上网去验证。
改成:
这样子就不需要了。。
-----------------------------------------
读取xml文件,xml会去验证自身的格式是否合格。通过dtd文件,去网上验证或者寻找本地dtd文件。。框架本地的DTD在resources包中。如struts:在org.struts.resources...下面。
竟然出现了
Caused by: org.springframework.beans.FatalBeanException: Unable to read validation configuration due to IOException.; nested exception is java.net.UnknownHostException: jakarta.apache.org
at org.springmodules.validation.commons.DefaultValidatorFactory.setValidationConfigLocations(DefaultValidatorFactory.java:75)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:844)
... 87 more
Caused by: java.net.UnknownHostException: jakarta.apache.org
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:177)
at java.net.Socket.connect(Socket.java:520)
at java.net.Socket.connect(Socket.java:470)
at sun.net.NetworkClient.doConnect(NetworkClient.java:157)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:388)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:523)
at sun.net.www.http.HttpClient.<init>(HttpClient.java:231)
at sun.net.www.http.HttpClient.New(HttpClient.java:304)
at sun.net.www.http.HttpClient.New(HttpClient.java:321)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:813)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:765)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:690)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:934)
at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
at org.apache.xerces.impl.XMLEntityManager.startEntity(Unknown Source)
at org.apache.xerces.impl.XMLEntityManager.startDTDEntity(Unknown Source)
at org.apache.xerces.impl.XMLDTDScannerImpl.setInputSource(Unknown Source)
at org.apache.xerces.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.commons.digester.Digester.parse(Digester.java:1591)
at org.apache.commons.validator.ValidatorResources.<init>(ValidatorResources.java:159)
at org.springmodules.validation.commons.DefaultValidatorFactory.setValidationConfigLocations(DefaultValidatorFactory.java:72)
... 92 more
这个很是不解啊。。
[quote]这是因为xml的配置文件验证问题:
1.注意看报异常的位置,确定异常源的配置文件。
2.注意所写的xml配置文件头部的版本与lib库的版本一致,这样会使用本地验证而不会去上网验证。
3.注意所写的xml配置文件头部的格式问题,如
<!DOCTYPE form-validation PUBLIC
"-//Apache Software Foundation//DTD Commons
Validator Rules COnfiguration 1.0//EN"
"http://jakarta.apache.org/commons/dtds/validator_1_0.dtd" >
和
<!DOCTYPE form-validation PUBLIC
"-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.0//EN"
"http://jakarta.apache.org/commons/dtds/validator_1_0.dtd">
是不一样的,虽然只有换行的区别,如果用上面的就会出异常,这个validation异常会导致验证页面无效,并且在页面上显示出javascript。[/quote]
原来是xml文件头的问题。
原来我的xml文件头
<!DOCTYPE form-validation PUBLIC
"-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.3.0//EN"
"http://jakarta.apache.org/commons/dtds/validator_1_3_0.dtd">
这样会上网去验证。
改成:
<!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN" "validator_1_1_3.dtd" >
这样子就不需要了。。
-----------------------------------------
读取xml文件,xml会去验证自身的格式是否合格。通过dtd文件,去网上验证或者寻找本地dtd文件。。框架本地的DTD在resources包中。如struts:在org.struts.resources...下面。