Struts2: разметка в документе после корня должна быть правильно сформирована

Я просто открываю Struts2 и у меня проблема с web.xml файл.

Это дает мне ошибку рядом с тегом фильтра:

<filter>
   <filter-name>struts2</filter-name>
   <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>

Ошибка говорит: В этой строке найдено несколько аннотаций: - Начальный тег элемента <filter>- Разметка в документе после корневого элемента должна быть правильно сформирована.

В чем проблема? И как я могу это решить?

Спасибо!

Спасибо Александру за проявленный интерес:

Вот мой web.xml файл:

    `<?xml version="1.0" encoding="UTF-8"?>
<web-app>
  <display-name>struts2example</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>
</web-app>

<filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>`

1 ответ

Решение

Вы ставите теги за пределами <web-app> корневой тег Положить ваши <filter> внутри <web-app> как это

<?xml version="1.0" encoding="UTF-8"?>
<web-app>
  <display-name>struts2example</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>

  <filter>
   <filter-name>struts2</filter-name>
   <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
</web-app>

Также org.apache.struts2.dispatcher.FilterDispatcher устарела начиная с Struts 2.1.3, используйте org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter вместо.

Другие вопросы по тегам