2015-05-22 3 views
0

У меня есть приложение j2ee с web.xml, имеющим сервлет по умолчанию для обработки всех запросов.Проблема после обновления с Tomcat 6 до Tomcat 8

<servlet> 
    <servlet-name>controller</servlet-name> 
    <servlet-class>gr.comp.pjx.controller.FrontController</servlet-class> 
</servlet> 
<servlet-mapping> 
    <servlet-name>controller</servlet-name> 
    <url-pattern>/</url-pattern> 
</servlet-mapping> 

Странное поведение при загрузке контекста приложения. Итак, когда netbeans загружается http://localhost:8080/my_application/, я вижу, что мой класс сервлета (то есть gr.comp.pjx.controller.FrontController) не улавливает запрос. Это не тот случай, когда Tomcat 6. В дополнение к этому, когда я вручную вводим URL-адрес страницы, например. http://localhost:8080/my_application/login.jsp тот же класс сервлета обычно обычно запрашивает запрос, как и ожидалось.

Есть ли у кого-нибудь подобная проблема?

+0

Имеет ли этот xml код tomcat 8? – hurricane

+0

Нет, это принадлежит моей заявке. – jkonst

+1

См. Http://stackoverflow.com/questions/4140448/difference-between-and-in-servlet-mapping-url-pattern – Pino

ответ

0

Я решил эту проблему, добавив отображение сервлета, используя пустую строку, так что корневой контекст приложения (т.е. http://localhost/my_application) может быть подан gr.comp.pjx.controller.FrontController

<servlet> 
    <servlet-name>controller1</servlet-name> 
    <servlet-class>gr.eworx.pjx.controller.FrontController</servlet-class> 
</servlet> 
<servlet-mapping> 
    <servlet-name>controller1</servlet-name> 
    <url-pattern></url-pattern> 
</servlet-mapping> 

Итак, это сопоставление сервлетов было добавлено непосредственно перед отображением сервлета с сервлетом по умолчанию. Теперь каждый запрос может быть подан gr.eworx.pjx.controller.FrontController Однако вопрос, на который не ответил, является причиной того, что шаблон URL '/' не может использоваться для обслуживания корневого контекста приложения в Tomcat> 6

Смежные вопросы