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:
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:
<?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>
programmera.ear innehåller nu hela applikationen och kan lätt installeras på vilken J2EE-server som helst.
[olle@dev1]$ jar cvf programmera.ear .