在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所定义的规范。