轉載自:http://blog.163.com/liwei3324@126/blog/static/47452426201041435525524/
在flex整合java生成的web.xml中添加引用servelet的代碼就報錯如下:
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*,welcome-file-list?,error-page*,taglib*,resource-env-ref*,resource-ref*,security-constraint*,login-config?,security-role*,env-entry*,ejb-ref*,ejb-local-ref*)". eoso/WebRoot/WEB-INF web.xml line 5
添加的代碼如下:
<servlet>
<servlet-name>downLoadServlet</servlet-name>
<display-name>downLoadServlet</display-name>
<servlet-class>jp.co.snjp.eos.web.odermanger.service.DownLoad</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>downLoadServlet</servlet-name>
<url-pattern>/download</url-pattern>
</servlet-mapping>
如果把添加的代碼刪掉,web.xml就正常了,不會顯示錯誤。但是這段代碼是flex下載調用服務端的servlet用的,必須添加。說明,網上都是說順序問題,但我已經按照icon?,display-name?,description?,distributable等等這種順序添加節點的,但還是錯誤。後來,我把 <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD
Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">這一段校驗代碼刪掉,問題就解決了。原因是:我添加的那部分代碼符合xml文檔規範,但不符合web-app_2_3.dtd所定義的規範。