(Ha bongeszoben nezed es nem latszik rendesen: Encoding->Utf-8) Tudnivalók a példák kipróbálásához: - A servlets katalógust be kell másolni az eclipse workspace-ként megadott katalógusába. (a projekt importálására is szükség lesz vszínűleg) - A build.xml-ben a Tomcat alapkatalógusát kell csupán megfelelőképpen módosítani - a Servlets webalkalmazást telepíteni kell a Web-konténerbe (eclipse-ből-> Compile) - a Tomcat indítása után (a Tomcat bin katalogusában levő startup-ot kell indítni. A lezárás pedig a shutdown paranccsal történik) kipróbálhatók a példák (a böngészőbe írt megfelelő URL segítségével) (ha módosítottuk valamelyik példát, újra kell telepíteni az alkalmazást, illetve újra kell indítni a Tomcat-et) - egyéb: ahhoz, hogy a Tomcat elinduljon, be kell legyen állítva egy JAVA_HOME nevű környezeti változó, mely a JDK alapkatalógusának elérési útját kell tartalmazza http://localhost:8080/servlets/ HelloWorld: http://localhost:8080/servlets/helloWorld.html Hello: http://localhost:8080/servlets/hello.html http://localhost:8080/servlets/*.hello http://localhost:8080/servlets/hello/* + paraméter name=valaki *.hello-ra be van állítva egy szűrő (filter), mely a szerver konzolra ír. Innentől .do map-elés SimpleCounter: számolja a kéréseket, egy osztály szintű változóban (!!!nem ajánlott, szinkronizációs problémák miatt, illetve ha mindenképp használni akarjuk, akkor szinkronizálni kell a módosításkor. Az egész web-alkalmazásban elérhető változók tárolására a web-kontextust használjuk - szinkronizálni persze itt is kell.). InitCounter: számolja a kéréseket, egy initParameter értékkel kezdődően InitCounter.do-ra egy szűrőlánc van beállítva, mely a szerver konzolra ír. InitDestroyCounter: számolja a kéréseket, a kezdőértéket egy (InitDestroyCounter.initial nevű) fájlból olvassa, ha nem találja akkor az init paraméterből veszi. A destroy metódusban lementi az aktuális értéket a fájlba. "Szimatolók": InitSnoop: megmutatja az init paramétereket HeaderSnoop: a HTTP fejléc (header) információkat mutat meg ParameterSnoop: az url-ben megadott paramétereket mutatja meg ServerSnoop: server információkat mutat meg (két nem feltétlenül servlet-specifikus példa: ) ClientPull: frissíti az oldal magát bizonyos időközönként ClientPullMove: egy bizonyos idő múlva továbbít egy másik URL-re SessionSnoop: számolja a kéréseket egy szesszió-attribútumban, szesszió információkat mutat, szessziókövetés működése a sütik kikapcsolásával. SessionTimer: átírja a szesszió lejárási idejét. SessionTracker: kiírja a szesszió attribútumait. Pl. a SessionSnoop-ban létrehozott attribútumot is megmutatja. ShoppingCart: hozzá van rendelve egy szűrő, mely a "name" (init paraméterből vett név) nevű attribútumot a szesszióban keresi és ha nem találja a LoginServlet oldalra irányít át. Miután a felhasználó bejelentkezett, a LoginServlet a ShoppingCart-ra irányít. ---------------------------------------------------------------------------------- include, illetve forward pl.: MainPage: beszúrja a BookItem.do tartalmát kétszer. A tartalmat, amit a BookItem.do megmutat, a MainPage állítja be, a request attribútumaként adva meg a könyv kódját, az tehát elérhető lesz a beszúrt servletben SearchLogic: beállítja a megmutatásra szánt tartalmat a requestben, majd továbbítja a kérést a SearchView-hoz, ami megmutatja azt.