JSP
Nov. 12- 18.
Határidő: Dec. 2.
Követelmények |
Laborházik |
Dokumentáció
E laborházi lényege:
- JSP használata
- MVC elv alkalmazása kisméretű Web-alkalmazás esetén
Követelmények:
- Beküldendő csatolt állomány neve: W05_<sorszám>_<felhasználónév>.zip (Pl. W05_05_xy52142.zip)
- "Subject":W05_<sorszám> (pl. W05_05)
- A levél tartalma:
hallgató neve, csoportja, a feladat száma és szövege
Laborházik:
Megj.: A feladat I. részében leírtak mindenkire vonatkoznak, a II. részben a feladat egyénre szabott része szerepel
(mindenki a sorszáma szerinti feladatot választja).
I.
Írjuk át az előző (servlet-es) laborfeladatot MVC elv alapján.
Írjuk át a bejelentkező oldalát JSP-re. Az elküldött adatokat (submit) továbbra is
servlet dolgozza fel.
A II. pontra vonatkozó megjegyzés: az adatok megosztása (a JSP és a servlet között) történjen standard Web-es
nyilvános hatókörbe helyezett bean-eken keresztül, melyeknek mezőit a vezérlő servlet-ben állítjuk be és a JSP-ben
csak megjelenítjük.
Az elküldött adatok (submit) feldolgozása a vezérlő servletben történjen, a megjelenítés pedig JSP-ben.
A vezérlő servletben az átirányítás szerver oldalon történjen (RequestDispatcher forward metódusával).
II. (idézve a servlet-es laborházi szövegéből:)
-
Véletlenszerűen generált szám kitalálása
Gombnyomásra generáljunk egy véletlenszerű egész számot 0 és max. között (ahol a max. értéket a servlet init
paramétereként adjuk meg), és tároljuk ezt a számot a szesszióban.
A servlet tippeket kér ismételten mindaddig, amíg a számot ki nem találjuk. Minden egyes tipp után kiírja, hogy az
illető szám kisebb-e vagy nagyobb, mint a szesszióban levő szám (vagy hibaüzenetet, amennyiben a megadott érték
nem alakítható számmá, esetleg nincs a [0 .. max.] intervallumban).
Kitalált szám esetén gratuláljon, illetve jelenjen meg ismét az a gomb, amivel újrakezdhető a játék.
-
Aritmetikai műveletek sorozata
Az oldalon az alábbiak jelenjenek meg:
- Eddigi részeredmény (a kezdeti értéket a servlet init paraméteréből kapjuk)
- Művelet (összeadás, kivonás, szorzás vagy osztás műveletek közül választhatunk, pl.
legördülő listából vagy rádiógombok közül)
- Következő operandus (egész számot kérünk be)
- Műveletvégzés - (submit gomb)
Submit-ra a servlet végezze el a következő műveltet, frissítve az eddigi részeredményt, illetve további művletvégzésre
adva lehetőséget. Hibás (vagyis nem egészszám) operandus megadása esetén írjunk ki hibaüzenetet, a részeredmény
pedig maradjon változatlan.
-
Szövegszínezés
Az oldalon az alábbiak jelenjenek meg:
- Egy szövegdoboz (textarea), melybe tetszőleges szöveget kérünk be
- Háttérszín (legördülő listából lehessen kiválasztani egy színt)
- Szövegszín (ismét egy legördülő listából lehessen kiválaztani egy színt)
mindkét lista esetén az első elem az legyen, hogy "válassz egy színt"
- Színezés (submit gomb)
Submit-ra a kiválasztás alapján színezett szöveg is jelenjen meg. Ha a háttér vagy szövegszín nincs kiválasztva,
akkor kezdetben a servlet megfelelő init paramétereként megadott színt kell használni, különben a legutóbb megadott színeket.
Megfelelő hibaüzenet jelenjen meg, ha nincs szöveg megadva vagy ha a háttérszín illetve a szöveg színe megegyezik.
-
Hárombetűs szavak
(Tudnivaló: van egy olyan játék, mely szerint egy hárombetűs szóból kiindulva el kell jutni egy másik hárombetűs
szóhoz -értelmes szavakon keresztül- úgy, hogy mindig csak egyetlen betűt cserélhetünk ki)
Kezdetben az oldalon az alábbiak jelenjenek meg:
- kiinduló szó (ha nincs megadva, akkor a servlet megfelelő init paraméteréből vegye)
- végső szó (ha nincs megadva, akkor a servlet megfelelő init paraméteréből vegye)
- Játék indul (submit gomb)
Játék indításra kérje be a következő szót, illetve írja ki az addig beírt helyes szavak listáját.
Megfelelő hibaüzenetet írjunk ki, ha a beírt szó nem hárombetűs vagy több, mint egy betűben különbözik az
előzőtől.
Ha eljutottunk az utolsó szóig, töröljük az eddigi listát és indulhasson újra a játék.
-
Válogatás (egyik listából a másikba)
Az oldalon az alábbiak jelenjenek meg:
- két lista egymás mellett (az elsőt kezdetben a servlet init paramétereivel töltjük fel, a második legyen üres)
- a két lista között egy nyilat tartalmazó gomb, melyre kattintva a baloldali listából a kiválasztott
elem át lesz helyezve a jobboldali listába
- Új adat bevitele (a baloldali listába) -szövegmező és a hozzá tartozó submit gomb
- "Reset" gomb, mely visszaállítja az eredeti állapotot
Amennyiben olyan elemet próbálunk bevinni, ami már benne van a baloldali listában (vagy át lett helyezve a jobboldaliba),
írjunk ki hibaüzenetet.
Hasznos hivatkozások: