Java Beans sind Komponenten, die definierte Aufgaben erfüllen und uns die Arbeit erleichtern. Für die LV wurde eine Bean für den DB-Zugriff geschrieben, die wir folgendermaßen verwenden können:
<jsp:useBean id="db" class="tools.DB" scope="session"/>
Damit wird eine Bean mit dem Namen db erzeugt, die für die Dauer der Session bestehen bleibt. Die Bean tools.DB ist beim Application Server Tomcat im Schulungsraum installiert und enthält folgende Methoden:
Beim Select mit der DB Bean ersparen wir uns die umständlichen JDBC connect Statements:
<jsp:useBean id="db" class="tools.DB" scope="session"/> <b>Artikel</b> <% try { db.connect("j8325200"); db.query("select nr, bez, preis from artikel"); out.println("<table>"); while (db.next()) { out.println("<tr>" + "<td>" + db.get("nr") + "<td>" + db.get("bez") + "<td>" + db.get("preis") ); } out.println("</table>"); } catch (Exception e) { out.println(e); } %>
Besonders einfach wird das Insert mit der DB Bean. Dabei gehen wir davon aus, daß alle Parameter eingefügt werden sollen, und daß diese auch genauso heißen wie die entsprechenden Spalten in der Tabelle. Die Parameter sind z.B. die input Felder im HTML Formular.
<jsp:useBean id="db" class="tools.DB" scope="session"/> <% try { db.connect("j8325200"); db.insert("artikel", request); out.println("Artikelerfassung erfolgreich."); } catch (Exception e) { out.println("Fehler bei Artikelerfassung!<p>"); out.println(e); } %>
Der Source Code DB.java zeigt, wie die JDBC Methoden verwendet werden, um den Zugriff zu vereinfachen.
Auf die set() und get() Methoden, die normalerweise Teil der Java Beans Spezifikation sind, wurde hier verzichtet. Damit könnte dann mit <jsp:setProperty> und <jsp:getProperty> über ein reines HTML Interface mit der Bean kommuniziert werden.
DB gehört zur Package tools. Zur Installation muß die Datei DB.class ins Unterverzeichnis tools von $CATALINA_HOME/shared/classes am Tomcat Server gestellt werden.
Wenn Sie selbst Komponenten entwickeln wollen, dann benötigen Sie die entsprechenden Rechte am Tomcat Server. Beim Kompilieren von solchen Beans benötigen Sie die mysql und servlet packages im CLASSPATH, siehe dazu http://balrog.wu-wien.ac.at.
Zur Entwicklung von JSP-Applikationen mit selbstdefinierten Java Beans muß eine bestimmte Verzeichnisstruktur eingehalten werden, und es muß bestimmte XML Dateien geben, die selbst zu schreiben recht mühsam ist. Daher ist es sinnvoll, eine IDE einzusetzen, die ein WAR file generieren kann, z.B. netbeans. Dort ist auch ein Tomcat Server im Bundle enthalten, was beim Testen sehr hilfreich ist. Netbeans ist auf den PCs im Schulungsraum installiert und ist für zuhause auch unter www.netbeans.org zu haben.