Die Aufgabe
8) Servlet und JSP (9 Punkte)
Erstellen Sie nun eine JSP Seite Ausgabe.jsp auf der Bewertungen ausgegeben werden. Die Attribute gid, punkte und txt der Bewertungen sollen dabei in einer Tabelle angezeigt werden.
Die anzuzeigenden Werte wurden in einem Controller-Servlet vor dem Aufruf der JSP folgendermaßen gesetzt:
int p1 = Integer.parseInt(request.getParameter("low"));int p2 = Integer.parseInt(request.getParameter("high"));List<BewertungDTO> b = BewertungDB.findBetweenPunkte(cn, p1, p2);request.setAttribute("bewertungen", b);request.setAttribute("min", p1);request.setAttribute("max", p2);request.getRequestDispatcher("Ausgabe.jsp").forward(request,response);In der Ausgabe.jsp sollen die Bewertungen unter Nutzung von JSTL ausgegeben werden. Falls keine Bewertungen gefunden wurden, soll eine entsprechende Meldung erscheinen. Achten Sie darauf, das Kommentarfeld gegen XSS-Angriffe abzusichern!
(Der Rahmen der Seite steht rechts.)
Ein Servlet ist eine Java-Klasse auf dem Webserver, die Anfragen bearbeitet. Die Anfrage des Browsers heißt Request; Servlet und JSP teilen sich denselben Request, und setAttribute legt Werte darin ab. Hier ist es der Controller: Es liest die Grenzen aus dem Formular, holt die Bewertungen mit findBetweenPunkte und gibt die Arbeit an die Seite Ausgabe.jsp weiter.
Eine JSP (Jakarta Server Pages) ist eine HTML-Seite mit eingebetteten Teilen, die der Server vor dem Senden ausführt. JSTL (JSP Standard Tag Library) liefert dafür fertige Tags wie Schleifen und Bedingungen, so dass kein Java-Code in der Seite steht.
Gesucht sind die drei mit XXX markierten Stellen: Überschrift, Meldung bei leerer Liste, Tabelle. Dazu Schutz vor XSS (Cross-Site-Scripting) beim Kommentar. Für die Aufgabe gibt es 9 Punkte.
c:out das Maskieren.- Was das Servlet in den Request legt.
- Die Tag-Bibliothek und die Überschrift mit den Grenzen.
- Die Meldung, falls nichts gefunden wurde.
- Die Schleife und je Bewertung eine Tabellenzeile.
- Der Kommentar mit c:out gegen XSS.