Déploiement d'une application JDBC existante dans le profil Liberty
Vous pouvez prendre une application existante, utilisant Java™ Database Connectivity (JDBC) et une source de données, et la déployer sur un serveur.
Pourquoi et quand exécuter cette tâche
Vous pouvez déployer une application JDBC existante dans le profil Liberty. Pour effectuer ce déploiement, vous ajoutez la fonction Liberty jdbc-4.0 au fichier server.xml. Vous devez aussi ajouter du code pour indiquer au serveur l'emplacement du pilote JDBC et spécifier les propriétés que le pilote JDBC utilise pour se connecter à la base de données.
Dans cet exemple, vous pouvez étendre votre application de servlet ou utiliser celle qui est fournie ici afin de vérifier que l'interactivité utilisée dans le pilote JDBC fonctionne comme prévu.
Procédure
- Créez un serveur.
- Démarrez le serveur.
- Ajoutez les fonctions
Liberty jdbc-4.0 et servlet-3.0 au
fichier server.xml.
<server> <featureManager> <feature>jdbc-4.0</feature> <feature>servlet-3.0</feature> </featureManager> </server>
Pour vérifier que le serveur fonctionne et que les fonctions ont été activées, reportez-vous au fichier console.log, qui est stocké dans le répertoire logs du serveur. Vous pouvez l'afficher avec n'importe quel éditeur de texte. Il ressemble à l'exemple suivant :
[AUDIT ] CWWKF0012I: Le serveur a installé les fonctions suivantes : [jdbc-4.0, jndi-1.0]. [AUDIT ] CWWKF0008I: Mise à jour de fonction terminée en 0,326 secondes.
- Spécifiez le type de base de données et l'emplacement de la source de données dans le fichier server.xml.
Où chemin_derby est l'emplacement auquel derby est installé sur votre système d'exploitation, lib est le dossier dans lequel se trouve derby.jar et data/exampleDB est le répertoire qui est créé s'il n'existe pas.
Exemple :
Pour des informations sur d'autres options de codage des définitions de source de données, voir Utilisation de balises Ref dans les fichiers de configuration.<jdbcDriver id="DerbyEmbedded" libraryRef="DerbyLib"/> <library id="DerbyLib"> <fileset dir="C:/chemin_derby/lib" includes="derby.jar"/> </library> <dataSource id="ds1" jndiName="jdbc/exampleDS" jdbcDriverRef="DerbyEmbedded"> <properties.derby.embedded databaseName="C:/chemin_derby/data/exampleDB" createDatabase="create" /> </dataSource>
- Ajoutez des instructions SQL create, read, update et delete à votre application JDBC afin de tester l'interactivité avec la base de données.
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 Profile</H1>\n"); try { con = ds1.getConnection(); Statement stmt = null; stmt = con.createStatement(); // créer une table stmt.executeUpdate("create table cities (name varchar(50) not null primary key, population int, county varchar(30))"); // insérer un enregistrement de test stmt.executeUpdate("insert into cities values ('myHomeCity', 106769, 'myHomeCounty')"); // sélectionner un enregistrement ResultSet result = stmt.executeQuery("select county from cities where name='myHomeCity'"); would result.next(); // afficher le comté (county) d'appartenance de la ville out.println("The county for myHomeCity is " + result.getString(1)); // supprimer la table pour pouvoir relancer le test. stmt.executeUpdate("drop table cities"); } catch (SQLException e) { e.printStackTrace(); } finally { if (con != null){ try{ con.close(); } catch (SQLException e) { e.printStackTrace(); } } } } }
- Compilez votre application.
Où chemin_liberty est l'emplacement auquel vous avez installé Liberty sur votre système d'exploitation et chemin_app est l'emplacement du fichier Java de l'application à compiler.
Exemple sous Windows :C:\> javac -cp chemin_liberty\wlp\dev\api\spec\com.ibm.ws.javaee.servlet.3.0_1.0.1.jar chemin_app\HelloWorld.java
Exemple sous Linux :Si la commande javac n'est pas reconnue, vérifiez que le répertoire bin Java figure dans la variable d'environnement PATH de votre système d'exploitation.mo@machine01:~> javac -cp chemin_liberty/wlp/dev/api/spec/com.ibm.ws.javaee.servlet.3.0_1.0.1.jar chemin_app/HelloWorld.java
- Ajoutez l'application au serveur. Dans cet exemple, l'application JDBC est placée dans le répertoire dropins du serveur :
...\dropins\HelloWorldApp.war\WEB-INF\classes\wasdev\HelloWorld
Le répertoire wasdev utilise le nom de package qui est utilisé dans HelloWorld.java.
- Vérifiez que votre application JDBC fonctionne. Pour cet exemple, accédez à l'adresse URL suivante :
http://localhost:9080/HelloWorldApp/HelloWorld
Le port 9080 est le port HTTP par défaut qui est utilisé par le serveur Liberty. Vous pouvez vérifier le port HTTP défini pour votre serveur en consultant le fichier server.xml.
La sortie dans le navigateur pour cet exemple ressemble à la suivante :
Hello World Liberty Profile The county for myHomeCity is myHomeCounty

Dispositions pour les centres de documentation | Commentaires

http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_dep_jdbc
Nom du fichier : twlp_dep_jdbc.html