Creando y configurando un data source a mysql en glassfish4
Transcript of Creando y configurando un data source a mysql en glassfish4
Creando y configurando un DataSource a MySQL en GlassFish4
Ir al directorio lib de glassfish ( para este caso glassfish4 el directorio esta en C:\\ glassfish4\ glassfish\lib), pegar el driver JDBC (en este ejemplo Mysql), luego reiniciar glassfish para que reconozca el nuevo driver
Creando y configurando un DataSource a MySQL en GlassFish4
Pool Name = nombre que asignaremos a nuestra conexión
Resource Type= javax.sql.ConnectionPoolDataSource
Dababase Vendor= la BD a conectar,
luego next
Creando y configurando un DataSource a MySQL en GlassFish4
A continuación se desplegaran opciones de configuración
Nos vamos al final y llenamos las siguientes opciones
User= userBD
ServerName= ip o nombre del servidor donde se encuentra la BD
DataBaseName= Nombre de la BD
Password= password del usuario
Url= url jdbc (jdbc:mysql://3306/NOMBREBD)
URL= url jdbc(jdbc:mysql://3306/NOMBREBD)
Luego presionamos finish
Creando y configurando un DataSource a MySQL en GlassFish4
Ingresamos al pool creado para ver si llegamos a la BD
Realizamos ping, si todo esta ok nos dirá que la conexión fue exitosa
Creando y configurando un DataSource a MySQL en GlassFish4
Creamos un nombre (JNDI) para nuestro pool de conexión
Creamos un nombre para nuestra conexión
JNDI Name= un nombre cualquiera
Pool Name= seleccionamos nuestro pool de conexión
Description = una descripción cualquiera
Finalmente presionamos OK
Creando y configurando un DataSource a MySQL en GlassFish4
Y podemos ver nuestro JDNI el cual tienen asociado nuestro pool de conexión bajo el nombre JNDI/MYSQL
Para llamar nuestra conexión debemos agregar a nuestra clase conexión la siguiente sentencia
Context ctx = new InitialContext(); //nombre del jndi creado en glassfish
DataSource ds = (DataSource) ctx.lookup("JNDI/MYSQL");Connection con = ds.getConnection();
Ejemplo completo
JSP (index.jsp)
---------------------------------------
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Insert title here</title></head><body>
<form method="post" id="frm1" action="Conexion"><input type="text" id="ID" name="ID"><input type="submit" value="Buscar" name="presiona"> </form>
</body></html>
Clase (ImplementaBD.java)
Creando y configurando un DataSource a MySQL en GlassFish4
---------------------------------------
package or.clases.bd;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import javax.naming.InitialContext;import com.sun.appserv.jdbc.DataSource;import javax.naming.Context;public class ImplementaBD {
public void conexionBD(int id){
try{
/* INI-obtengo la conexion por jndi (JNDI/MYSQL) entregado por glassfish*/
Context ctx = new InitialContext();DataSource ds = (DataSource) ctx.lookup("JNDI/MYSQL");Connection con = ds.getConnection();
/*FIN-obtengo la conexion por jndi (JNDI/MYSQL) entregado por glassfish*/
/* Consulta jdbc normal */String consulta=" select * from usuarios where id=? ";PreparedStatement ps=con.prepareStatement(consulta);ps.setInt(1,id);ResultSet rs = ps.executeQuery();
while (rs.next()){
System.out.println (rs.getInt ("Id") + " |" + rs.getString (2)+"| " + rs.getString(3));
}rs.close();con.close();
/* Consulta jdbc normal */}catch(Exception ex){
System.out.print("error "+ex);
}}
}
Servlet (Conexion.java)
Creando y configurando un DataSource a MySQL en GlassFish4
---------------------------------------
package or.servlet.conecta;
import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import or.clases.bd.ImplementaBD;
@WebServlet("/Conexion")public class Conexion extends HttpServlet {
private static final long serialVersionUID = 1L;public Conexion() {
super();}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
ImplementaBD imbd=new ImplementaBD();
try{
int id=Integer.parseInt(request.getParameter("ID"));imbd.conexionBD(id);
}catch(Exception ex){
System.out.print("error "+ex);}
PrintWriter pagina;pagina = response.getWriter();pagina.println("<HTML>");pagina.println("Conectando a BD...");pagina.println("</HTML>");pagina.close();
}}
Resultado
Creando y configurando un DataSource a MySQL en GlassFish4
Fuentes:
http://www.albeesonline.com/blog/2008/08/06/creating-and-configuring-a-mysql-datasource-in-glassfish-application-server/