The content of element type "web-app" must match……問題之解決辦法

轉載自: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所定義的規範。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章