Starší komentáře ke článku: Java Servlets - servlet filtering

Zpět na článek | Úvodní stránka Interval.cz

Avatar

Autor komentáře: Pavel Hora

Datum vložení: 17.9.2003 19:18:31

Zdravim
muj dotaz je takovy delsi, ale snad je to OK. Tyka se vyuziti Struts a filtru.
Popis problemu (cast vypisu z konference) :

Mam system, ktery zobrazuje ruzne informace (trebas seznam zamestnancu, zarizeni, sitovych adres..) a tyto informace lze filtrovat (napr. ze se vypisi pouze zamestnanci s jmenem Jirka atd.). Rikal jsem si, ze budu mit tridu (trebas A), ktera se mi bude starat o zobrazovani zamestnancu, dalsi, ktera se bude starat o zobrazovani zarizeni (trida B) ... Kdyz nektera z techto trid (A,B) polozi zadost, ze chce zobrazit zamestnance..., mela by byt tato zadost spracovana dalsimi tridami, ktere se staraji o filtrovani dat jake si uzivatel preje (tzn. napr. zobrazeni pouze zamest. s danym jmenem ...). Chci aby sel system v budoucnu rozsirovat, tzn. ze tech filtrovacich trid, pres ktere dotaz pujde muze byt casem vice (jedna treba filtruje jmena, druha prijmeni...), kdyz tyto filtrovaci tridy zpracuji onen pozadavek(v podstate se jedna o poskladani SQL dotazu pro databazi) preda se do databaze, a ta vrati odpoved, kterou pat trida A zobrazi uzivateli. Problem je, ze vubec netusim, jak Strutsum rici, aby predaval tento pozadavek dalsim tridam... Asi se to bude nastavovat nekde v configu, protoze samozrejme nechci abych pri pridani dalsi "filtrovaci tridy" musel jakkoli menit jiz napsany java kod (jak trid pro zobrazeni (A,B) tak filtrovacich trid).
Jo jeste abych nezapomnel, to ktera stranka (JSP) se ma uzivateli zobrazit rozhoduji tridy A,B. Ne ty filtrovaci, ale to je asi z vysse napsaneho jasne.

Zda se mi, ze filtering by mohl tuto situaci elegantne vyresit, problem je ale v tom, ze informace, CO filtrovat potrebuji filtru zdelovat za behu - ne ze si je nacte z config souboru. Jak na to? Premyslel jsem spojit Struts s filtrem (public class filtrjmen extends Action implements Filter) a pak mit ve filtru metody, ktere nastavuji promenne, ktere ma filtr ovlivnit, ale vubec nevim zda to bude fungovat. Mohl byste mi prosim nekdo neco :) poradit, a nebo pokud si myslite, ze to resim spatne, navrhnout jiny postup? Ten sami problem resim jeste s pristupovymi pravy. Nekteri uzivatele maji prava jen k urcitym strankam - to se zjistuje z databaze pri prihlaseni uzivatele. Kdyz by tedy slo menit vlastnosti filtru za behu vyresilo by to i toto.

Avatar

Autor komentáře: Ra100

Datum vložení: 30.9.2003 16:12:43

Volanie servletov v adresari /servlet ma na svedomi servlet s menom invoker. Staci ho vyhodit z konfiguracie. Mal by byt definovany v nejakom spolocnom web.xml .

Pre Tomcat 4.1.xx je uz defaultne vykomentovany z bezpecnostnych dovodov.

Bye Ra100

Avatar

Autor komentáře: name

Datum vložení: 13.6.2005 20:18:03

Jenom pro doplneni, kazdy to jiste zjisti sam. Chyba (preklep) v: zablokovanie priameho prístupu k servletu - v ukazce web.xml neni uveden ukoncujici cast elementu </web-app> a misto neho je tam "otevirajici" cast elemntu <web-app>. Jinak clanky jsou perfektni.

Avatar

Autor komentáře: Vilém Málek

Datum vložení: 14.6.2005 6:38:12

Děkuji za upozornění, nyní by to již snad mělo být opraveno ;-)

Zpět na článek | Úvodní stránka Interval.cz