WebFav: ObsluhaChyb |
from Wiki KIVu |
Chyby lze obslouvat několik způsoby a samozřejmě mnoha dalšími.
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ů.
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).
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.