Architektura

Jak jsme si již naznačili v úvodu, aplikační rámec SiteMesh je založen na technologii Filter. Filtr, který reprezentuje SiteMesh jako takový se jmenuje PageFilter a je zachycen stejnojmennou třídou.

Pokud na aplikaci, ve které je používán SiteMesh míří úživatelský požadavek, je zachycen právě tímto filtrem. Filtr vytvoří uživatelský objekt reprezentující odezvu aplikace (objekt třídy PageResponseWrapper) na příchozí požadavek a pošle ji společně s tímto požadavkem dále.

Požadavek prochází dalšími filtry, pokud jsou nastaveny, až doputuje k samotné aplikaci. Aplikace poté zapíše svoji odezvu do zmiňovaného uživatelského objektu a vrátí ho zpět ke zpracování filtru.

Jakmile se řízení vrátí zpět objektu typu PageFilter, dojde ke zjištění typu obsahu vráceného aplikací. Na základě jeho typu je vybrán analyzátor (parser) daného obsahu, který daný obsah rozebere a vrátí objekt implementující rozhraní Page, který je naplněn daty parsované stránky.

Jakmile je objekt typu Page naplněn, SiteMesh začne hledat dekorátor, kterým by danou stránku odekoroval. Sitemesh obsahuje sadu mapovačů, tříd implementujících rozhraní DecoratorMapper. Instance těchto objektů rozhodují o tom, který dekorátor bude vybrán. Tomuto tématu budeme věnovat podkapitolu 2.3., kde si popíšeme, jak výběr dekorátorů funguje, jaké máme typy mapovačů a jak si můžeme vytvořit vlastní mapovač, který bude rozhodovat o tom, jaký dekorátor bude vybrán.

Pokud je dekorátor nalezen, SiteMesh na něj vyšle požadavek. Stránka reprezentující dekorátor má přístup k objektu implementující rozhraní Page reprezentující původní stránku a pomocí uživatelských značek čte data z tohoto objektu a vkládá je na příslušná místa dekorátoru.

Odekorovaná stránka je nýní vrácena uživateli.

Komentáře

Téma neobsahuje žádné komentáře.

Vložit komentář

Můžete používat značkovací jazyk Texy!


Jméno:
E-mail:
Url:
Komentář:
1 + 2 =
 
MoroSystems, s.r.o.