Vorhandene JDBC-Anwendung in Liberty implementieren

Sie können eine vorhandene Anwendung, die Java™ Database Connectivity (JDBC) und eine Datenquelle verwendet, auf einem Server implementieren.

Informationen zu diesem Vorgang

Sie können eine vorhandene JDBC-Anwendung in Liberty implementieren. Dazu fügen Sie das Liberty-Feature jdbc-4.0 der Datei server.xml hinzu. Außerdem müssen Sie Code hinzufügen, der dem Server die Position des JDBC-Treibers mitteilt und Eigenschaften angeben, die der JDBC-Treiber verwendet, um die Verbindung zur Datenbank herzustellen.

In diesem Beispiel können Sie Ihre Servletanwendung erweitern oder Sie verwenden die hier angegebene Anwendung, um zu testen, ob die über den JDBC-Treiber verwendete Interaktivität erwartungsgemäß funktioniert.

Vorgehensweise

  1. Erstellen Sie einen Server.
  2. Starten Sie den Server.
  3. Nehmen Sie die Liberty-Features jdbc-4.0 und servlet-3.0 in die Datei server.xml auf.
    <server>
       <featureManager>
           <feature>jdbc-4.0</feature>
           <feature>servlet-3.0</feature>
       </featureManager>
    </server>

    Wenn Sie überprüfen möchten, dass der Server ausgeführt wird und die Features erfolgreich aktiviert wurden, rufen Sie hierzu die Datei console.log auf, die sich im Verzeichnis logs auf dem Server befindet. Sie können zum Anzeigen einen beliebigen Texteditor verwenden. Im Folgenden sehen Sie ein Beispiel:

    [AUDIT   ] CWWKF0012I: Im Server wurden die folgenden Features installiert: [jdbc-4.0, jndi-1.0].
    [AUDIT   ] CWWKF0008I: Die Featureaktualisierung wurde in 0,326 Sekunden durchgeführt. 
  4. Geben Sie den Datenbanktyp und das Datenquellenverzeichnis in der Datei server.xml an.

    Pfad_zu_Derby ist die Position, an der Derby auf Ihrem Betriebssystem installiert ist, lib ist der Ordner, in dem sich die Datei derby.jar befindet, und data/exampleDB ist das Verzeichnis, das erstellt wird, sofern es nicht bereits vorhanden ist.

    Beispiel:
    <jdbcDriver id="DerbyEmbedded" libraryRef="DerbyLib"/>
    
    <library id="DerbyLib">
      <fileset dir="C:/Pfad_zu_Derby/lib" includes="derby.jar"/>
    </library>
    
    <dataSource id="ds1" jndiName="jdbc/exampleDS" jdbcDriverRef="DerbyEmbedded">
      <properties.derby.embedded
       databaseName="C:/Pfad_zu_Derby/data/exampleDB"
       createDatabase="create"
      />
    </dataSource>
    Weitere Informationen zu weiteren Optionen für die Codierung von Datenquellendefinitionen finden Sie unter Ref-Tags in Konfigurationsdateien verwenden.
  5. Fügen Sie Ihrer JDBC-Anwendung einige SQL-Anweisungen (z. B. create, read, update oder delete) hinzu, um die Interaktivität mit der Datenbank zu testen.
    package wasdev;
    
    import java.io.*;
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import javax.annotation.Resource;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import javax.servlet.annotation.WebServlet;
    import javax.sql.DataSource;
    
    @WebServlet("/HelloWorld")
    public class HelloWorld extends HttpServlet {
      
      @Resource(name = "jdbc/exampleDS")
      private DataSource ds1;
      private Connection con = null;
      private static final long serialVersionUID = 1L;
      
      public HelloWorld() {
        super();
      }
      public void doGet(HttpServletRequest request, HttpServletResponse response) 
                                           throws ServletException, IOException {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<H1>Hello World Liberty</H1>\n");
        try  {
           con = ds1.getConnection();
           Statement stmt = null;
           stmt = con.createStatement();
           // Tabelle erstellen
           stmt.executeUpdate("create table cities (name varchar(50) not null primary key, population int, county varchar(30))");
           // Testdatensatz einfügen
           stmt.executeUpdate("insert into cities values ('myHomeCity', 106769, 'myHomeCounty')");
           // Datensatz auswählen
           ResultSet result = stmt.executeQuery("select county from cities where name='myHomeCity'");
           result.next();
           // Informationen zum Bezirk der Stadt anzeigen
           out.println("The county for myHomeCity is " + result.getString(1));
           // Tabelle freigeben, um Bereinigung auszuführen und Testwiederholung zu ermöglichen.
           stmt.executeUpdate("drop table cities");
           } 
        catch (SQLException e) {
           e.printStackTrace();
           } 
        finally {
           if (con != null){
               try{
                  con.close();
                  }
               catch (SQLException e) {
                 e.printStackTrace();
                 } 
               }
           }
        }
    }
  6. Kompilieren Sie Ihre Anwendung.

    Pfad_zu_Liberty ist die Position, an der Sie Liberty auf Ihrem Betriebssystem installiert haben, und Pfad_zur_Anwendung ist die Position der Java-Datei der Anwendung, die Sie kompilieren möchten.

    Beispiel unter Windows:
    C:\> javac -cp 
    Pfad_zu_Liberty\wlp\dev\api\spec\com.ibm.ws.javaee.servlet.3.0_1.0.1.jar
           Pfad_zur_Anwendung\HelloWorld.java
    Beispiel unter Linux:
    mo@machine01:~> javac -cp  
             Pfad_zu_Liberty/wlp/dev/api/spec/com.ibm.ws.javaee.servlet.3.0_1.0.1.jar
             Pfad_zur_Anwendung/HelloWorld.java
    Wenn der Befehl javac nicht erkannt wird, stellen Sie sicher, dass das Java-Verzeichnis bin in der Umgebungsvariablen PATH Ihres Betriebssystems enthalten ist.
  7. Fügen Sie die Anwendung dem Server hinzu.
    In diesem Beispiel wird die JDBC-Anwendung im Verzeichnis dropins auf dem Server gespeichert.
    ...\dropins\HelloWorldApp.war\WEB-INF\classes\wasdev\HelloWorld

    Das Verzeichnis wasdev verwendet denselben Paketnamen, der in HelloWorld.java verwendet wird.

  8. Prüfen Sie, ob Ihre JDBC-Anwendung funktioniert.
    Rufen Sie für dieses Beispiel diese URL auf:
    http://localhost:9080/HelloWorldApp/HelloWorld

    Der Port 9080 ist der HTTP-Standardport, der vom Liberty-Server verwendet wird. Sie können in der Datei server.xml prüfen, welcher HTTP-Port für Ihren Server definiert ist.

    Die Browserausgabe für dieses Beispiel sieht wie folgt aus:

    Hello World Liberty
    The county for myHomeCity is myHomeCounty

Symbol das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 01.12.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-libcore-mp&topic=twlp_dep_jdbc
Dateiname: twlp_dep_jdbc.html