Подтвердить что ты не робот

Содержимое типа элемента "..." должно совпадать в файле web.xml

У меня проблема с моим файлом web.xml. Ошибка:

Содержимое типа элемента "веб-приложение" должно соответствовать "(Значок?, Дисплей имя?, Описание?, Распространяемый?, Контекстно-пары *, фильтр *, фильтр- отображение *, слушатель *, сервлет *, сервлет-отображение *, сессия-конфигурация?, мим-отображение *, добро файл-лист?, ошибка-страница *, TagLib *, ресурс-env- исх *, ресурсно-исх *, безопасности ограничение *, логин-конфигурации?, безопасность-роль *, окр-запись *, EJB-ссылок *, EJB-локального исх *)".

Однако мой файл в формате web.xml находится в том порядке, в котором говорится об ошибке.

Вот мой web.xml:

<!DOCTYPE web-app PUBLIC
         "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
         "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
    <display-name>Archetype Created Web Application</display-name>

    <context-param>
        <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
        <param-value>client</param-value>
        <description>State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2</description>
    </context-param>
      
    <context-param>
        <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
        <param-value>resources.application</param-value>
        <description></description>
    </context-param>

    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
      
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>

    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
    </welcome-file-list>

</web-app>

Я использую WebLogic 10.3.4. Любая идея о проблеме?

4b9b3361

Ответ 1

Одно очень простое решение, которое решает мою проблему.

Изменить ссылку на схему с

<!DOCTYPE web-app PUBLIC
   "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
   "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app></web-app>

к этому

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns="http://java.sun.com/xml/ns/javaee" 
         version="2.5" 
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 
         // ...
         // your all content goes here

</web-app>

Ответ 2

У меня была такая же проблема в Eclipse, после того, как теги повторного заказа были DTD, ошибка идет. Вы также можете попробовать перезапустить Eclipse.

Ответ 3

Я заметил, что DTD в Web.xml требует определенного порядка для сервлетов элементов, сервлет-сопоставления и т.д.

Итак, я начал добавлять каждый элемент из Design View XML файла в ECLIPSE.

Это работает!. Вы можете создать свой XML файл так, как ему нравится DTD.

Ответ 4

Я последовал за предложением "копировать все" - "вырезать" - "вставить" - "сохранить", и это, казалось, прояснило сообщение. Сравнивая файлы до и после, я обнаружил, что в "вставленной" версии все вкладки были преобразованы в пробелы. Похоже, что валидатор web.xml в Eclipse не любит вкладки.

Ответ 5

Я просто удалил тег <!DOCTYPE .. >, и это сработало для меня. На самом деле я не знаю, насколько важно...

Ответ 6

измените свой код следующим образом:

<web-app>
  <display-name>Archetype Created Web Application</display-name>

  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>

 <context-param>   
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>client</param-value>
    <description>State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2</description>
  </context-param>

  <context-param>
    <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
    <param-value>resources.application</param-value>
    <description></description>>
  </context-param>

  <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
 <servlet-mapping>
   <servlet-name>Faces Servlet</servlet-name>
   <url-pattern>/faces/*</url-pattern>
 </servlet-mapping>

и если у вас больше сервлета, тогда определите свой сервлет над отображением, а затем сопоставьте свой сервлет после этого.

Ответ 7

Если вы имеете дело с этой же проблемой и ничего не обнаружили в синтаксисе web.xml, я рекомендую сделать следующее: "cut (весь контент в web.xml)", "вставить в блокнот" - "копировать из блокнот" - "вставить обратно в web.xml" - "и, наконец, сохранить web.xml". Получил любовь к невидимым персонажам, вкладкам и т.д.

Ответ 8

Наконец, я решил эту проблему, настроив отображение сервлетов и сервлетов, используя представление конструктора в eclipse вместо того, чтобы печатать напрямую в файле web.xml в представлении исходного кода. Надеюсь это поможет.

Ответ 9

Эта часть была удалена и ошибки были решены.

<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"  "http://java.sun.com/dtd/web-app_2_3.dtd" >

Ответ 10

Просто не забудьте сохранить файл при попытке решения выше. Ошибка исчезла в моем случае после использования последнего дескриптора схемы и сохранения:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
    id="WebApp_ID" version="3.1">

    <!-- your content here -->

</web-app>'