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
вместо.