Hlavní menu

Nástroje

WebKiv / IntegraceSpringMVCDoOpenCms

View (print) - Edit page | Recent changes - Page history

Updated 30 June 2009, 09:17 by JaroslavPavuk

WebKiv.IntegraceSpringMVCDoOpenCms History

Hide minor edits - Show changes to output

30 June 2009, 09:17 by JaroslavPavuk -
Changed lines 112-115 from:
Nyní spusťte Tomcat a [=OpenCms=] by mělo bez chyby nastartovat. Pokud se [=OpenCms=] nerozběhlo, můžete se podívat do log souborů v adresáři: [@TOMCAT_HOME\webapps\opencms\WEB-INF\logs@] A pokusit se v nich příčinu chyby objevit.
to:
Nyní spusťte Tomcat a [=OpenCms=] by mělo bez chyby nastartovat. Pokud se [=OpenCms=] nerozběhlo, můžete se podívat do log souborů v adresáři: [@TOMCAT_HOME\webapps\opencms\WEB-INF\logs@] A pokusit se v nich příčinu chyby objevit.

----
Zpět na FrameworkyProWebKiv
30 June 2009, 09:08 by JaroslavPavuk -
Changed line 6 from:
* Spring Framwork 2.5.6 (obsahuje i MVC)
to:
* Spring Framework 2.5.6 (obsahuje i MVC)
30 June 2009, 09:08 by JaroslavPavuk -
29 June 2009, 19:57 by Tomas Peterka -
Added lines 1-112:
!Integrace Spring MVC do [=OpenCms=]

!!Softwarové požadavky

* [=OpenCms=] 7.0.5 a teoreticky vyšší
* Spring Framwork 2.5.6 (obsahuje i MVC)
* Java 1.5 a vyšší


!!Používaní konvence

Pro zjednodušení výkladu je v následujícím dokumentu použita při odkazování na adresáře následující konvence:

* [@TOMCAT_HOME@] je adresář, ve kterém je nainstalován tomcat, na kterém je [=OpenCms=] nasazeno
* [@OPENCMS_HOME@] je adresář, ve kterém je běžící [=OpenCms=] (standardně [@TOMCAT_HOME\webapps\opencms@])


!!Než začnete číst tento tutoriál

Tento návod je napsán tak, že i ve Spring MVC nezkušenému uživateli poskytne návod na to, jak tento framework zaintegrovat do [=OpenCms=]. Nicméně je doporučeníhodné projít si nejdříve Spring MVC Step By Step Tutorial, který je standardně v distribuci Spring Framweworku. Dále uvedený postup pro vás poté bude daleko více srozumitelnější.

!!Integrace Spring MVC do [=OpenCms=]

Instalace Spring MVC frameworků se obecně skládá z následkujících bodů:


!!!1. Zastavte Tomcat

Předtím, než budete pokračovat v čtení a provádění tohoto tutoriálu, zastavte prosím tomcata.


!!!2. Úprava souboru [@web.xml@]

Do souboru [@web.xml@] ([@OPENCMS_HOME\WEB-INF@]) se musí doplnit nastavení [@DispatcherServletu@] Spring MVC a jeho namapování na URL. Volitelně se může přidat definice [@tld@] souboru pro knihovnu značek Springu. (Při použití nové verze servletů toto odpadá, neboť všechny jar soubory na classpath jsou javou skenovány a všechny nalezené [@*.tld@] soubory jsou automaticky přidány. Nicméně není na závadu, pokud je [@tld@] soubor explicitně v [@web.xml@] specifikován.)

Do [@web.xml@] doplňte následující definici servletu a jeho mapování:

[@<!-- Spring MVC Sample App Servlet -->
<servlet>
<servlet-name>springmvcapp</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>

<!-- Servlet Mapping -->
<servlet-mapping>
<servlet-name>springmvcapp</servlet-name>
<url-pattern>/springmvcapp/*</url-pattern>
</servlet-mapping>@]

Stěžejnímy body v tomto kódu je element: [@<servlet-name>springmvcapp</servlet-name>@], neboť udává, v jakém soubor bude Spring MVC hledat svá nastavení.

Jako další bod je potřeba přidat definici [@tld@] souboru. Toto se provede tím, že se do elementu [@<jsp-config>@] přidá následující kód:

[@<jsp-config>
...
<taglib>
<taglib-uri>/spring</taglib-uri>
<taglib-location>/WEB-INF/tld/spring-form.tld</taglib-location>
</taglib>
</jsp-config>@]


!!!3. Přidání [@tld@] (Tag library deskriptor) souboru s popisem taglib Spring-forms

Tento soubor musí být zkopírován do adresáře zadaného v minulém kroku. V našem případě je to tedy [@OPENCMS_HOME/WEB-INF/tld/@]. Soubor se nachází v distribuci Spring frameworku v adresáři: [@spring-framework-2.5.X/dist/resources/@].


!!!4. Vytvoření souboru s definicí beans a nastavení Spring MVC

Spring MVC požaduje konfigurační soubor, ve kterém jsou uloženy definice beans a dalších java tříd, které při své činnosti potřebuje. Jméno tohoto souboru je určeno jménem servletu - viz. výše v souboru [@web.xml@] a příponou [@–servlet.xml@]. V našem případě se tedy tento soubor bude jmenovat [@springapp-servlet.xml@]. A bude ležet na stejné adresářové úrovni jako soubor [@web.xml@]. Tento soubor bude vypadat následujícím způsobem:

[@<?xml version="1.0" encoding="utf-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"
xsi:schemalocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<!-- the application context definition for the springapp dispatcherservlet -->

</beans>@]

Výše uvedená, na ještě prázdný soubor obsáhlá definice, je důležitá pro správnou funkci nástrojů, například pro podporu Springu v Eclipse.


!!!5. Přidání souboru s [@applicationContextem@] pro Spring

Vzhledem k tomu, že konfigurační soubor Spring MVC není jediným místem, ze kterého si Spring může načítat definice java bean, je možné a i důrazně doporučené oddělit konfigurační soubor Spring MVC od ostatních konfiguračních souborů Springu. Tím se zaručí to, že se mezi sebou nemíchají definice beanů, které jsou použiti v zobrazovací vrstvě s definicemi beanů, které se například starají o přístup k databázi. Toho se docílí tím, že se do souboru [@web.xml@] přidá následující kód:

[@<listener>
<listenerclass>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>@]

Spring poté bude hledat soubor [@applicationContext.xml@], který musí ležet na stejné úrovni jako soubor [@web.xml@] (pokud se nenastaví jinak). Prázdný soubor [@applicationContext.xml@] má následující strukturu:

[@<?xml version="1.0" encoding="utf-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

</beans>@]

!!!6. Přidání knihoven Spring MVC do [=OpenCms=]

Jako poslední krok je potřeba nahrát do [=OpenCms=] knihovny, které Spring MVC potřebuje pro svůj běh. Do adresáře: [@OPENCMS_HOME/WEB-INF/lib@] nahrajte následující soubory:

* spring.jar z adresáře: [@spring-framework-2.5.6/dist@]
* spring-webmvc.jar z adresáře: [@spring-framework-2.5.6/dist/modules @]


!!!7. Test instalace

Nyní spusťte Tomcat a [=OpenCms=] by mělo bez chyby nastartovat. Pokud se [=OpenCms=] nerozběhlo, můžete se podívat do log souborů v adresáři: [@TOMCAT_HOME\webapps\opencms\WEB-INF\logs@] A pokusit se v nich příčinu chyby objevit.