Servlets web应用程序web.xml错误

Servlets web应用程序web.xml错误,servlets,web.xml,Servlets,Web.xml,我在Eclipse中开发的GWT应用程序中遇到一个错误。它位于web.xml文件中。以下是错误: 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?,mi

我在Eclipse中开发的GWT应用程序中遇到一个错误。它位于
web.xml
文件中。以下是错误:

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*)".
我已经看过很多关于这个的帖子,问题是文件元素的顺序,但是这个修复对我来说不起作用(我也尝试过将所有的
标记放在相应的
后面,它也不起作用)

我的
web.xml
文件:


派遣
com.jackcloser.server.DispatchServlet
1.
上传
com.com.server.UploadServlet
1.
下载
com.com.server.DownloadServlet
1.
登录
com.yachcloser.server.LoginServlet
1.
派遣
/调度
上传
/上传.do
下载
/下载
登录
/login.do
Yc.html

是否有其他方法跟踪此错误;与此链接的其他文件?

我删除了该文件,并将旧文件中的文本粘贴到具有相同名称的新文件中,现在没有错误。

根据DTD的新格式,web app标记可能包含以下标记。

上面提到的图标、显示名称、描述、可分发…等与DTD文件中提到的顺序相同


e、 g.如果将描述标记放在显示名称之前,则会出现错误。

仅供参考:选择全部->剪切->保存->粘贴->保存也可以解决此问题。可能存在行尾字符问题。

我按照“复制全部”-“剪切”-“粘贴”-“保存”的建议,这似乎澄清了信息。我发现在“粘贴”版本中,所有选项卡都已转换为空格


因此,Eclipse中的web.xml验证程序似乎不喜欢选项卡。

错误本身为您提供了线索。web.xml中元素的顺序应遵循错误中指定的顺序

<displayname>
</displayname>
<description>
</description>


。。。。。。。像这样,元素应该按照错误中所述的顺序排列。

从标题和标记中删除了GWT,因为它与问题无关。您是否尝试过删除所有空白或在十六进制编辑器中检查文件中是否有隐藏字符?我尝试了没有用,但最终找到了下面提到的答案。我遇到了这个问题,多亏了你,我解决了这个问题,问题的元素顺序不好…剪切拷贝粘贴不是一个永久的解决方案,我选择了上面的一个。它成功了,只是重新安排了servlet映射和侦听器的顺序。在Eclipse中,您还可以使用CTRL+SHIFT+F(或转到source>format)重新格式化代码。这个答案似乎无关紧要,这个问题是3年前提出的,这个问题似乎与行尾或类似的东西有关。不是元素的顺序,而是相关的,而是键入整个web.xml。我刚才提出了一个看法。我也有同样的问题,在声明contentparam时,我在servlet映射之后编写了它们,所以我得到了这个错误。更改顺序后,错误消失了。所以这可能是一个原因。仅供参考,请看这篇文章的第一个答案。这个答案已经给出了,所以不再需要:)我发布了我的经验,我想这对某些人来说是完全有用的。但你们是说这和我无关……奇怪但对我来说已经解决了这个问题。
<displayname>
</displayname>
<description>
</description>