A deployment descriptor egy általános elnevezése az olyan konfigurációs fájloknak, melyek egy alkalmazás, webes tárolóba történő telepítésének módját definiálják, strukturált formában. (Servlet containerek listája)

A Java Platform, Enterprise Edition leírói megadják, hogyan legyenek telepítve a modulok és komponensek. Ilyen komponensek lehetnek például webalkalmazások."The Java EE 5 Tutorial: Packaging Applications" , Hozzáférés ideje: 2010-07-13 Ez a leíró fájl tartalmazza az utasításokat a webalkalmazás telepítéséhez, melyet "deployment tool" fog értelmezni. Ez a beállítások alapján, különféle konténer és biztonsági beállítást végez el, valamint speciális környezeti beállításokat alkalmazhat. Az XML a leíró fájl szintaxisát alkotó adatleíró nyelv.

Webalkalmazásoknál a telepítési leírókat web.xml-nek hívják, és a projekt mappaszerkezetében a WEB-INF mappában található. A Java webalkalmazások a web.xml-ben definiálják, hogy az egyes URL-ek hogyan mutassanak (Servlet)-ekre, és ezek közül melyik milyen authentikációt igényel. A web.xml része a webalkalmazások servlet szabványának.

Típusai

A Java EE rendszerben két fajta telepítési leíró van: "Java EE deployment descriptors" és "runtime deployment descriptors". A Java EE telepítési leírók a nyelv által specifikáltak."Java EE : XML Schemas for Java EE Deployment Descriptors", Hozzáférés ideje: 2010-07-13 A futásidejű leírókat az egyes gyártók biztosítják a saját tároló implementációikhoz. Például a web.xml fájl szabványos Java EE deployment descriptor, amely a Java Servlet specifikációjában van leírva. Azonban a sun-web.xml fájl konfigurációs adatokat speciálisan a "Sun GlassFish Enterprise Server" implementációjához tárol."Sun Java System Application Server Descriptors", Hozzáférés ideje: 2010-07-13 Ezeken felül több különböző leíró létezik még.

Szervletek és URL-ek

A web.xml egy kapcsolatot definiál URL címek és a szervletek között, melyek a kéréseket szolgálják ki. A Webkiszolgáló arra használja ezt a konfigurációs fájlt, hogy megkeresse az adott URL-hez tartozó szervletet, és meghívja a kéréshez tartozó osztály megfelelő metódusát. (pl. a doGet () metódus a HTTP GET kéréseket).

Egy URL-t egy szervlethez a következő módon lehet kapcsolni. A <servlet> kulcsszóval deklaráljuk a szervletet, majd megadjuk a kapcsolatot egy URL címmel. Ezt a <servlet-mapping> kulcsszóval tehetjük meg.

A <servlet> elem megadásához definiálnunk kell a nevét, az osztályát és az kezdeti paramétereit. Az osztály tag arra a java osztályra hivatkozik, amely a szervlethez befutó kérések kezelését valósítja meg. Többször is deklarálható ugyanaz az osztály ha a kiindulási paraméterei különbözőek, azonban a névnek egyedinek kell lennie a teljes fájlban. <servlet> <servlet-name>redteam</servlet-name> <servlet-class>mysite.server.TeamServlet</servlet-class> <init-param> <param-name>teamColor</param-name> <param-value>red</param-value> </init-param> <init-param> <param-name>bgColor</param-name> <param-value>#CC0000</param-value> </init-param> </servlet>

<servlet> <servlet-name>blueteam</servlet-name> <servlet-class>mysite.server.TeamServlet</servlet-class> <init-param> <param-name>teamColor</param-name> <param-value>blue</param-value> </init-param> <init-param> <param-name>bgColor</param-name> <param-value>#0000CC</param-value> </init-param> </servlet>

A <servlet-mapping> tag definiálja a kapcsolatot egyes URL minták és a már deklarált szervletek között. Az URL minta tartalmazhat (*) szimbólumot az URL elején vagy végén, ezzel jelezve hogy további karakterek lehetnek az URL-ben.

<servlet-mapping> <servlet-name>redteam</servlet-name> <url-pattern>/red/*</url-pattern> </servlet-mapping>

<servlet-mapping> <servlet-name>blueteam</servlet-name> <url-pattern>/blue/*</url-pattern> </servlet-mapping>

Megjegyzés: Az URL mutathat adott szerveren lévő mappának a teljes tartalmára, mely tartalmazhat úgynevezett statikus fájlokat. Ilyenek például a képek, CSS vagy JavaScript fájlok. Ezeket ki lehet zárni az appengine-web.xml megfelelő beállításával.

JSP

Egy alkalmazás használhatja a JavaServer Pages-t (JSP) a weboldalak implementálására. A JSP oldalak szervletek, melyek statikus tartalom például HTML elemek és Java kód keveréke. Ezzel hatékony adatvizualizációs oldalak készíthetők.

Az alkalmazás motor támogatja az automatikus fordítást és URL mapping-ot a JSP számára. A WEB-INF mappán kívül bármely JSP kiterjesztésű fájl automatikusan egy szervlet osztállyá lesz fordítva. A hozzá tartozó URL pedig a gyökérhez képesti relatív pozíciója lesz.

Saját URL mapping-ot a következő módon definiálhatunk:

<servlet> <servlet-name>register</servlet-name> <jsp-file>/register/start.jsp</jsp-file> </servlet>

<servlet-mapping> <servlet-name>register</servlet-name> <url-pattern>/register/*</url-pattern> </servlet-mapping>

Megjegyzés: A <jsp-file> (/) karakterrel kell kezdődjön amennyiben a JSP fájl az alkalmazás root könyvtárában található.

Lehetőség van JSP taglibek telepítésére is, melyet a <taglib> tag vezet be.

<taglib> <taglib-uri>/escape</taglib-uri> <taglib-location>/WEB-INF/escape-tags.tld</taglib-location> </taglib>

Biztonság és authentikáció

A <security-constraint> elemmel lehetséges biztonsági megszorításokat definiálni az URL illesztési mintához. Például, ha a felhasználó bejelentkezés nélkül egy olyan URL-re hivatkozik, amely így nem érhető el, akkor a szerver átirányítja a beljelentkező képernyőre.

<security-constraint> <web-resource-collection> <url-pattern>/profile/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>*</role-name> </auth-constraint> </security-constraint>

<security-constraint> <web-resource-collection> <url-pattern>/admin/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>admin</role-name> </auth-constraint> </security-constraint>

A "Welcome File List"

Amikor egy URL nem egy fájlra, hanem a szerveren található valamely almappára hivatkozik, akkor lehetőség van megadni egy sor weboldal elérését, melyeket a szerver megjelenít. Ez akkor hasznos, ha a felhasználó manuálisan egy almappára hivatkozik, az abban található fájlok listázásának céljából. Ekkor a definiált URL kerül megnyitásra.

<welcome-file-list> <welcome-file>index.jsp</welcome-file> <welcome-file>index.html</welcome-file> </welcome-file-list>

Szűrők

A szűrő egy olyan osztály, amely egy kérés során úgy viselkedik mint egy szervlet, azonban engedi a kérés továbbadását más szűrőknek, vagy szervleteknek. Szűrők tökéletesen alkalmasak külső feladatok elvégzésére, mint például log bejegyzése vagy a kérés tartalmának vizsgálata. Ez további biztonsági vizsgálatok beágyazását teszi lehetővé kérésenként.

Jegyzetek

Külső hivatkozások http://java.sun.com/javaee/reference/glossary/ http://java.sun.com/xml/ns/javaee/index.html - Deployment Descriptor XML Schema Reference http://java.sun.com/blueprints/guidelines/designing_enterprise_applications_2e/deployment/deployment5.html http://wiki.metawerx.net/wiki/Web.xml

Kapcsolódó szócikkek Manifest file

Kategória:Java enterprise platform