我配置完后,新建一个web project。在WebRoot的WEB-INF下,自动生成一个web.xml文件,内容如下
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
</web-app>
然后我发布这个工程
然后启动tomcat(我用的是4.1)。这是会有如下错误信息
2006-7-12 17:16:44 org.apache.commons.digester.Digester error
严重: Parse Error at line 6 column 52: Document root element "web-app", must match DOCTYPE root "null".
org.xml.sax.SAXParseException: Document root element "web-app", must match DOCTYPE root "null".
在浏览器中输入地址,不影响你的页面的正常显示。
我把那个自动生成的web.xml内容改变如下
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>Welcome to Tomcat</display-name>
<description>
Welcome to Tomcat
</description>
</web-app>
重新启动tomcat,就没有上面的错误信息。
请问这是什么原因?
难道我的配置有问题?
----------------解决方案--------------------------------------------------------
Parse Error at line 6 column 52: Document root element "web-app", must match DOCTYPE root "null".
你原来的XML文件语法错误了
----------------解决方案--------------------------------------------------------
但是那个xml文件时工具自动生成的啊?怎么会有语法错误呢??
----------------解决方案--------------------------------------------------------
应该问题是这样的
你用工具生成的web.xml是servlet2.4版本的
你的tomcat是4版本的,我估计是他根本就不支持servlet2.4的语法哈
你后面换成servlet2.3就正确了
----------------解决方案--------------------------------------------------------