Я пытаюсь сделать что-то тривиальное и не вижу, что мне не хватает. У меня есть следующий web.xml ...web.xml фильтр-сопоставление не переадресация на struts
<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>*.do</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
И когда я использую URL, как «http://localhost:8080/gallery.action», все работает просто отлично (потому что «галерея» настроена должным образом в struts.xml, и т.д., и т.д.).
Если, однако, я ударил «http://localhost:8080/gallery.do» вместо этого, я получаю ответ 404. Tomcat, по-видимому, не перенаправляет запрос на стойки, так как нет входа в систему на стойках. Журналы Tomcat показывают только 404.
Я попытался изменить отображение фильтра на * .blah и ничего не работает, кроме * .action. Я не вижу противоречивой информации в файле web.xml по умолчанию.
Кто-нибудь знает, что мне не хватает?
Действительно ли 'struts.xml' настроен, чтобы знать, что делать с' gallery.do'? Возможно, пересылка фильтра работает нормально, но Struts неправильно сконфигурирована. – skaffman
struts.xml настроен для обработки имени действия «gallery» ... но ничего не знает о расширении .action (или .do). Я понимаю, что struts просто сбивает расширение, чтобы получить имя действия. –
, кроме того, если я ввожу недопустимое имя действия, struts выполняет много записей ... если я вхожу в gallery.do, я абсолютно не делаю действия в журнале расположений, поэтому я думаю, что можно с уверенностью предположить, что он не получает этого , –