2017-12-28 6 views
0

Ich bin mit der @WebServlet Anmerkung in meiner app, etwa so:Warum wird der Vorschau-Server in Eclipse meine @ WebServlet-Annotation nicht berücksichtigen?

@WebServlet("/tokenize") 
public class TokenizerServlet extends HttpServlet { 
    ... 
} 

Diese nicht in der "J2EE Vorschau auf localhost" Eclipse funktioniert. Jede Anforderung an http://localhost:8080/myApp/tokenizer gibt eine 404 zurück. Wenn sie von web.xml zugeordnet wird, funktioniert dieselbe URL einwandfrei.

Wenn jedoch die App bereitgestellt wird (in meinem Fall zu Azure), funktioniert es. Das Problem liegt also nicht im Code oder in der Konfiguration, es hat etwas mit dem Vorschau-Server in Eclipse zu tun.

Wie muss ich den Vorschau-Server so konfigurieren, dass er meine Anmerkungen berücksichtigt? Ich habe überall nachgesehen, und es scheint nicht viel Konfiguration zu geben. Das Wurzelelement meiner web.xml sieht wie folgt aus:

<web-app 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 
    version="3.0"> 

Unter dem "J2EE Preview" Knoten im Projekt, ich habe dies:

enter image description here

UPDATE -

Ich habe nie eine Lösung dafür gefunden, aber ich fand es so einfach, Tomcat lokal zu betreiben, das habe ich gerade erst angefangen. Ich lasse diese Frage hier für den Fall, dass jemand anderes das gleiche Problem hat, nur damit Sie wissen, dass Sie nicht alleine sind, und vielleicht wird jemand irgendwann eine Antwort geben.

Antwort

0

Das Konzept der Annotation in Servlet kam bei der Einführung von Servlet 3.0 ins Bild. Jede niedrigere Version unterstützt keine Annotation. Ich denke, in Ihrer IDE haben Sie eine Servlet-Version unter 3.0 verwendet. Beim Erstellen eines dynamischen Webprojekts kann diese Version geändert werden.

enter image description here

+0

Hat mein web.xml Root-Tag nicht (oben beschrieben) zeigen, dass ich 3.0 verwende? – Deane

+0

Wenn nicht, wie verwende ich 3.0? Ich benutze Eclipse Oxygen - die neueste Version. Unterstützt es 3.0 nicht? – Deane

+0

Entschuldigung ... meine Antwort war nicht vollständig ... bitte überprüfen Sie die ausgefüllte Antwort – Nithin

Verwandte Themen