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:

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:)
  1. 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.


  2. 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.


  3. 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.


  4. 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.


  5. 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: