El documento explica los pasos para crear y configurar una conexión a una base de datos MySQL en GlassFish. Primero, se debe copiar el driver JDBC de MySQL en el directorio lib de GlassFish y reiniciar el servidor. Luego, se crea un DataSource en GlassFish con la configuración de la base de datos como el nombre, usuario, servidor y URL. Finalmente, se crea un nombre JNDI para acceder a la conexión desde las aplicaciones Java mediante el uso del contexto inicial.
Creando y configurando un data source a mysql en glassfish4
1. 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 glassfishlib), pegar el driver JDBC (en este ejemplo Mysql), luego reiniciar
glassfish para que reconozca el nuevo driver
2. 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
3. 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
4. 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
5. 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
6. 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>
7. Creando y configurando un DataSource a MySQL en GlassFish4
Clase (ImplementaBD.java)
---------------------------------------
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);
}
}
}
8. Creando y configurando un DataSource a MySQL en GlassFish4
Servlet (Conexion.java)
---------------------------------------
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();
}
}
9. Creando y configurando un DataSource a MySQL en GlassFish4
Resultado
Fuentes:
http://www.albeesonline.com/blog/2008/08/06/creating-and-configuring-a-mysql-datasource-in-glassfish-
application-server/