Например - когда пользователь вводит www.example.com, я хочу, чтобы приложение перенаправляло на страницу abc.jsp
Настройте его как <welcome-file>
в web.xml
следующим образом:
<welcome-file-list>
<welcome-file>/abc.jsp</welcome-file>
</welcome-file-list>
, а также когда кто-то набирает www.example.com/something, даже в этом случае приложение должно указывать на abc.jsp, но шаблон URL не должен подвергаться риску.
Другими словами, вы хотите перенаправить несуществующие ресурсы (что может привести к ошибке HTTP 404 Page Not Found) в тот же файл? Затем определите его как <error-page>
в web.xml
:
<error-page>
<error-code>404</error-code>
<location>/abc.jsp</location>
</error-page>
Но ваш вопрос на самом деле немного двусмысленный. Если вы на самом деле не имели в виду вышесказанное и действительно хотите использовать /abc.jsp
в качестве «контроллера страницы», то вам нужно определить его как <servlet>
в web.xml
вместо:
<servlet>
<servlet-name>controller</servlet-name>
<jsp-file>/abc.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>controller</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
(и <welcome-file>
, и <error-page>
здесь не нужны)
Это, однако, недостаток в дизайне MVC (использование вида в качестве контроллера). Но если вы на самом деле просите об этом ..