Web DeploymentDescriptor

dadom110

Erfahrenes Mitglied
Guten Tag Zusammen...

hab hier einen Sun Application Server 9.0 laufen und versuche gerade ein kleines Projekt auf zu setzen. Leider habe ich mir irgendwie meinen DeploymentDescriptor zerhauen und auch nach mehrmaligen durchschauen keinen Fehler finden können :(

web.xml
Code:
<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app PUBLIC
   "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
   "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
   <display-name>Eine Web - Applikation</display-name>
   
	   <!-- Einbinden des Tag Library Descriptors unter einer
        symbolischen URL -->
   <taglib>
      <taglib-uri>/masterclass-tags</taglib-uri>
      <taglib-location>
         /WEB-INF/tlds/masterclass.tld</taglib-location>
   </taglib>
   
<!-- Listener -->		
	<listener>
		<listener-class>dd.servlet.SessionListener </listener-class>
	</listener>
<!-- Listener -->	

<!-- ImageServlet -->
   <servlet>
   		<servlet-name>imageServlet</servlet-name>
   		<servlet-class>dd.servlet.ImageServlet</servlet-class>
   </servlet>
   
    <servlet-mapping>
   		<servlet-name>imageServlet</servlet-name>
   		<url-pattern>/servlets/image</url-pattern>
   </servlet-mapping>
<!-- ImageServlet -->


<!-- Filter -->	
	<filter>
   		<filter-name>codeFilter</filter-name>
 		<filter-class>dd.servlet.MyFilter</filter-class>  
  	</filter>
   

   <filter-mapping>
   		<filter-name>codeFilter</filter-name>
   		<url-pattern>/modules/ShowSourceCode.jsp</url-pattern>
   </filter-mapping>
<!-- Filter -->	


</web-app>


Exeption im Log ist diesselbe die Eclipse mir gibt:
Error loading deployment descriptors for module [JSP] Line 51 Column 11
The content of element type "web-app" must match "(icon?,display-name?,de.....

Sieht jemand da einen Fehler :( ?

grüße
Dom
 
Die XML ELemente innerhalb von web-app müssen in einer bestimmten Reihenfolge auftauchen. Ich vermute dein Container validiert nicht nur gegen die DTD sondern auch gegen ein XSD file, was wesentlich restriktiver ist.

Schau dir mal den Teil in "...must match:" an und schau nach, ob alle elemente in der richtigen reihenfolge drinliegen bzw. vielleicht eins fehlt...

REINHAUN!
 
Jetzt funktioniert es *grml* hatte wie man sehen kann immer direkt nach der Servlet-Definition dessen Mapping eingetragen. Jetzt habe ich alle Mappings komplett nach setzen der Servlets deklariert. Für meinen Geschmack sehr unübersichtich. Hatte es zwischenzeitlich auch mal anders, so dass es wie oben funktionierte (damals nur ohne TagLibs) Kann man die "Reihenfolgen-Prüfung" irgendwie ausschalten? Oder braucht er das zwingend?

grüße
D
 
Das macht dein Container... der Tomcat überprüft das nicht sonder validiert nur gegen die in der Datei angegebene DTD bzw. das XSD. Da hast du dann quasi die Wahl.

REINHAUN!
 
Zurück