#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: Всегда пожалуйста.