Hlavní menu

Nástroje

WebFav / ObsluhaChyb

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

Updated 27 February 2007, 13:15 by Ľubomír Kováč

Co s chybama

Chyby lze obslouvat několik způsoby a samozřejmě mnoha dalšími.

JSP

Máme Javu a JSP a tak taky WEB-INF/web.xml , kde si můžeme nadefinovat obsluhu chybových hlášek jako u každé jiné webové aplikace. OpenCMS takto definuje defaultni obsluhu pro 404 a 500.

Takto nadefinovaná obsluha chyb pak funguje pro všechny weby v openCMS.

Toto řešení není nejvhodnější, když mají na jednom webu běžet různe stránky a obsluha chyb má být pro každý jiná. Samožrejmě je možné speciálně upravit handlery a přesměrovat oznamy o chybách na příslušné handlery daných webů.

Přepsání handlerů

Jednoduchší, ale defakto stejné je přepsání existujícího handleru pro každý web. Nejlepší je přesměrování pro své stránky podle URL. Když ale nejde o žádny známy web v OpenCMS, tak zobrazit standardní chybovou hlášku.

Výhoda spočíva v tom, že se tento handler dá migrovat spolu s modulem. Do opencms-modules.xml se přidá k resources odkaz na tento handler a máme vystaráno (samozřejmě my tak můžeme přepsat jiný handler, nebo nám ho tak může někdo přepsat).

Obsluha

Pro práci s chybami máme k distpozici CmsStatusBean. Ten nám je schopen vrátit původní URL.

Problémy nastávají v případě, že naše stránka není statické html s oznámením chyby, ale když k tomu potřebujeme ještě něco vygenerovat, nebo načíst z nějakého souboru.

Když pracujeme v /system/handler/handle404.jsp nebo /system/handler/handle500.jsp, tak musíme před URL přidat i prefix (standardně v OpenCMS /sites/default). To samé platí o stránkach přidaných (include) do handleru, nebo stránky, na které se přesměrujeme.

Pro templaty a ostatní prvky ale tento prefix používat nesmíme, protože dané soubory nenalezneme.