@WebServlet Annotation nicht erkannt; Init wird nicht ausgeführt

7

Ich versuche Annotationen zu lernen. Ich habe derzeit eine Webanwendung, die ein init () ausführt, wenn die App in Tomcat gestartet wird.

Der folgende Code funktioniert ...

web.xml:

%Vor%

Main.java:

%Vor%

Wenn ich jedoch die Annotation @WebServlet auskommentiere und den Servleteintrag in web.xml auskommentiert, wird die init-Methode nicht ausgeführt.

Vermisse ich etwas Offensichtliches?

Falls das hilft, ist das meine pom.xml:

%Vor%     
Custard 11.08.2011, 10:05
quelle

3 Antworten

16

Stellen Sie sicher, dass Sie in einem Servlet 3.0-Container laufen - zum Beispiel Tomcat 7 (Tomcat 6 unterstützt kein Servlet 3.0)

Geben Sie dann <web-app metadata-complete="false" /> an - es sollte standardmäßig falsch sein, aber versuchen Sie es.

    
Bozho 11.08.2011, 16:05
quelle
8

Ihre Anwendung enthält möglicherweise eine web.xml in einem alten Format, wodurch JBoss alle mit Anmerkungen versehenen Klassen ignoriert. Wenn Ihre web.xml wie folgt aussieht:

%Vor%

dann ändern Sie es in:

%Vor%

Dadurch wird sichergestellt, dass JBoss den Krieg als Servlet 3.0 erneut behandelt.

    
gkephorus 23.02.2015 10:29
quelle
0

Gemäß der Servlet 3.0-Spezifikation muss die Klasse, die die @WebServlet -Anmerkung verwendet, dies tun Erweitern Sie HttpServlet . Das könnte bedeuten, dass dein GenericServlet einfach nicht tut.

    
Andreas Øverland 30.01.2012 21:41
quelle

Tags und Links