Como crear un “Pool de Conexiones” en NetBeans 6.0 usando Java Server Faces (JSF) y MySQL
En este tutoríal vamos ha mostrar como realizar un POOL de conexiones para tener centralizada nuestra conexión a una base de datos MySQL, hay que tener en cuenta que este proceso se realiza totalmente igual si queremos conectarnos a ORACLE o a cualquier otra base de datos, esto nos evitara hacer una conexión nueva cada vez que queramos hacer una consulta nueva a la base.
Antes de empezar vamos a utilizar las siguientes herramientas:
- NetBeans 6.0
- MySQL
Vamos a tener creada previamente en MySQL una base de datos llamada “prueba” y dentro de ella una tabla llamada “roles” con dos columnas con las filas de datos que usted prefiera ingresarle a esta tabla, este detalle pasa por cuenta de la persona que sigue este tutorial.
¿Pero qué es un Connection Pool o Pool de conexiones?
Un JDBC connection pool es un grupo de conexiones reutilizables que el servidor de la aplicación mantiene para una base de datos en particular. Cuando una aplicación cierra una conexión, regresa a la piscina. Las conexiones agrupadas reducen el tiempo de la transacción al conectarse a una base de datos por medio de compartir el objeto de acceso a la conexión a la base de datos, esto a su vez evita una nueva conexión física o crear cada vez una conexión nueva.
Al ejecutar esto es lo que pasa cuando una aplicación se conecta a la base de datos.
1. Lookup JNDI nombre de los recursos de JDBC. Para conectar a una base de datos, la aplicación busca el JNDI nombre del recurso de JDBC (Data Source) asociado con la base de datos. El API de JNDI permite a la aplicación localizar el recurso de JDBC.
2. Localizar el JDBC connection pool. El recurso de JDBC especifica qué piscina de conexiones va a usar. La piscina define los atributos de conexión como la base de datos nombre (el URL), nombre del usuario, y contraseña.
3. Recupere la conexión del connection pool. El servidor de la aplicación recupera una conexión física de la piscina de conexiones que corresponde a la base de datos. Ahora que la aplicación esta conectada a la base de datos, la aplicación puede leer, modificar y agregar los datos a la base de datos. Las aplicaciones acceden la base de datos haciendo las llamadas al API de JDBC.
4. Cerrado de la conexión. Cuando el acceso a la base de datos a terminado, la aplicación cierra la conexión. El servidor de la aplicación devuelve la conexión a la piscina de conexión. Una vez regresada a la piscina, la conexión está disponible para una próxima aplicación.
Nombre JNDI. Cada recurso tiene un único nombre de JNDI que especifica su nombre y situación. Porque todo el recurso que los nombres de JNDI están en el contexto del java:comp/env, los nombres JNDI de un recurso de JDBC se espera en el contexto del java:comp/env/jdbc.
Creación de un Nuevo Proyecto JSF en NetBeans 6.0
Como primer paso vamos a crear un nuevo proyecto de JSF, vamos a file -> New Poyect -> Web -> Web Application -> y clic en Next
Le ponemos un nombre en este caso le vamos a poner “PoolConnection” y luego clic en Next
Elegimos el Framework que vamos a utilizar “Visual Web JavaServer Faces” y no cambiamos nada más, clic en Finish.
Una vez dentro de la parte de diseño de NetBeans vamos a arrastrar de la paleta un botón “Button” el cual va a ser el que nos conecte con la base MySQL y le vamos a poner de nombre conectar… Con esto realizado vamos a pasar a preparar la conexión a la base con la que vamos a trabajar.
Creación del Conector para la Base de Datos
Primero tenemos que ir a la parte de servicios (Ctrl + 5) en NetBeans y en Databases damos un clic derecho y ponemos en la opción de New Connection…
En la ventana de New Database Connection vamos a poner lo siguiente:
Name: MySQL (Connector/J driver)
Driver: com.mysql.jdbc.Driver
Database URL: jdbc:mysql://localhost:3306/prueba
En esta parte ponemos el host donde va a correr la aplicación que va a ser en “localhost”, al poner el puerto debemos tener cuidado porque el puerto 3306 es el puerto por defecto de MySQL, pero debemos ponerle el puerto que le pusimos en la instalación de MySQL si por si acaso lo cambiamos, y ponemos el nombre de la base a la que queremos tener acceso que en este caso va a ser “prueba”…
Por ultimo ponemos el User y el Password con el cual entramos a MySQL… Si queremos que recuerde NetBeans el Password le ponemos Remember Password caso contrario no (No es recomendable hacerlo por problemas de seguridad) y terminamos presionando OK.
Nos aparecerá una nueva base en el recuadro de Servicios, podremos conectarnos a ella y revisar los datos.
Creación del Pool de Conexiones para nuestro proyecto.
Lo que vamos a hacer primero es ir a File –> New File o directamente (Ctrl + n), en la ventana de New File, en Project escogemos el proyecto con el que estamos trabajando en nuestro caso “PoolConnection”, en el lado izquierdo en Categories vamos a escoger “GlassFish” y al lado derecho en File Types vamos a escoger la primera opción que es “JDBC Connection Pool” y clic en Next.
En la siguiente ventana nos pide como campo obligatorio o requerido un nombre para el pool de conexiones, le podemos dejar el que nos pone por defecto o simplemente lo cambiamos, nosotros lo vamos a dejar por defecto.
En el siguiente casillero de Extract from Existing Connection escogemos el conector que realizamos anteriormente para nuestra base de datos, y damos clic en Next.
En la siguiente ventana nos aparece Datasource Classname con un nombre bastante largo, este esta determinado por la conexión seleccionada anteriormente, nosotros lo vamos a dejar por defecto, le vamos a poner una descripción, en la tabla de propiedades podemos revisar los datos de ingreso a la base, para comprobar que estén correctos y terminamos dándole un clic en Next. (Si deseamos modificar las propiedades por defecto de la conexión, nosotros podemos cambiarlas luego editando el archivo sun-resources.xml, que se encuentra en la carpeta Server Resources de nuestro proyecto).
En la última Ventana que nos aparece con muchos campos todos los dejamos por defecto y ponemos un clic en Finish, con esto ya tenemos realizado nuestro pool de conexiones…
Acceder al Connection Pool desde una clase de Java
A través de este proceso podremos obtener un DataSource.
Lo primero que tenemos que hacer es crear el acceso a la base, vamos al código de la aplicación desde la cual queremos acceder a la base de datos, hacemos un clic derecho en el editor à escogemos Enterprise Resources à Use Database
Nos aparece la ventana para escoger la base de datos, hacemos un clic en Add, nos aparecerá una nueva ventana para configurar el Data Source, le ponemos un Nombre de Referencia en este caso le vamos a poner “conBasePrueba”, luego escogemos el Project Data Source como no tenemos creado un data source anterior, le ponemos clic en Add y se nos vuelve a abrir una nueva ventana, Create Data Source en el JNDI Name le ponemos el mismo nombre anterior “conBasePrueba” y elegimos el conector de la base a la que vamos a acceder, finalmente damos un clic en OK…
Regresamos a la ventana anterior y ya se nos carga el nombre de DataSource que ingresamos y creamos anteriormente y damos un clic en OK para confirmar…
Finalmente regresamos a la ventana de Choose DataBase ya se nos cargara la referencia a la base de datos y confirmamos haciendo un clic en OK…
Con este último paso estamos listos para realizar una prueba de conexión desde el código…
Probemos nuestro Pool con una conexión rápida.
Vamos hacer una prueba rápida de conexión y vamos a visualizar por consola nuestro resultado, regresaremos a nuestra interfaz de Diseño de NetBeans y vamos a hacer doble clic en el botón que colocamos al inicio de este tutorial, nuestro proyecto se ve más o menos así ahora.
Una vez hecho doble clic en el botón, esta acción nos lleva al código de la aplicación, directamente al método del botón button1_action() el cual lo vamos a programar en este momento para hacer la conexión nuestro código debería quedar así.
public String button1_action() {
Connection con = null;
try {
InitialContext ic = new InitialContext();
//en esta parte es donde ponemos el Nombre
//de JNDI para que traiga el datasource
DataSource ds = (DataSource) ic.lookup("java:comp/env/conBasePrueba");
con = ds.getConnection();
Statement st = con.createStatement();
System.out.println("Se ha realizado con exito la conexión a MySQL");
//el resultSet es el encargado de traer los datos de la consulta
ResultSet rs = st.executeQuery("select * from roles");
while(rs.next()){
System.out.println(" "+rs.getString(1)+" "+rs.getString(2));
}
}catch (SQLException ex) {
Logger.getLogger( Page1.class.getName() ).log(Level.SEVERE, null, ex);
}catch (NamingException ex) {
Logger.getLogger( Page1.class.getName() ).log(Level.SEVERE, null, ex);
}finally {
try {
con.close();
System.out.println("Conexion Cerrada con Exito...");
}catch (SQLException ex) {
Logger.getLogger( Page1.class.getName() ).log(Level.SEVERE, null, ex);
}
}
}
Tenemos en nuestra base una tabla llamada “roles” la cual tiene 2 columnas, en el resultSet se almacena los datos obtenidos de la consulta y mientras haya datos en él se lo puede ir descomponiendo en columnas, con un while lo podemos ir recorriendo hasta llegar a la última fila…
Se debe hacer estas importaciones para que la aplicación pueda funcionar sin ningún problema aparte de las que ya aparecen al crear el nuevo proyecto.
import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.logging.Level; import java.util.logging.Logger; import javax.annotation.Resource; import javax.faces.FacesException; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.sql.DataSource;
Tutorial creado por:
christmo






















Viejo buenisima la explicacion esta muy completo gracias me sirvio mucho
como hago para consultar un dato que esta en la base de datos en msql desde netbeans
bueno tu codigo me funciono 100 puntos, gracias por la gran ayuda
Estimado
Para empezar, muy buena pagina, pero necesito ayuda sobre de armar una mini aplicacion de registros de datos en netbeans.
Ahhh, otra cosita, si puedes, tienes algun manual para desarrollar aplicaciones en .NET
Gracias y saludos
test
probe hacer el pool de conexiones con estos pasos pero no me funciono. lo unico diferente que hice es que en la parte en donde se crea el JDBC Connection Pool en el paso Add Connection Pool Properties no me aparece un Datasource ClassName po r defecto asi que puse uno cualesquiera de resto todo esta igual…pero no me funciona……alguien me podria ayudar? Gracias.
hola andrea
Sabes con este post siguiendo los pasos que he detallado aquí te puedes conectar a MySQL desde NetBeans, te recomiendo seguirlo al pie de la letra para que puedas notar los resultados…
Si el problema es la base puedes utilizar la que viene por defecto en netBeans se llama example con ella puedes practicar solo que te tocará cambiar la consulta…
Hola shirley
Sabes no tengo manuales de .NET, pero te puedo recomendar una página muy buena se llama http://www.mygnet.net allí podras encontrar manuales de la clase que tu quieras…
Con respecto a tu aplicación dime que tienes pensado hacer, para ver que solución te podria dar, o en que te podría ayudar, con todo cualquier cosa me avisas.
Pido perdon a todos por no haber respondido pronto…
saludos….
Hola sergio
La verdad no se porque no te sale Datasource ClassName por defecto, siempre sale, te recomiendo hacerlo de nuevo, por allí algún detalle se te paso, con todo voy a revisar para ver porque puede suceder esto, y si tu lo solucionas te agradecerias que nos hagas saber para todos no tener ese problema…..
Saludos….
Otra vez pido perdon por no haber contestado antes, les prometo que no va ha volver a pasar….
Saludos
Christmo…
está bien util el tutorial . gracias
hola soy nueva en java y deseo aprender a crear una aplicacion co jsf y netbeans por tienes algun manual que me indique graficamente y paso a paso como crear, mas que todo necesito saber bien como trabaja netbeans me ayudarian muchisimo por que estoy algo confundida .
Hola Rosy
La verdad no tengo manuales de JSF pero te recomiendo la página de NetBeans.org para que te puedas familiarizar con el IDE, tiene muchos ejemplos bien explicados del trabajo con JSF y desarrollo de aplicaciones WEB…
Saludos
Hola amigos les recomiendo si quieren aprender java que lean este libro, ahora esta en la página de google books pero si buscan bien por alli lo pueden descargar, es muy bueno, espero que lo lean:
http://books.google.com/books?id=tR7k9ga5CjoC&printsec=frontcover&hl=es&sig=1dogV3YrvtklTx3i7MJ40VebYY8#PPR24,M1
hola cristian,
primera vez que entro a tu blog,
me parece que la explicación esta buena, se entendió. No había escuchado de esto para NetBeans. Había trabajado con .NET para este tipo de conexiones de base de datos. Es bueno saberlo….
saludos.
NATALIA
Hola NATALIA…
Muchas gracias por tu comentario, me motivas mucho a seguir trabajando….
Saludos
Hola Cristhian
Está muy interesante el tutorial, es bueno conocer sobre este tipo de conexiones que se pueden realizar.
Saludos.
Hola Christian esta bien buena tu explicacion chevere se entiende bien gracia..
Es muy interesante lo voy a aplicar
Gracias viejo, creeme que esto le sirve a novatos y experimentados por igual, nunca en mi vida me habia tocado hacer una conexion a mano, todo era reusable y siempre andba metido en el core de negocio y de transaccionalidad y esto del netbeans tambien es nuevo para mi..
bueno disculpen pero no puedo dejar de decir…. LARGA VIDA A ECLIPSE!!
Muy Interesante la explicacion, me imagino que funciona, yo ya he probado el pool de conexiones en netbeans 6.1 y funciona sin novedad, con la unica salvedad que lo he hecho a mano, o sea he configurado todo via xml directamente en los archivos en dodne se guardan esos datos, falta resaltar que una vez que tengamos todo funcionando localmente como hacemos para llevarlo a la web, dependiendo del servidor que estemos utilizando , hay que hacer cambio tambien en los archivos de configuracion del lado de Tomcat o Glasffi y reiniciar el servidor.
Estimado, muy buen tutorial, aquí en mi blog propongo otra forma un tanto mas generica para utilizar un Connection Pool.
http://felipe.redsoft.cl/?p=23
Espero les sirva
Por cierto en parte tome tu post
y como creoo una consulta .. q va ser llebada a unas tablas ??
Hola Sandry:
ResultSet rs = st.executeQuery(“select * from roles”);
while(rs.next()){
System.out.println(” “+rs.getString(1)+” “+rs.getString(2));
}
en esta parte es donde se hace la consulta y se extrae los datos de la tabla de la base de datos, esta parte la puedes poner en un método y retornar un vector o un ArrayList de objetos de algún tipo que hayas creado para tu aplicación(e.j. Usuarios, Clientes, etc), luego este te servirá para hacerle un Binding a la tabla en la que quieras presentar los datos, esta es una solución, pero si buscas un poco más puedes crearte un DATA PROVIDER, que es mucho más fácil y optimo para la presentación de datos…
Espero que te sirva y si tienes alguna pregunta no dudes en realizarla…
saludos…
@Jose Luis Reyes
Hola amigo me parece interesante que lo hayas echo a mano todo, pero Netbeans 6.1 presta la facilidad de que se te configura todo, tu únicamente tienes que empezar a utilizar los datos en tu aplicación no tienes el trabajo de estar haciendo ninguna configuración a los servidores web.
Interesante tu aporte…
Saludos
ME SALIO MUY BIEN LA CONEXION SOLO QUE LO LOGRE REALIZAR DE MANERA DISTRIBUIDO CON ORACLE NO TENDRAS ALGUN MANUAL O TUTORIAL QUE ME PUEDAS RECOMENDAR SOBRE JSF PARA PODER CONVERTIR MIS CONSULTAS A PDF Y PODER IMPRIMIR Y TAMBIEN SOBRE VALIDACIONES COMO LO PODRIA REALIZAR EN JSF..!!!
EXELENTE POR TU APORTE AMIGO …!!!
OTRA DUDA MAS YO LO LOGRE REALIZAR SOBRE LINUX PERO COMO SOY NUEVO EN JSF MI DUDA ES QUE SI PUEDE CORRER EN XP DE IGUAL FORMA DE CON LINUX ESPERARE UNA RESPUESTA …
HASTA PRONTO!!!!
Hola Luis…
Sabes que si esto te funciona desde XP también, en realidad este tutorial esta realizado en XP, me alegra te te haya salido, con respecto a tu pregunta anterior puedes generar Reportes de tus consultas con una librería llamada JasperReport, es muy buena ya que puedes exportar a varios formatos como XLS, CSV, PDF, etc, no solo a PDF, aunque PDF es el más fácil y seguro!!!
Aquí tienes un buen tutorial de como generar este tipo de reportes, espero que te sirvan…
JasperReport
http://www.jaspersoft.com/JasperSoft_JasperReports.html
Tutorial:
http://www.crysfel.com/index.php/2008/01/14/generar-reporte-desde-una-base-de-datos-en-jasperreport/
Más:
http://tutorialdeireport.awardspace.com/
Saludos…
christmo
Hola, no pude echar crear un pool dem conexiones seún tus pasos, no se si me podrías regalar tu ejemplo y mandarmelo a mi correo. Gracias
hola que bien que hay personas dispuestas a ayudar!!!!!!!! bueno el tutorial esta excelente tengo una pregunta!!!!!!! dices que no es igual para otra base de datos diferente,,,,,, de pura casualidad no sabes como se hace para conectar jsf con sqlserver 2005?? es que soy nuevo en esto de jsf y pues quiero empezar con el manejo de datos si tienes algun manual agradeceria infinitamente tu ayuda mil gracias!!!!!!!
Hola CoRt…
Sabes la verdad nunca he trabajado con sqlserver, pero si logras encontrar una librería que le puedas adaptar a java, no se si exista, debería ser el mismo procedimiento, yo lo probé con una base MySQL y una de ORACLE y funciona de maravilla, pero como netBeans no trae incorporada la librería para trabajar con Oracle hay que bajarla, no se si Micro$oft permita hacer esto…
Te recomiendo migrar tus bases a MySQL, es bastante fuerte en la gestión de base de datos y lo mejor es que es gratuito….
Saludos….
Soy nuevo en java, lo que estoy tratando de hacer es instalar apache roller en un ubuntu server con glassfish ya tengo todo instalado menos la aplicacion, mi pregunta es necesito un POOL DE CONEXIONES o solo hago deploy de la aplicación en la consola de glassfish. no se si me expliqué bien, de todas maneras muchas gracias.
Hola!
Muchas gracias por el tutorial, me sirvió mucho, de hecho lo voy a utilizar dentro de mi trabajo de grado. Estudio Ingenieria en Sistemas en la Universidad de Caldas (Manizales).
Tengo una pregunta, no se si usted tenga la respuesta. Necesito filtrar datos de un dataprovider, de acuerdo al “código” ingresado por el usuario en un TextField. He probado varias cosas, pero no logro que me funcione y la información de internet no es mucha en este aspecto.
Gracias por todo.
Amigos excelente ejemplo, yo trabajo con SQL Server me pueden apoyar con un ejemplo como este
oye una preguntota para agregar el pool de conexion con el manejador oracle como lo agrego a la lista
Lo primero que tienes que hacer @jesus es crear la conexión en services en la pestaña de Netbeans como aparece en el tema “Creación del Conector para la Base de Datos”, con eso ya vas a tener acceso a tu base de datos de ORACLE y a ella le vas a poder crear un pool de conexiones como explica este tutorial espero que te sirva!!!..
saludos!!!
Hola
Tu manual funcionó correctamente,
Traté de aplicarlo para conectarme a una base de datos Postgres y no funciona, marca un error cuando trata conseguir la conexion . Que puede hacer falta para trabajarlo con postgres?
Hay alguien que haya hecho la prueba?
Agradeceria informacion al respecto.
Saludos.
hola , Soy nueva en el manejo de paginas jsp tengo una duda te agradeceria que me respondieras y me recomendaras un tutorial ,ese es el problema a resolver cuando se acceda a la pagina principal de jsp debo sacar los datos de la base de datos y cargar segun los datos y las imagenes correspondientes en otra pagina.
Hola @estrella
Sabes para que puedas pasar datos de una pagína jsp a otra tienes que pasar los datos primero por la clase “SesionBeam.java” con ello las guardas en sesión y las vas a poder recuperar desde cualquier formulario que necesite esos datos…
Saludos…
hola , disculpa que te moleste de nuevo se puede acceder a la base de datos por ejemplo
mysql desde una pagina web utilizando jsp,te agradeceria que me respondas y me recomendaras
algun tuturial.
una consulta , no se si hayas trabajado con servicios web ,pero si trabajaste no te salio el erroe al crear el servicio web cliente?? como este >
problem with downloading wsdl or schema file
check tge URLm proxy setting or whetter the server is running
“http://localhost:8084/web_se/pruaba_Webservice?wdsl”
si te salio este error como lo solucionaste , te agradeceria que me respondieras.
Hola, una consulta. nose si te hayas cruzado con problemas de paginas JSF no levantan en Firefox 3.x pero si corren sin problemas en Firefox 2.x .
Los errores que salen es el siguiente:
Error: webui.suntheme4_2.widget is undefined. en la consola de error del Firefox. Es decir los controles no se visualizan… correctamente. Por ejemplo una tabla se queda a la mitad de cargar…
Tienes alguna idea de como solucionar este problema..
hola, muchas gracias por el aporte, es muy bueno y esta de maravilla.
No me podrias recomendar algun tutorial para trabajar con ejbs cmp y conexiones a base de datos
Hola a todos, tengo mi proyecto web ya por publicarlo al internet, la base de datos esta hecho en postgres, todo la aplicaciones esta hecho en jsp, servlet, java bean, he usado estrategias de comunicacion por capas dividiendo los datos, el negocio y la presentacion pero al querer implementar el pool de conexiones q esta de maravilla me hace perder mi encapsulamiento de mis conexiones, mi conexion la hago des un proyecto aparte un jar y no me sale la parte Enterprise Resources.. solo lo he podido hacer desde un servlet q inicia la aplicacion pero hasta ahi me quede, sino tendre q hacerlo de manera configurativa por xml como otro amigo del foro q he leido
gracias tus consejos son bien venidos..
Hola, de nuevo, he creado un paquete a parte de mis servlets y he creado una clase para la conexion del pool de conexiones he variado la logica de mi proyecto para el pool de conexiones pero cuando depuro el proyecto este se queda en este linea: “…jdbcnombreDatasource().getConection();” y vota este error: “java.sql.SQLException: Error al asignar una conexion no se pudo asignar porque: FATAL: no existe la base de datos ⁕null⁕”
He seguido todos los pasos he creado el poolConection y el Datasource pero no logro hacer la conexion a postgres es como si faltara algo el jdbc de mi driver es la version 3 la q maneja netbeans ayuda por favor. gracias de antemano.
Hola Christmo,
Cual seria la diferencia de hacerlo asi o mendiante un Web Services la conexion a BD? estoy usando Mysql y quisiera saber tu punto de vista ya que representaria un cambio importante en mi perspectiva de programacion.
Gracias y felicidades por tu manual…!
Consulta: no aparece tampoco la opcion de enterprises resoruces. Estoy haciendo una conexion con SQL Server 205. Alguna idea?
como podria realizar la conexion a oracle ?? te agradeceria que respondiaras
Hola @estrella
Solo debes cambiar el controlador, yo aquí lo hice con MySQL, tu te debes bajar la librería ojdbc14.jar y añadirle a los drivers de netbeans de la base de datos y de allí todo el procedimiento es el mismo!!!
Saludos
Christmo
hola este tutorial esta muy bueno pero hay dos lines que me confunden (no quiero tragar entero XD!!!):
InitialContext ic = new InitialContext();
DataSource ds = (DataSource) ic.lookup(“java:comp/env/conBasePrueba”);
porfavor diganme que hacen en espesifico cada linea porfavor!!!!
(depronto para algunas es una pregunta obia pero XD yo apenas empieso en esto!!!)
espero sus respuestas!!!!
maravilloso tutorial.. muchas gracias!!
solo qiero agregar que en la version Netbeans 6.5, en el paso a la hora de crear el DataSource (en la parte: Acceder al Connection Pool desde una clase de Java), en el manual dice que hay qe ir al codigo y luego hacemos un clic derecho en el editor y escogemos Enterprise Resources luego Use Database….
en el netbeans 6.5 a la hora de intentar esto, el menu enterprice resources no se encuentra (en mi caso ), asi que en su lugar habra qe ir a la opcion Insert Code… (o Alt + Insertar) y ahi es donde la opcion Use Database se encuentra.. lo demas es exactamente lo mismo.
espero le sirva de ayuda a alguien.. bueno.. feliz dia =)
christmo tengo el problema que no me aparece la opcion Enterprise Resources, a que se debe, estoy trabajando con la version 6.5.
Gracias
hola daniel te ruego que revises el comentario anterior al tuyo el de @n_n allí nos dice como ha podido solucionar este problema que en el cambio de versión ya no tenemos el nterprise Resources.
Gracias a n_n por aportar con nosotros al conocimiento colectivo…
saludos
christmo
hola Christmo. bueno lo de tu blog.. pero mira que hago todo paso a paso bn hechesito.. y me carga la paginita con el boton… pero cuando doy en el boton.. me sale error…
HTTP Status 500 -
type Status report
message
descriptionThe server encountered an internal error () that prevented it from fulfilling this request.
Sun Java System Application Server 9.1_01
y no se que haces.. le he dado vueltas y nada.. agradezco la rta… saludos desde Colombia..