Ich habe ein einfaches "Hallo Welt" -Servlet in Eclipse (Helios) + Glassfish v3 erstellt. Ich benutze Glassfishs Plugin für Eclipse Es scheint, dass es keine web.xml sondern eine sun-web.xml im WEB-INF / Ordner gibt. Dies ist mein erstes Mal mit Glassfish, war aber etwas überrascht über das Fehlen von web.xml - hier sind einige der Probleme:
Wir müssen Servlet Kontexte, Mappings usw. speziell während der Entwicklung / Tests konfigurieren, aber die bloße Abwesenheit von web.xml hat mich ratlos gemacht.
Eclipse ermöglicht es Ihnen, beim Erstellen von Dynamic Web Project für Java EE 6 keine web.xml-Datei zu erstellen, da die Java EE 6-Spezifikation (im Allgemeinen) und die Servlet 3.0-Spezifikation (insbesondere) versuchen, Deployment-Deskriptoren zu deaktivieren .
Sie können Annotation verwenden, um alle Daten bereitzustellen, die in der Datei web.xml enthalten waren. Das Javadoc für die Servlet 3.0 Annotationen ist ziemlich stumpf. Sie sollten die Servlet 3.0-Spezifikation von der jcp.org-Website lesen, um ein wenig mehr Erläuterungen zu erhalten Text.
Um das URL-Mapping für ein Servlet 3.0-Servlet zu ändern, muss zuerst im Quellcode des Servlets nachgesehen werden. Suchen Sie nach dem Wert des urlPatterns-Elements (und ändern Sie es).
Wenn Sie versuchen, eine Web-Anwendung basierend auf Servlet 3.0 zu erstellen, versuchen Sie, eine web.xml-Datei zu erstellen.
Die Datei sun-web.xml / glassfish-web.xml wird verwendet, um die Beschreibung einer WAR-Datei für die Bereitstellung in einem GlassFish-Container abzuschließen.
Eine weitere Anmerkung zu den Annotationen wie WebServlet ... sie integrieren Ihre annotierte Klasse nicht in die Klassenhierarchie, so dass die korrekte Verwendung von @WebServlet wie
aussehen würde %Vor% Wenn Sie feststellen, dass Sie eine web.xml
-Datei benötigen, können Sie auf den Deployment-Deskriptor in der Projekt-Explorer-Ansicht klicken und es sollte die Option "Deployment-Deskriptor-Stub generieren" vorhanden sein. Dadurch wird für Sie ein web.xml
mit den Elementen display-name
und welcome-file-list
erstellt.
Es scheint eine schlechte Angewohnheit zu sein, auf "Finish" zu klicken, wenn Sie ein "New & gt; Dynamic Web Project '- Sie sollten weiterhin auf' Weiter 'klicken und das letzte Fensterfenster wählen, in dem Sie "Web.xml-Implementierungsdeskriptor erstellen" auswählen - es scheint standardmäßig deaktiviert zu sein.
Nun, das sagt, ich war ein bisschen verrostet, als ich Web-Apps erstellt habe. Und hier dachte ich, es wäre ein glasfischspezifisches Problem.
Da Glassfish 3.x ein vollständig zertifizierter Java EE 6-Server ist, unterstützt es Servlets 3.0. Ab Servlets 3.0 ist es möglich, die Einstellungen von web.xml durch Anmerkungen festzulegen.
Zum Beispiel
%Vor%Um hinzuzufügen, was TMN sagte, bemerkte ich, dass der Projekt-Explorer den Deployment-Deskriptor erst anzeigen würde, wenn ich aus irgendeinem Grund eine SVN-Aktualisierung durchgeführt hätte. Wenn Sie dieses Problem haben, versuchen Sie, Ihren Code zu aktualisieren. Ich war bereits auf der HEAD-Revision, aber aus irgendeinem Grund zeigte das Update diese Ansicht.
Tags und Links eclipse deployment glassfish deployment-descriptor