сервлет как список приветственных файлов в tomcat 7

#tomcat #servlets

#tomcat #сервлеты

Вопрос:

Я пытаюсь использовать сервлет (не jsp) в качестве моего приветственного файла в tomcat 7, и единственный способ, которым я могу это сделать, это

сопоставив его с URL-шаблоном «/», в противном случае он возвращает 404 not found, если я попытаюсь получить доступ к URL, т.е.http://url/webapp /

Читая спецификации servlet 2.4, он допускает servlet в списке файлов приветствия, почему я должен сопоставлять его с URL-шаблоном «/», чтобы заставить его работать?

 <servlet>
<servlet-name>credentialServlet</servlet-name>
<servlet-class>com.servlet.CredentialServlet</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>credentialServlet</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

<welcome-file-list>
    <welcome-file>credentialServlet</welcome-file>
</welcome-file-list>   
  

Ответ №1:

Я не знаю, какие шаблоны URL вы все пробовали, но сопоставление сервлета с /credentialServlet or /credentialServlet/* определенно должно сработать.

 <servlet>
    <servlet-name>credentialServlet</servlet-name>
    <servlet-class>com.servlet.CredentialServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>credentialServlet</servlet-name>
    <url-pattern>/credentialServlet</url-pattern>
</servlet-mapping>

<welcome-file-list>
    <welcome-file>credentialServlet</welcome-file>
</welcome-file-list>  
  

Комментарии:

1. хорошо, это действительно работает. Клянусь, я пробовал это раньше, и это не сработало: P как я догадался, что-то связанное с неудачным горячим развертыванием

2. 1. Я должен был уже научиться задавать вопросы, даже если OP утверждает, что это правда .. 🙂

3. @portoalet: Tomcat не выполняет горячее развертывание web.xml изменения. Вам действительно нужно перезапустить эту штуку. @Bozho: Всегда пожалуйста.