Hallo,
vor wenigen Wochen begann ich damit, mich in JSP/Servlet Entwicklung für WebAnwendungen einzuarbeiten.
Ich komme aus der Perl-Ecke, in dessen Bereich ich schon seit 17 Jahren tätig bin.
Nun, es ist sicher etwas anderes, Perl stellt nur bedingt OOP zur Verfügung.
Auch nach dem Durcharbeiten und Ausprobieren von Beispielen von insgesamt 3 Büchern zum Thema Servlet/JSP Entwicklung habe ich immer noch gravierende Schwierigkeiten, die Logik bzwl. Datenaustausch zwischen Servlet und JSP Page zu verstehen, geschweige denn umzusetzen.
Frage 1
Ein Servlet das Requests und Responses verarbeitet beinhaltet eine If-Abfrage die an URL-Parameter gebunden ist: z. B.
String sReq = request.getParameter( "req" );
if (sReq.equals("run") == true) { (...) }
Ich bekomme es nicht hin, daß innerhalb dieser IF-Abfrage Daten aus einer SQL-Tabelle
für die JSP-Seite bereit gehalten werden, die entweder mit dispatcher.forward oder mit sendRedirect angesprochen wird.
In dem Buch was ich habe wird folgendes empfohlen:
- MVS Architektur oder JSP Expression Language zu verwenden
- JSP Pages sollen die Objekte nie erzeugen
- JSP Pages sollen die Objekte nie ändern
Genau das versuche ich zu befolgen.
Meine DB-Abfrage funkioniert, auch die Zuweisung der Parameter.
Nur die JSP Seite will nicht.
In der JSP Seite versuche ich die Daten wie folgt darzustellen:
<jsp:useBean type="org.my.eps.app.epsapp" scope="application" id="epsapp">
<jsp:getProperty name="epsapp" property="log_user_id" />
</jsp:useBean>
Ich habe die Verwendung von Session und Cookies abgeschaltet, da sich meine Anwendung selbst um die Session-Verwaltung kümmert.
Frage 2
Verstehe ich es richtig, daß bei der Verwendung von sendRedirect die Daten plötzlich "weg" sind, also nicht mehr gehalten werden, im Gegensatz zu forward?
Frage 3
Worin besteht der Unterschied zwischen:
<jsp:useBean> und <%@ page import="myBean" %>
?
Frage 4
Für meine Begriffe wäre es einfacher, die HTML-Seiten aus einer Datenbank abzufragen und wie Templates zu behandeln, und einfach nur Werte durch ein Parsing auszutauschen.
Damit erspart man sich die Kommunikation zwischen Servlet und JSP.
Wie wird generell dieser Ansatz unter Java bewertet?
Vielen Dank schon mal im Voraus, ich hoffe sehr, hier Hilfestellung zu erhalten.
Viele Grüße.
vor wenigen Wochen begann ich damit, mich in JSP/Servlet Entwicklung für WebAnwendungen einzuarbeiten.
Ich komme aus der Perl-Ecke, in dessen Bereich ich schon seit 17 Jahren tätig bin.
Nun, es ist sicher etwas anderes, Perl stellt nur bedingt OOP zur Verfügung.
Auch nach dem Durcharbeiten und Ausprobieren von Beispielen von insgesamt 3 Büchern zum Thema Servlet/JSP Entwicklung habe ich immer noch gravierende Schwierigkeiten, die Logik bzwl. Datenaustausch zwischen Servlet und JSP Page zu verstehen, geschweige denn umzusetzen.
Frage 1
Ein Servlet das Requests und Responses verarbeitet beinhaltet eine If-Abfrage die an URL-Parameter gebunden ist: z. B.
String sReq = request.getParameter( "req" );
if (sReq.equals("run") == true) { (...) }
Ich bekomme es nicht hin, daß innerhalb dieser IF-Abfrage Daten aus einer SQL-Tabelle
für die JSP-Seite bereit gehalten werden, die entweder mit dispatcher.forward oder mit sendRedirect angesprochen wird.
In dem Buch was ich habe wird folgendes empfohlen:
- MVS Architektur oder JSP Expression Language zu verwenden
- JSP Pages sollen die Objekte nie erzeugen
- JSP Pages sollen die Objekte nie ändern
Genau das versuche ich zu befolgen.
Meine DB-Abfrage funkioniert, auch die Zuweisung der Parameter.
Nur die JSP Seite will nicht.
In der JSP Seite versuche ich die Daten wie folgt darzustellen:
<jsp:useBean type="org.my.eps.app.epsapp" scope="application" id="epsapp">
<jsp:getProperty name="epsapp" property="log_user_id" />
</jsp:useBean>
Ich habe die Verwendung von Session und Cookies abgeschaltet, da sich meine Anwendung selbst um die Session-Verwaltung kümmert.
Frage 2
Verstehe ich es richtig, daß bei der Verwendung von sendRedirect die Daten plötzlich "weg" sind, also nicht mehr gehalten werden, im Gegensatz zu forward?
Frage 3
Worin besteht der Unterschied zwischen:
<jsp:useBean> und <%@ page import="myBean" %>
?
Frage 4
Für meine Begriffe wäre es einfacher, die HTML-Seiten aus einer Datenbank abzufragen und wie Templates zu behandeln, und einfach nur Werte durch ein Parsing auszutauschen.
Damit erspart man sich die Kommunikation zwischen Servlet und JSP.
Wie wird generell dieser Ansatz unter Java bewertet?
Vielen Dank schon mal im Voraus, ich hoffe sehr, hier Hilfestellung zu erhalten.
Viele Grüße.