Keine web.xml in Eclipse + Glassfish v3?

8

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:

  1. Wo finde ich nach URL-Mappings für das Servlet? Beim Erstellen eines neuen Servlets in Eclipse wird nach einer URL-Zuordnung gefragt, aber ich kann sie nirgends in einer .xml-Datei finden, wo ich die Einstellungen optimieren kann.
  2. Wenn es keine web.xml gibt, ist das Erstellen von Grund auf ziemlich fehleranfällig. Was schlagen Sie vor? Google für eine Probe und spielen Sie herum? Sollte man nicht automatisch erstellt werden?
  3. Ist jemand auf dieses Problem gestoßen? Ich habe versucht, den Unterschied zwischen web.xml und sun-web.xml herauszufinden, aber die Ergebnisse waren überhaupt nicht aufschlussreich. Ich würde nicht ein anderes XML für Konfigurationszwecke lernen wollen und das auch glasfischspezifisch.

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.

    
PhD 24.02.2011, 02:34
quelle

5 Antworten

12

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%     
vkraemer 24.02.2011, 07:30
quelle
10

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.

    
TMN 25.05.2012 15:28
quelle
4

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.

    
PhD 24.02.2011 03:25
quelle
3

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%     
Lev Khomich 24.02.2011 03:22
quelle
0

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.

    
Clete2 25.09.2012 14:17
quelle