Despliegue de una aplicación JDBC existente en el perfil Liberty
Puede tomar una aplicación existente que utiliza JDBC (Java™ Database Connectivity) y un origen de datos y desplegar la aplicación en un servidor.
Acerca de esta tarea
Puede tomar una aplicación JDBC existente y desplegarla en el perfil Liberty. Para completar este despliegue, añada la característica de Liberty jdbc-4.0 en el archivo server.xml. También debe añadir el código que indica al servidor la ubicación del controlador JDBC y especifica las propiedades que el controlador JDBC utiliza para conectarse a la base de datos.
En este ejemplo, puede ampliar la aplicación de servlet o utilizar la que se proporciona aquí para comprobar que la interactividad que se utiliza a través del controlador JDBC funciona según lo previsto.
Procedimiento
- Cree un servidor.
- Inicie el servidor.
- Añada las características de Liberty jdbc-4.0 y
servlet-3.0 al archivo server.xml.
<server> <featureManager> <feature>jdbc-4.0</feature> <feature>servlet-3.0</feature> </featureManager> </server>
Para comprobar que el servidor está funcionando y que las características se han habilitado correctamente, defina el archivo console.log, que se almacena en el directorio logs del servidor. Puede verlo utilizando cualquier editor de texto. Debería ver algo parecido a este ejemplo:
[AUDIT ] CWWKF0012I: El servidor ha instalado las características siguientes: [jdbc-4.0, jndi-1.0]. [AUDIT ] CWWKF0008I: La actualización de la características se ha completado en in 0,326 segundos.
- Especifique el tipo de base de datos y la ubicación del origen de datos en el archivo server.xml.
Donde vía_acceso_a_derby es la ubicación donde se ha instalado derby en su sistema operativo, lib es la carpeta donde se halla derby.jar y data/exampleDB es el directorio que se ha creado si no existía.
Por ejemplo:
Para obtener información sobre otras opciones para codificar las definiciones de origen de datos, consulte Utilización de las etiquetas Ref en los archivos de configuración.<jdbcDriver id="DerbyEmbedded" libraryRef="DerbyLib"/> <library id="DerbyLib"> <fileset dir="C:/vía_acceso_a_derby/lib" includes="derby.jar"/> </library> <dataSource id="ds1" jndiName="jdbc/exampleDS" jdbcDriverRef="DerbyEmbedded"> <properties.derby.embedded databaseName="C:/vía_acceso_a_derby/data/exampleDB" createDatabase="create" /> </dataSource>
- Añada algunas sentencias create, read, update y delete de SQL en su aplicación
JDBC para comprobar la interactividad con la base de datos.
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(); // crear una tabla stmt.executeUpdate("create table cities (name varchar(50) not null primary key, population int, county varchar(30))"); // insertar un registro de prueba stmt.executeUpdate("insert into cities values ('myHomeCity', 106769, 'myHomeCounty')"); // seleccionar un registro ResultSet result = stmt.executeQuery("select county from cities where name='myHomeCity'"); would result.next(); // mostrar información de la provincia de la ciudad. out.println("The county for myHomeCity is " + result.getString(1)); // descartar la tabla para limpiar y poder volver a ejecutar la prueba. stmt.executeUpdate("drop table cities"); } catch (SQLException e) { e.printStackTrace(); } finally { if (con != null){ try{ con.close(); } catch (SQLException e) { e.printStackTrace(); } } } } }
- Compile la aplicación.
Donde vía_acceso_a_liberty es la ubicación donde ha instalado Liberty en sus sistema operativo y vía_acceso_a_aplic es la ubicación del archivo Java de la aplicación que desea compilar.
Ejemplo en Windows:C:\> javac -cp vía_acceso_a_liberty\wlp\dev\api\spec\com.ibm.ws.javaee.servlet.3.0_1.0.1.jar vía_acceso_a_aplic\HelloWorld.java
Ejemplo en Linux:Si no se reconoce el mandato javac, asegúrese de que dispone del directorio bin de Java en la variable de entorno PATH del sistema operativo.mo@machine01:~> javac -cp vía_acceso_a_liberty/wlp/dev/api/spec/com.ibm.ws.javaee.servlet.3.0_1.0.1.jar vía_acceso_a_aplic/HelloWorld.java
- Añada la aplicación al servidor. En este ejemplo, la aplicación JDBC se coloca en el directorio dropins del servidor:
...\dropins\HelloWorldApp.war\WEB-INF\classes\wasdev\HelloWorld
El directorio wasdev utiliza el mismo nombre de paquete que se ha utilizado en HelloWorld.java.
- Compruebe que la aplicación JDBC esté funcionando. Para este ejemplo, vaya a esta URL:
http://localhost:9080/HelloWorldApp/HelloWorld
El puerto 9080 es el puerto HTTP predeterminado se utiliza el servidor Liberty. Puede comprobar en qué puerto HTTP se ha definido su servidor buscando en el archivo server.xml.
La salida en el navegador para este ejemplo es similar a la siguiente:
Hello World Liberty Profile La provincia de myHomeCity es myHomeCounty

Términos y condiciones para centros de información | Comentarios

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