我正在尝试将我的web.xml从2.3升级到2.4,所以我将web.xml更改为这样的内容 -
<?xml version="1.0" encoding="UTF-8"?>
<!--<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<!DOCTYPE sun-web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Application Server 8.1
Servlet 2.4//EN" "http://www.sun.com/software/appserver/dtds/sun-web-app_2_4-1.dtd">-->
<!--
===========================================================
WUI - WEB.XML
===========================================================
-->
<web-app id="WebApp" 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"
version="2.4">
<description>Odyssey Web User Interface</description>
<display-name>wui</display-name>
<!-- Uncomment this when setting up the prevent-multiple-login mechanism -->
<!--
<listener>
<listener-class>com.xxx.xxxnListener</listener-class>
</listener>
-->
<!-- local cache filter setup -->
<filter>
<filter-name>local-cache</filter-name>
<filter-class>com.xxx.xxxcheFilter</filter-class>
</filter>
....
当我启动服务器时,我收到此错误 -
weblogic.descriptor.DescriptorException:验证问题已找到 问题:cvc-complex-type.2.4a:预期元素'servlet-class @http://java.sun.com/xml/ns/javaee jsp-file @http://java.sun.com/xml/ns / javaee'而不是'display-name @ http://java.sun.com/xml/ns/javaee'元素servlet @ http://java.sun.com/xml/ns/javaee: 问题:cvc-complex-type.2.4a:预期元素'servlet-class @http://java.sun.com/xml/ns/javaee jsp-file @http://java.sun.com/xml/ns / javaee'而不是'description @ http://java.sun.com/xml/ns/javaee'元素servlet @ http://java.sun.com/xml/ns/javaee:
我正在使用weblogic 10.1服务器。
知道我还应该做些什么。
感谢。
答案 0 :(得分:6)
web.xml
的结构需要更改以传递新的XSD。例如,新的XSD声明您的web.xml文件应具有:
<servlet-class>
或<jsp-file>
作为您当前拥有<display-name>
在http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd阅读XSD以获取更多详细信息,重组时间不应太长,以便通过。
答案 1 :(得分:1)
Servlet 2.4的XML Schema定义使用<xsd:sequence>
来描述<servlet>
元素的内容,因此强制执行这些元素的特定顺序。例如,<servlet-name>
必须是<servlet>
的第一个孩子。
答案 2 :(得分:-1)
使用以下代码将2.3更改为2.5
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">