programmera.net -> j2ee -> normal     för utskrift      info@programmera.net

Filstruktur i J2EE

1. Filstruktur
2. Webbmodulen
3. Applikationen

1. Filstruktur

På sidan  roller  pratades det en del om olika filer som applikationsmontören samlar ihop. På denna sida förklaras bl. a. var applikationsmontören placerar dessa filer i applikationens filträd.

2. Webbmodulen

Den minsta tänkbara J2EE-applikationen består endast av en webbmodul, vilken skapas av webbkomponentutvecklaren. Webbmodulen innehåller JSP-filer, servlets, JavaBeans, HTML, bilder, Javascript, CSS o.s.v.. , för att denna Nedanstående tabell visar hur de olika filerna placeras i applikationen programmera, X representerar sökvägen CATALINA_HOME/webapps/programmera/:

Sökväg Beskrivning
X/  JSP, HTML, bilder, javascript, CSS, underkataloger, ..
X/WEB-INF/web.xml  Deployment descriptorn för webbmodulen.
X/WEB-INF/ollesTaglib.tld  Märkesbibliotek placeras också under WEB-INF.
X/WEB-INF/classes/  Kompilerad javaklasser, d.v.s. bönor och servlets.
X/WEB-INF/classes/nu/programmera/MyClass.class  Ett exempel på en böna. Det är standard att man använder företagets domännamn som paketnamn.
X/WEB-INF/lib/  Här kan biblioteksmoduler placeras.
X/WEB-INF/lib/olles_lib.jar  Ett exempel på en biblioteksmodul.

Om filerna placeras på detta sätt har vi en perfekt fungerande webbplats. Ibland vill man skicka sin webbmodul till en applikationsmontör, och då ska man packa ihop filerna till en WAR-fil. WAR-filen är egentligen en vanlig JAR-fil, men eftersom den används lite speciellt har den fått ändelsen .war. När du vill packa webbmodulen till filen programmera-web.war ställer du dig i CATALINA_HOME/webapps/programmera/ och skriver:
[olle@dev1]$ jar cvf programmera-web.war .

3. Applikationen

Antag att du är applikationsmontör och får in en WAR-fil (programmera-web.war) och en EJB-JAR-fil (programmera-ejb.jar) från dina komponentutveckare. Du bygger nu ett filträd som innehåller följande tre filer, där X står för CATALINA_HOME/webapps/programmera/:

Sökväg Beskrivning
X/application/build/programmera-web.war  Webbmodulen.
X/application/build/programmera-ejb.jar  EJB-komponenten.
X/application/build/META-INF/application.xml  Deployment descriptorn för applikationen.

I detta fall kommer filen applicaton.xml ha följande utseende:
<?xml version="1.0"?>
<!DOCTYPE application PUBLIC 
	"-//Sun Microsystems, Inc.//DTD J2EE Application 1.2//EN" 
	"http://java.sun.com/j2ee/dtds/application_1_2.dtd">
<application>
   <display-name>Application used for testing</display-name>
   <module>
     <ejb>programmera-ejb.jar</ejb>
   </module>
   <module>
      <web>
         <web-uri>programmera-web.war</web-uri>
	 <context-root>/programmera</context-root>
      </web>
   </module>
</application>
Filen application.xmls uppgift är att sammaföra de olika komponenterna till en applikation. Vi ser i filen att varje komponent motsvaras av en module-element. Du kan nu packa ihop allt till filen programmera.ear genom att gå in i katalogen CATALINA_HOME/webapps/programmera/application/build/ och skriva:
[olle@dev1]$ jar cvf programmera.ear .
programmera.ear innehåller nu hela applikationen och kan lätt installeras på vilken J2EE-server som helst.