镇江船厂:Java Servlet错误,不明原因,无法排除,请教高手!

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/01 12:22:49
我编写了两个Servlet,编译成功,并配置了ROOT\WEB-INF下面的web.xml,新建了两个关于<servlet>标签,具体如下:
<web-app>
<display-name>Welcome to Tomcat</display-name>
<description>
Welcome to Tomcat
</description>

<servlet>
<servlet-name>BadWorld</servlet-name>
<servlet-class>BadWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>BadWorld</servlet-name>
<url-pattern>/BadWorld</url-pattern>
</servlet-mapping>

<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/HelloServlet</url-pattern>
</servlet-mapping>
</web-app>
,在浏览器执行时,两个Servlet的执行结果也正确。但是当启动Tomcat时,在Tomcat的界面上面却出现错误提示如下:
2005-11-28 14:56:01 org.apache.commons.digester.Digester error
严重: Parse Error at line 30 column 11: The content of element type "web-app" mu
st match "(icon?,display-name?,description?,distributable?,context-param*,filter
*,filter-mapping*,listener*,servlet*,servlet-mapping*,session-config?,mime-mappi
ng*,welcome-file-list?,error-page*,taglib*,resource-env-ref*,resource-ref*,secur
ity-constraint*,login-config?,security-role*,env-entry*,ejb-ref*,ejb-local-ref*)
".
org.xml.sax.SAXParseException: The content of element type "web-app" must match
"(icon?,display-name?,description?,distributable?,context-param*,filter*,filter-
mapping*,listener*,servlet*,servlet-mapping*,session-config?,mime-mapping*,welco
me-file-list?,error-page*,taglib*,resource-env-ref*,resource-ref*,security-const
raint*,login-config?,security-role*,env-entry*,ejb-ref*,ejb-local-ref*)".
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Un
known Source)
......(错误太长,后面省略了)

<servlet>和<servelt-mapping>必须写完一个再写一个,不能交替书写。也就是说,你应该先把两个<servlet>定义完再定义<servlet-mapping>,如下:
<web-app>
<display-name>Welcome to Tomcat</display-name>
<description>
Welcome to Tomcat
</description>

<servlet>
<servlet-name>BadWorld</servlet-name>
<servlet-class>BadWorld</servlet-class>
</servlet>
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>HelloServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>BadWorld</servlet-name>
<url-pattern>/BadWorld</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/HelloServlet</url-pattern>
</servlet-mapping>
</web-app>