[ Pobierz całość w formacie PDF ]
.xsp.logicsheet.util.java =resource://org/apache/cocoon/processor/xsp/library/java/util.xslprocessor.xsp.logicsheet.sql.java =resource://org/apache/cocoon/processor/xsp/library/sql/sql.xslprocessor.xsp.logicsheet.fp.java =resource://org/apache/cocoon/processor/xsp/library/fp/fp.xslprocessor.xsp.logicsheet.JavaXML.java =file:///C:/java/jakarta-tomcat/webapps/ROOT/XSL/JavaXML.xsp.xslTakie rozwi¹zanie wystarcza na potrzeby testowania, ale arkusze logiczne s¹wtedy silnie „zwi¹zane” z mechanizmem serwletów, a dodawanie nowych jestk³opotliwe (konieczne jest wpisywanie kolejnych wierszy w pliku w³aœciwoœci) [6Co wiêcej, zdarzaj¹ siê k³opoty (wersje 1.7.x) z za³adowaniem arkusza wpisanegow postaci file://.; problemu tego mo¿na unikn¹æ stosuj¹c zapis w postaciresource://].Alternatywna metoda ³adowania arkuszy logiki polega na okreœleniuzasobu w œcie¿ce dostêpu do klas mechanizmu serwletów.Arkusze logiki dodawanes¹ do pliku jar, a plik ten — do œcie¿ki dostêpu do klas.W ten sposób w plikupowstaje centralna baza w³asnych arkuszy logiki XSP u¿ytkownika.W podkataloguXSL/ wykonujemy nastêpuj¹ce polecenie, które spowoduje utworzenie pliku jar,zawieraj¹cego nasz arkusz logiki:jar cvf logicsheets.jar JavaXML.xsp.xslUtworzone w ten sposób archiwum logicsheets.jar przenosimy do katalogu/lib/ — tam, gdzie znajduj¹ siê pozosta³e biblioteki Cocoon.Teraz musimy dodaæ tê bibliotekê do œcie¿ki dostêpu do klas serwera Tomcat;edytujemy plik tomcat.sh lub tomcat.bat zlokalizowany w katalogu/bin/.W systemie Unix plik ten ma wygl¹daæ nastêpuj¹co:set CLASSPATH=.# Klasy i biblioteki CocoonCLASSPATH=${CLASSPATH}:${TOMCAT_HOME}/lib/xerces_1_2.jarCLASSPATH=${CLASSPATH}:${TOMCAT_HOME}/lib/xalan_1_2_D02.jarCLASSPATH=${CLASSPATH}:${TOMCAT_HOME}/lib/fop_0_13_0.jarCLASSPATH=${CLASSPATH}:${TOMCAT_HOME}/lib/cocoon.jarCLASSPATH=${CLASSPATH}:${TOMCAT_HOME}/lib/logicsheets.jarfor i in ${TOMCAT_HOME}/lib/* ; doCLASSPATH=${CLASSPATH}:$idoneCLASSPATH=${CLASSPATH}:${TOMCAT_HOME}/lib/tools.jarNatomiast w Windows:set CLASSPATH=.set CLASSPATH=%TOMCAT_HOME%\classesrem Klasy i biblioteki Cocoonset CLASSPATH=%CLASSPATH%;%TOMCAT_HOME%\lib\xerces_1_2.jarset CLASSPATH=%CLASSPATH%;%TOMCAT_HOME%\lib\xalan_1_2_D02.jarset CLASSPATH=%CLASSPATH%;%TOMCAT_HOME%\lib\fop_0_13_0.jarset CLASSPATH=%CLASSPATH%;%TOMCAT_HOME%\lib\cocoon.jarset CLASSPATH=%CLASSPATH%;%TOMCAT_HOME%\lib\logicsheets.jarset CLASSPATH=%CLASSPATH%;%TOMCAT_HOME%\lib\webserver.jarset CLASSPATH=%CLASSPATH%;%TOMCAT_HOME%\lib\jasper.jarset CLASSPATH=%CLASSPATH%;%TOMCAT_HOME%\lib\xml.jarset CLASSPATH=%CLASSPATH%;%TOMCAT_HOME%\lib\servlet.jarset CLASSPATH=%CLASSPATH%;%TOMCAT_HOME%\lib\tools.jarTeraz informujemy Cocoon, gdzie ma, szukaæ przestrzeni nazw JavaXML na stronachXSP.Edytujemy plik cocoon.properties, który wczeœniej umieœciliœmy wkatalogu /conf.Odnajdujemy czêœæ mówi¹c¹ o zasobach XSP idodajemy odwo³anie do nowego arkusza logiki:processor.xsp.logicsheet.context.java =resource://org/apache/cocoon/processor/xsp/library/java/context.xslprocessor.xsp.logicsheet.cookie.java =resource://org/apache/cocoon/processor/xsp/library/java/cookie.xslprocessor.xsp.logicsheet.global.java =resource://org/apache/cocoon/processor/xsp/library/java/global.xslprocessor.xsp.logicsheet.request.java =resource://org/apache/cocoon/processor/xsp/library/java/request.xslprocessor.xsp.logicsheet.response.java =resource://org/apache/cocoon/processor/xsp/library/java/response.xslprocessor.xsp.logicsheet.session.java =resource://org/apache/cocoon/processor/xsp/library/java/session.xslprocessor.xsp.logicsheet.util.java =resource://org/apache/cocoon/processor/xsp/library/java/util.xslprocessor.xsp.logicsheet.sql.java =resource://org/apache/cocoon/processor/xsp/library/sql/sql.xslprocessor.xsp.logicsheet.fp.java =resource://org/apache/cocoon/processor/xsp/library/fp/fp.xslprocessor.xsp.logicsheet.JavaXML.java = resource://JavaXML.xsp.xslPoniewa¿ nasz arkusz logiki nie jest zagnie¿d¿ony w podkatalogach plikulogicsheets.jar, jako œcie¿kê dostêpu wystarczy okreœliæ tutaj nazwê pliku.Potych wszystkich operacjach restartujemy mechanizm serwletów — plikcocoon.properties zostanie ponownie za³adowany, a arkusz logiki udostêpniony dou¿ycia.Poniewa¿ ¿¹dania obs³uguje mechanizm Cocoon, ka¿da strona XSP, naktórej zadeklarowano u¿ycie JavaXML, bêdzie mia³a dostêp do arkusza logikiokreœlonego jako biblioteka JavaXML.Tak wiêc do naszej strony XSP musimy dodaædeklaracjê przestrzeni nazw JavaXML:.Skoro biblioteka znaczników jest ju¿ udostêpniona, dodajemy elementJavaXML:draftTitle do naszego dokumentu XML, chapterOne.xml:Zakodowany „na sta³e” tytu³ rozdzia³u zamieniamy na element zdefiniowany wnaszej bibliotece znaczników.W ten sposób zostanie wygenerowany tytu³ i numerrozdzia³u oraz data wersji roboczej.Teraz mo¿na ju¿ zobaczyæ efekt naszejpracy, wpisuj¹c adres dokumentu do przegl¹darki WWW.To, oczywiœcie, proste przyk³ady zastosowania standardu XSP.Ale ju¿ tutajwidaæ potê¿ne mo¿liwoœci XSP — tytu³ mo¿e przybraæ inn¹ postaæ po ukoñczeniurozdzia³u bez koniecznoœci modyfikacji zawartoœci czy warstwy prezentacyjnejstrony, a jedynie arkusza XSP.Logika aplikacji jest odseparowana od zawartoœcii prezentacji.Do tego wszystkiego mo¿na jeszcze do³¹czyæ logikê biznesow¹ zapomoc¹ komponentów Javy uruchamianych po stronie serwera, np.EnterpriseJavaBeans.Zastosowanie standardu XSP to rozwi¹zanie bardziej elastyczne ni¿JSP po³¹czony z HTML-em — poszczególne komponenty nie s¹ zwi¹zane ze sob¹ takœciœle.Standard XSP ma stanowiæ kluczowy element powstaj¹cej wersji 2.0Cocoon.Cocoon 2.0 i dalejKolejna wersja Cocoon, o numerze 2.0 stanowi ogromny krok naprzód w porównaniuz wersjami wczeœniejszymi.Cocoon 1.x, w którym przede wszystkim przetwarza siêXML za poœrednictwem interfejsu XSL, jest wci¹¿ w szerokim stopniu ograniczony.Po pierwsze, oprogramowanie to na razie nie przyczynia siê do znacznegozmniejszenia kosztów utrzymania du¿ych serwisów
[ Pobierz całość w formacie PDF ]