Java Beans

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:

connect(username)
Verbindung zur DB wird hergestellt
db.connect("j0301000");
query(sql)
SQL Statement wird ausgeführt
db.query("select nr, bez, preis from artikel");
next()
Abfrage, ob es noch weitere Resultate gibt
while (db.next()) { ... }
get(field)
Inhalt einer bestimmten Spalte
db.get("preis")
insert(table, request)
in die genannte Tabelle werden alle Parameterwerte aus dem request eingefügt, z.B. die Inhalte aller input Felder aus einem Formular
db.insert("artikel", request);
update(sql)
beliebige SQL insert, delete, update Statements.

Beispiele

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);
  }
%>

Entwicklung und Installation von Java Beans

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.

Offenlegung gem. §25 MedienG