Hlavní menu

Nástroje

WebKiv / FrameworkyProWebKiv

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

Updated 30 June 2009, 13:48 by PremekBrada

WebKiv.FrameworkyProWebKiv History

Hide minor edits - Show changes to markup

30 June 2009, 13:48 by PremekBrada -
Changed lines 22-23 from:
to:
30 June 2009, 08:39 by JaroslavPavuk -
Changed lines 22-23 from:
to:
30 June 2009, 08:36 by JaroslavPavuk -
Added lines 22-23:
29 June 2009, 20:00 by Tomas Peterka -
Changed lines 17-18 from:

Hlavní dokumenty

to:

Hlavní dokumenty

29 June 2009, 19:59 by Tomas Peterka -
Added line 20:
Deleted lines 22-130:

Integrace Spring Web Flow do OpenCms

Instalace knihoven

  1. Funkční Spring MVC (minimálně verze 2.5.4!) podle návodu výše.
  2. Stažení Spring Web Flow (min. verze 2.0.x).
  3. Stažení OGNL 2.6.9 nebo jboss-el.
  4. Přidání stažených JAR knihoven do OPENCMS_HOME\WEB-INF\lib.

Konfigurace

Upravíme soubor TOMCAT_HOME\webapps\opencms\WEB-INF\springapp-servlet.xml

Atributy kořenového elementu beans rožšíríme o schema pro Web Flow. Dostaneme tedy:

<beans xmlns="http://www.springframework.org/schema/beans"  
   xmlns:context="http://www.springframework.org/schema/context"  
   xmlns:flow="http://www.springframework.org/schema/webflow-config"  
   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  
      http://www.springframework.org/schema/context  
      http://www.springframework.org/schema/context/spring-context-2.5.xsd  
      http://www.springframework.org/schema/webflow-config  
      http://www.springframework.org/schema/webflow-config/spring-webflow-config-2.0.xsd">

Mapováni controlleru flow na springappflow.html. Soubor s definicí flow bude očekáván ve tvaru springappflow.xml, viz definice níže.

<bean id="simpleUrlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
     <property name="mappings">
      <props>
        <prop key="springappflow.html">flowController</prop>
      </props>
    </property>
</bean>

Dále je samotná konfigurace Web Flow (stále jsme ve springapp-servlet.xml):

<bean id="flowController" class="org.springframework.webflow.mvc.servlet.FlowController">  
      <property name="flowExecutor" ref="flowExecutor"/>  
</bean>

<flow:flow-executor id="flowExecutor" flow-registry="flowRegistry"/>

Nastavení cesty k definicím flow. Povinně musíme zadat cestu k springappflow.xml, které jsme umístili do /WEB-INF/flows/. Je možné zde nastavit cesty k dalším definicím.

<flow:flow-registry id="flowRegistry" flow-builder-services="flowBuilderServices">  
     <flow:flow-location path="/WEB-INF/flows/springappflow.xml"/>
</flow:flow-registry>

Zaregistrování viewResolveru pro používaní view z MVC:

<flow:flow-builder-services id="flowBuilderServices" view-factory-creator="viewFactoryCreator"/>  

<bean id="viewFactoryCreator" class="org.springframework.webflow.mvc.builder.MvcViewFactoryCreator">  
     <property name="viewResolvers">  
       <list>  
         <ref bean="viewResolver"/>  
       </list>  
     </property>  
</bean>

ViewResolver může vypadat například takto:

<bean id="viewResolver"	class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>
		<property name="prefix" value="/opencms/system/modules/cz.zcu.kiv.opencms.springapp/elements/views/"></property>
		<property name="suffix" value=".jsp"></property>
</bean>

Tímto máme hotovou konfiguraci souboru springapp-servlet.xml.

Definice Flow

Podle výše uvedené konfigurace předpokládáme definici flow v souboru springappflow.xml. Tvorba definic flow a práce s nimi je popsána v referenční příručce v kapitolách 2-5.

Spring IDE

  • plugin do Eclipse
  • podpora Web Flow 2.0
  • kontrola syntaxe, našeptávač
  • grafický editor

Instalace

  • najdeme na SpringIDE
  • v Eclipse WTP lze stahovat přímo v 'Help -> Software Updates -> Available Software -> Spring IDE Update Site', kde vybereme
    • /Core/Spring IDE Core
    • /Extensions/Spring IDE Web Flow Extension
  • při problémech s instalací hledejte např. v bugzille springu

Založení Spring projektu

Není vhodné přidávat soubory s definicemi flow do hlavního projektu, který synchronizujeme s OpenCms serverem (jsou vyžadovány DTD pro XML). Vytvoříme tedy samostatný Spring projekt, kterému do Build Path přidáme náš hlavní projekt. Pro tvorbu nové definice máme k dispozici průvodce (jako pro vytváření projektu). Projekt obsahuje složku Spring Elements, kam můžeme vložit naše definice flow (právé tlačitko myši -> Properties). Grafický editor otevřeme položkou v kontextovém menu pravým tlačítkem myši na definici flow.

Odkazy

  • Referenční příručka
  • Spring by Example - Web Flow
  • Spring by Example - Web Flow Subflow
  • Tutorial - Shopping Cart

29 June 2009, 19:58 by Tomas Peterka -
Added line 16:
Changed line 19 from:
to:
29 June 2009, 19:57 by Tomas Peterka -
Changed lines 18-60 from:

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>
to:

Integrace Spring Web Flow do OpenCms

Instalace knihoven

  1. Funkční Spring MVC (minimálně verze 2.5.4!) podle návodu výše.
  2. Stažení Spring Web Flow (min. verze 2.0.x).
  3. Stažení OGNL 2.6.9 nebo jboss-el.
  4. Přidání stažených JAR knihoven do OPENCMS_HOME\WEB-INF\lib.

Konfigurace

Upravíme soubor TOMCAT_HOME\webapps\opencms\WEB-INF\springapp-servlet.xml

Atributy kořenového elementu beans rožšíríme o schema pro Web Flow. Dostaneme tedy:

<beans xmlns="http://www.springframework.org/schema/beans"  
   xmlns:context="http://www.springframework.org/schema/context"  
   xmlns:flow="http://www.springframework.org/schema/webflow-config"  
   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  
      http://www.springframework.org/schema/context  
      http://www.springframework.org/schema/context/spring-context-2.5.xsd  
      http://www.springframework.org/schema/webflow-config  
      http://www.springframework.org/schema/webflow-config/spring-webflow-config-2.0.xsd">

Mapováni controlleru flow na springappflow.html. Soubor s definicí flow bude očekáván ve tvaru springappflow.xml, viz definice níže.

<bean id="simpleUrlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
     <property name="mappings">
      <props>
        <prop key="springappflow.html">flowController</prop>
      </props>
    </property>
</bean>

Dále je samotná konfigurace Web Flow (stále jsme ve springapp-servlet.xml):

[@<bean id="flowController" class="org.springframework.webflow.mvc.servlet.FlowController?">

      <property name="flowExecutor" ref="flowExecutor"/>  

</bean>

Changed lines 68-121 from:
    <!-- 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">
to:

<flow:flow-executor id="flowExecutor" flow-registry="flowRegistry"/>@]

Nastavení cesty k definicím flow. Povinně musíme zadat cestu k springappflow.xml, které jsme umístili do /WEB-INF/flows/. Je možné zde nastavit cesty k dalším definicím.

<flow:flow-registry id="flowRegistry" flow-builder-services="flowBuilderServices">  
     <flow:flow-location path="/WEB-INF/flows/springappflow.xml"/>
</flow:flow-registry>

Zaregistrování viewResolveru pro používaní view z MVC:

[@<flow:flow-builder-services id="flowBuilderServices" view-factory-creator="viewFactoryCreator"/>

Changed lines 80-133 from:

</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.


Integrace Spring Web Flow do OpenCms

Instalace knihoven

  1. Funkční Spring MVC (minimálně verze 2.5.4!) podle návodu výše.
  2. Stažení Spring Web Flow (min. verze 2.0.x).
  3. Stažení OGNL 2.6.9 nebo jboss-el.
  4. Přidání stažených JAR knihoven do OPENCMS_HOME\WEB-INF\lib.

Konfigurace

Upravíme soubor TOMCAT_HOME\webapps\opencms\WEB-INF\springapp-servlet.xml

Atributy kořenového elementu beans rožšíríme o schema pro Web Flow. Dostaneme tedy:

<beans xmlns="http://www.springframework.org/schema/beans"  
   xmlns:context="http://www.springframework.org/schema/context"  
   xmlns:flow="http://www.springframework.org/schema/webflow-config"  
   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  
      http://www.springframework.org/schema/context  
      http://www.springframework.org/schema/context/spring-context-2.5.xsd  
      http://www.springframework.org/schema/webflow-config  
      http://www.springframework.org/schema/webflow-config/spring-webflow-config-2.0.xsd">

Mapováni controlleru flow na springappflow.html. Soubor s definicí flow bude očekáván ve tvaru springappflow.xml, viz definice níže.

[@<bean id="simpleUrlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping?">

     <property name="mappings">
      <props>
        <prop key="springappflow.html">flowController</prop>
      </props>
    </property>
to:

<bean id="viewFactoryCreator" class="org.springframework.webflow.mvc.builder.MvcViewFactoryCreator?">

     <property name="viewResolvers">  
       <list>  
         <ref bean="viewResolver"/>  
       </list>  
     </property>  
Deleted lines 87-112:

Dále je samotná konfigurace Web Flow (stále jsme ve springapp-servlet.xml):

<bean id="flowController" class="org.springframework.webflow.mvc.servlet.FlowController">  
      <property name="flowExecutor" ref="flowExecutor"/>  
</bean>

<flow:flow-executor id="flowExecutor" flow-registry="flowRegistry"/>

Nastavení cesty k definicím flow. Povinně musíme zadat cestu k springappflow.xml, které jsme umístili do /WEB-INF/flows/. Je možné zde nastavit cesty k dalším definicím.

<flow:flow-registry id="flowRegistry" flow-builder-services="flowBuilderServices">  
     <flow:flow-location path="/WEB-INF/flows/springappflow.xml"/>
</flow:flow-registry>

Zaregistrování viewResolveru pro používaní view z MVC:

<flow:flow-builder-services id="flowBuilderServices" view-factory-creator="viewFactoryCreator"/>  

<bean id="viewFactoryCreator" class="org.springframework.webflow.mvc.builder.MvcViewFactoryCreator">  
     <property name="viewResolvers">  
       <list>  
         <ref bean="viewResolver"/>  
       </list>  
     </property>  
</bean>
29 June 2009, 19:56 by Tomas Peterka -
Changed lines 16-17 from:
to:
25 June 2009, 22:17 by JaroslavPavuk -
Deleted lines 237-238:
Added lines 239-245:

TODO Instalace modulu pro OpenCMS - jako odkaz

TODO Odkaz na stranku s dalsimi "vecmi"


25 June 2009, 22:11 by JaroslavPavuk -
Changed line 221 from:
  • najdeme na SpringIDE external
to:
  • najdeme na SpringIDE
25 June 2009, 22:08 by JaroslavPavuk -
Changed lines 172-173 from:

Dále je samotná konfigurace Web Flow:

to:

Dále je samotná konfigurace Web Flow (stále jsme ve springapp-servlet.xml):

Changed lines 180-181 from:

Nastavení cesty k definicím flow. Povinně musíme zadat cestu k springappflow.xml, které jsme umístili do /WEB-INF/flows/. Dále zde můžeme nastavit cesty k dalším definicím.

to:

Nastavení cesty k definicím flow. Povinně musíme zadat cestu k springappflow.xml, které jsme umístili do /WEB-INF/flows/. Je možné zde nastavit cesty k dalším definicím.

Changed lines 187-188 from:

[@ <flow:flow-builder-services id="flowBuilderServices" view-factory-creator="viewFactoryCreator"/>

to:

[@<flow:flow-builder-services id="flowBuilderServices" view-factory-creator="viewFactoryCreator"/>

Changed lines 206-207 from:
to:

Tímto máme hotovou konfiguraci souboru springapp-servlet.xml.

25 June 2009, 22:02 by JaroslavPavuk -
Changed lines 224-225 from:
  • při problémech s instalací hledejte např. v bugzille springu
to:
  • při problémech s instalací hledejte např. v bugzille springu
Changed lines 228-230 from:

Není vhodné přidávat soubory s definicemi flow do hlavního projektu, který synchronizujeme s OpenCms serverem (jsou vyžadovány DTD pro XML). Vytvoříme tedy samostatný Spring projekt, kterému do Build Path přidáme náš hlavní projekt. Pro tvorbu nové definice máme k dispozici průvodce (jako pro vytváření projektu). Projekt obsahuje složku Spring Elements, kam můžeme vložit naše definice flow (právé tlačitko myši -> Properties). Grafický editor otevřeme položkou v kontextovém menu pravým tlačítkem myši na definici flow.

to:

Není vhodné přidávat soubory s definicemi flow do hlavního projektu, který synchronizujeme s OpenCms serverem (jsou vyžadovány DTD pro XML). Vytvoříme tedy samostatný Spring projekt, kterému do Build Path přidáme náš hlavní projekt. Pro tvorbu nové definice máme k dispozici průvodce (jako pro vytváření projektu). Projekt obsahuje složku Spring Elements, kam můžeme vložit naše definice flow (právé tlačitko myši -> Properties). Grafický editor otevřeme položkou v kontextovém menu pravým tlačítkem myši na definici flow.

25 June 2009, 21:59 by JaroslavPavuk -
Changed lines 172-173 from:

Dále je samotná konfigurace Web Flow:

to:

Dále je samotná konfigurace Web Flow:

Changed lines 233-238 from:
  • Referenční příručka external
  • Spring by Example - Web Flow external
  • Spring by Example - Web Flow Subflow external
  • Tutorial - Shopping Cart external
to:
  • Referenční příručka
  • Spring by Example - Web Flow
  • Spring by Example - Web Flow Subflow
  • Tutorial - Shopping Cart
25 June 2009, 21:55 by JaroslavPavuk -
Changed lines 182-186 from:
to:
<flow:flow-registry id="flowRegistry" flow-builder-services="flowBuilderServices">  
     <flow:flow-location path="/WEB-INF/flows/springappflow.xml"/>
</flow:flow-registry>

Zaregistrování viewResolveru pro používaní view z MVC:

<flow:flow-builder-services id="flowBuilderServices" view-factory-creator="viewFactoryCreator"/>  

<bean id="viewFactoryCreator" class="org.springframework.webflow.mvc.builder.MvcViewFactoryCreator">  
     <property name="viewResolvers">  
       <list>  
         <ref bean="viewResolver"/>  
       </list>  
     </property>  
</bean>

ViewResolver může vypadat například takto:

<bean id="viewResolver"	class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>
		<property name="prefix" value="/opencms/system/modules/cz.zcu.kiv.opencms.springapp/elements/views/"></property>
		<property name="suffix" value=".jsp"></property>
</bean>

Definice Flow

Podle výše uvedené konfigurace předpokládáme definici flow v souboru springappflow.xml. Tvorba definic flow a práce s nimi je popsána v referenční příručce v kapitolách 2-5.

Spring IDE

  • plugin do Eclipse
  • podpora Web Flow 2.0
  • kontrola syntaxe, našeptávač
  • grafický editor

Instalace

  • najdeme na SpringIDE external
  • v Eclipse WTP lze stahovat přímo v 'Help -> Software Updates -> Available Software -> Spring IDE Update Site', kde vybereme
    • /Core/Spring IDE Core
    • /Extensions/Spring IDE Web Flow Extension
  • při problémech s instalací hledejte např. v bugzille springu

Založení Spring projektu

Není vhodné přidávat soubory s definicemi flow do hlavního projektu, který synchronizujeme s OpenCms serverem (jsou vyžadovány DTD pro XML). Vytvoříme tedy samostatný Spring projekt, kterému do Build Path přidáme náš hlavní projekt. Pro tvorbu nové definice máme k dispozici průvodce (jako pro vytváření projektu). Projekt obsahuje složku Spring Elements, kam můžeme vložit naše definice flow (právé tlačitko myši -> Properties). Grafický editor otevřeme položkou v kontextovém menu pravým tlačítkem myši na definici flow.

Odkazy

  • Referenční příručka external
  • Spring by Example - Web Flow external
  • Spring by Example - Web Flow Subflow external
  • Tutorial - Shopping Cart external
25 June 2009, 21:47 by JaroslavPavuk -
Changed lines 140-146 from:
  1. Stažení OGNL 2.6.9 external nebo jboss-el external.
  2. Přidání stažených JAR knihoven do OPENCMS_HOME\WEB-INF\lib.
to:
  1. Stažení OGNL 2.6.9 nebo jboss-el.
  2. Přidání stažených JAR knihoven do OPENCMS_HOME\WEB-INF\lib.

Konfigurace

Upravíme soubor TOMCAT_HOME\webapps\opencms\WEB-INF\springapp-servlet.xml

Atributy kořenového elementu beans rožšíríme o schema pro Web Flow. Dostaneme tedy:

<beans xmlns="http://www.springframework.org/schema/beans"  
   xmlns:context="http://www.springframework.org/schema/context"  
   xmlns:flow="http://www.springframework.org/schema/webflow-config"  
   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  
      http://www.springframework.org/schema/context  
      http://www.springframework.org/schema/context/spring-context-2.5.xsd  
      http://www.springframework.org/schema/webflow-config  
      http://www.springframework.org/schema/webflow-config/spring-webflow-config-2.0.xsd">

Mapováni controlleru flow na springappflow.html. Soubor s definicí flow bude očekáván ve tvaru springappflow.xml, viz definice níže.

<bean id="simpleUrlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
     <property name="mappings">
      <props>
        <prop key="springappflow.html">flowController</prop>
      </props>
    </property>
</bean>

Dále je samotná konfigurace Web Flow:

<bean id="flowController" class="org.springframework.webflow.mvc.servlet.FlowController">  
      <property name="flowExecutor" ref="flowExecutor"/>  
</bean>

<flow:flow-executor id="flowExecutor" flow-registry="flowRegistry"/>

Nastavení cesty k definicím flow. Povinně musíme zadat cestu k springappflow.xml, které jsme umístili do /WEB-INF/flows/. Dále zde můžeme nastavit cesty k dalším definicím.

25 June 2009, 21:38 by JaroslavPavuk -
Changed lines 138-139 from:
  1. Stažení http://www.springsource.org/download#webflow? (min. verze 2.0.x).
to:
  1. Stažení Spring Web Flow (min. verze 2.0.x).
25 June 2009, 21:37 by JaroslavPavuk -
Changed lines 136-139 from:
  1. Funkční Spring MVC (minimálně verze 2.5.4!) podle návodu.
  2. Stažení Spring Web Flow external (min. verze 2.0.x).
to:
  1. Funkční Spring MVC (minimálně verze 2.5.4!) podle návodu výše.
  2. Stažení http://www.springsource.org/download#webflow? (min. verze 2.0.x).
25 June 2009, 21:32 by JaroslavPavuk -
Changed lines 134-146 from:
to:

Instalace knihoven

  1. Funkční Spring MVC (minimálně verze 2.5.4!) podle návodu.
  2. Stažení Spring Web Flow external (min. verze 2.0.x).
  3. Stažení OGNL 2.6.9 external nebo jboss-el external.
  4. Přidání stažených JAR knihoven do OPENCMS_HOME\WEB-INF\lib.
25 June 2009, 21:29 by JaroslavPavuk -
Changed lines 131-135 from:

Web Flow

to:

Integrace Spring Web Flow do OpenCms

25 June 2009, 21:27 by JaroslavPavuk -
Changed lines 15-16 from:
to:

Deleted lines 128-135:
Added lines 130-136:

Web Flow


25 June 2009, 21:24 by JaroslavPavuk -
Changed lines 49-50 from:

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.)

to:

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.)

Changed lines 68-69 from:

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:

to:

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:

Changed lines 79-80 from:

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

to:

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

Changed lines 100-101 from:

5. Přidání souboru s applicationContextem pro Spring

to:

5. Přidání souboru s applicationContextem pro Spring

Changed lines 108-109 from:

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:

to:

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:

25 June 2009, 21:22 by JaroslavPavuk -
Changed lines 49-52 from:

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í:

to:

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í:

Changed lines 102-103 from:

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:

to:

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:

Changed lines 108-109 from:

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:

to:

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:

25 June 2009, 21:20 by JaroslavPavuk -
Changed lines 16-17 from:

Integrace Spring MVC do OpenCms

to:

Integrace Spring MVC do OpenCms

Changed line 20 from:
  • OpenCms 7.0.5 a teoreticky vyšší
to:
  • OpenCms 7.0.5 a teoreticky vyšší
Changed lines 29-32 from:
  • 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)
to:
  • 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)
Changed lines 35-38 from:

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

to:

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

Changed lines 49-50 from:

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.)

to:

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.)

Changed lines 117-120 from:

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:

to:

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:

Changed lines 127-135 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.

25 June 2009, 21:15 by JaroslavPavuk -
Changed lines 29-32 from:
  • 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)
to:
  • 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)
Changed lines 47-50 from:

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.)

to:

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.)

Changed lines 66-68 from:

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:

to:

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:

Changed lines 81-83 from:

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/.

to:

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/.

Changed lines 86-87 from:

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:

to:

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:

Added line 96:
Changed lines 102-103 from:

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:

to:

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:

Changed lines 108-109 from:

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:

to:

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:

Changed lines 119-124 from:

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
to:

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
Changed lines 127-135 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.

25 June 2009, 21:11 by JaroslavPavuk -
Changed lines 16-19 from:

Integrace Spring MVC do OpenCms

Softwarové požadavky

to:

Integrace Spring MVC do OpenCms

Softwarové požadavky

Changed lines 25-26 from:

Používaní konvence

to:

Používaní konvence

Changed lines 33-34 from:

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

to:

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

Changed lines 37-38 from:

Integrace Spring MVC do OpenCms

to:

Integrace Spring MVC do OpenCms

Changed lines 42-43 from:

1. Zastavte Tomcat

to:

1. Zastavte Tomcat

Changed lines 47-48 from:

2. Úprava souboru web.xml

to:

2. Úprava souboru web.xml

Changed lines 78-79 from:

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

to:

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

Changed lines 83-84 from:

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

to:

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

Changed lines 97-98 from:

5. Přidání souboru s applicationContextem pro Spring

to:

5. Přidání souboru s applicationContextem pro Spring

Changed lines 112-113 from:

6. Přidání knihoven Spring MVC do OpenCms

to:

6. Přidání knihoven Spring MVC do OpenCms

Changed lines 120-121 from:

7. Test instalace

to:

7. Test instalace

25 June 2009, 21:09 by JaroslavPavuk -
Changed lines 37-38 from:

Integrace Spring MVC do OpenCms

to:

Integrace Spring MVC do OpenCms

Changed lines 42-43 from:
  1. Zastavte Tomcat
to:

1. Zastavte Tomcat

Changed lines 47-48 from:
  1. Úprava souboru web.xml
to:

2. Úprava souboru web.xml

Changed lines 78-79 from:
  1. Přidání tld (Tag library deskriptor) souboru s popisem taglib Spring-forms
to:

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

Changed lines 83-84 from:
  1. Vytvoření souboru s definicí beans a nastavení Spring MVC
to:

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

Changed lines 97-98 from:
  1. Přidání souboru s applicationContextem pro Spring
to:

5. Přidání souboru s applicationContextem pro Spring

Changed lines 112-113 from:
  1. Přidání knihoven Spring MVC do OpenCms
to:

6. Přidání knihoven Spring MVC do OpenCms

Changed lines 120-121 from:
  1. Test instalace
to:

7. Test instalace

25 June 2009, 21:07 by JaroslavPavuk -
Changed lines 16-19 from:

Integrace Spring MVC do OpenCms

Softwarové požadavky

to:

Integrace Spring MVC do OpenCms

Softwarové požadavky

Changed lines 25-26 from:

Používaní konvence

to:

Používaní konvence

Changed lines 33-34 from:

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

to:

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

Changed lines 37-38 from:

Integrace Spring MVC do OpenCms

to:

Integrace Spring MVC do OpenCms

Changed lines 42-43 from:

Zastavte Tomcat

to:
  1. Zastavte Tomcat
Changed lines 47-48 from:
 Úprava souboru web.xml
to:
  1. Úprava souboru web.xml
Changed lines 78-79 from:

Přidání tld (Tag library deskriptor) souboru s popisem taglib Spring-forms

to:
  1. Přidání tld (Tag library deskriptor) souboru s popisem taglib Spring-forms
Changed lines 83-84 from:

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

to:
  1. Vytvoření souboru s definicí beans a nastavení Spring MVC
Changed lines 97-98 from:

Přidání souboru s applicationContextem pro Spring

to:
  1. Přidání souboru s applicationContextem pro Spring
Changed lines 112-113 from:

Přidání knihoven Spring MVC do OpenCms

to:
  1. Přidání knihoven Spring MVC do OpenCms
Changed lines 120-121 from:

Test instalace

to:
  1. Test instalace
25 June 2009, 21:02 by JaroslavPavuk -
Added lines 16-130:

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ů:

Zastavte Tomcat

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

 Ú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>

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/.

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.

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>

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

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.

09 March 2009, 14:37 by PremekBrada -
Changed lines 7-8 from:
to:
  * např. re-implementace modulu Osoby
Added lines 11-15:

Omezující podmínky

  • stávající architektura webových aplikací KIV -- výchozí bod, ne nutně cílový stav
  • koncepční jednoduchost (krátká learning curve) -- "příjemcem" je čerstvý absolvent KIV/PIA
09 March 2009, 14:34 by PremekBrada -
Changed line 3 from:
  1. analyzovat možnosti integrace OpenCms a webových frameworků
to:
  1. analyzovat možnosti integrace OpenCms a webových frameworků, zejména Spring MVC
09 March 2009, 14:34 by PremekBrada -
Added line 4:
  * termín 30.3.2009
09 March 2009, 14:32 by PremekBrada -
Added lines 1-10:

Projekt (semestrální práce z předmětu KIV/JET) má následující cíle:

  1. analyzovat možnosti integrace OpenCms a webových frameworků
  2. vyhodnotit přínosy nasazení frameworku - learning curve vs efektivita práce
  3. vytvořit vzorovou implementaci ve vybrané sadě frameworků

Potenciální frameworky k analýze jsou Spring MVC, JPA/Hibernate, Stripes; tento výčet bude upraven na základě výsledků cíle 1.


Zpět na WebKiv.RedSys