Maven игнорирует аннотацию @WebServlet - PullRequest
3 голосов
/ 08 сентября 2011

У меня был динамический веб-проект, в котором было несколько аннотаций @WebServlet, и все они работали нормально. С тех пор я переключил свой динамический веб-проект на веб-проект Maven. После этого я не могу получить доступ ни к одному из своих сервлетов, как я определил в своих аннотациях @WebServlet. Я должен также отметить, что некоторые из моих сервлетов накладываются на другие проекты Maven. Нужно ли теперь определять сопоставления моего сервлета в файле web.xml?

Спасибо

1 Ответ

3 голосов
/ 08 сентября 2011

За исключением истории Maven, аннотация @WebServlet была введена в Servlet 3.0.Если они не инициализированы, то это просто означает, что либо дескриптор веб-приложения (web.xml) не объявлен как соответствующий Servlet 3.0, либо целевой контейнер не поддерживает Servlet 3.0.

Вам необходимо проверить, соответствует ли ваш web.xml сервлету 3.0.То есть корневое объявление <web-app> должно соответствовать:

<web-app 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    id="WebApp_ID" version="3.0">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...