在配置web.xml文件,在 <display-name>DWR Servlet</display-name> 一行报
cvc-complex-type.2.4.a: Invalid content was found starting with element 'display-name'. One of
'{"http://java.sun.com/xml/ns/j2ee":servlet-class, "http://java.sun.com/xml/ns/j2ee":jsp-file}' is expected.
错误
web.xml如下
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <display-name>cms</display-name> <servlet> <servlet-name>action</servlet-name> <servlet-class> org.apache.struts.action.ActionServlet </servlet-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> <load-on-startup>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <filter-mapping> <filter-name>SetCharacterEncoding</filter-name> <url-pattern>*.do</url-pattern> </filter-mapping> <filter-mapping> <filter-name>SetCharacterEncoding</filter-name> <url-pattern>*.jsp</url-pattern> </filter-mapping> <filter-mapping> <filter-name>SessionTimeoutCheck</filter-name> <url-pattern>*.jsp</url-pattern> </filter-mapping> <filter-mapping> <filter-name>SessionTimeoutCheck</filter-name> <url-pattern>*.do</url-pattern> </filter-mapping> <servlet> <servlet-name>dwr-invoker</servlet-name> <display-name>DWR Servlet</display-name> <description>Direct Web Remoter Servlet</description> <servlet-class> org.directwebremoting.servlet.DwrServlet </servlet-class> <init-param> <param-name>debug</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>pollAndCometEnabled</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name> allowGetForSafariButMakeForgeryEasier </param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>crossDomainSessionSecurity</param-name> <param-value>false</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dwr-invoker</servlet-name> <url-pattern>/dwr/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>generateRandomNumberServlet</servlet-name> <url-pattern>/generateRandomNumberServlet</url-pattern> </servlet-mapping> <session-config> <session-timeout>30</session-timeout> </session-config> <welcome-file-list> <welcome-file>/firstpage.jsp</welcome-file> </welcome-file-list> </web-app>
下面列出解决办法
1)去掉:
<display-name>DWR Servlet</display-name>
<description>Direct Web Remoter Servlet</description>
2)把:
<taglib>
<taglib-uri>displaytag</taglib-uri>
<taglib-location>/WEB-INF/displaytag.tld</taglib-location>
</taglib>
放在:
<jsp-config></jsp-config>标签之中
分析:
出现错误的原因:通常是由于标签位置,标签DTD的校验规则所影响的,
所以上述问题还有如下解决办法
3).删除“http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd”即不采用该校验规则
4).把头文件中的“version="2.4"”改为“version="2.5"”
“http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd”改为“http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd”
即采用jsp2.5的校验规则