Acceso de un Java Beans a una Base de Datos Oracle mediante un JSP

Enterprise Java Beans (EJB) es una plataforma para construir aplicaciones de negocio portables, reutilizables y escalables usando el lenguaje de programación Java.
Todo EJB está compuesto por dos capas:
- Capa Interfaz, indica a las clases que consuman los métodos y características del EJB.
- Capa Implementación es una clase que implementa la capa de Interfaz.


EJEMPLO:
 
1.Dibujaremos un control HTML Select que mantendrá el elemento seleccionado cuando enviemos una petición al
  servidor.
2.Creaamos un nuevo proyecto Web Application llamado ProyectoJSPJavaBeans y utilizaremos el servidor GlassFish
3.Sobre las librerías vamos a agregar el conector JAR para Oracle
4.Creamos una clase Java que será la que dibujará los elementos en el Select y los mantendrá seleccionados
  y la llamaremos BeanDesplegable y crearemos un paquete llamado paquetebeans:
package paquetebeans;
import java.sql.*;
public class BeanDesplegable {
    Connection cn = null;
    java.sql.Statement st = null;
    final String usuario = "system";
    final String password = "12345";
    final String cadenaconexion = "jdbc:oracle:thin:@localhost:1521:XE";
    public BeanDesplegable () {

    }
    public void conectar() throws SQLException, Exception
    {
        try
            {
                 // 1.- Cargamos el driver
                 DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
                // 2.- Nos conectamos, paso el nombre de la conexion, usuario y contraseña.
                this.cn = DriverManager.getConnection(cadenaconexion, usuario, password);
            } catch (SQLException e)
            {
                System.out.println(e.toString());
            }
    }

    public ResultSet crearResultSet(String consulta) throws Exception
    {
        ResultSet rs = null;
        st = cn.createStatement();
        rs = st.executeQuery(consulta);
        return rs;
    }

    public String cargarCombo(ResultSet rs, String nombreselect, String valorseleccionado)
    {
        String combo;
        try
        {
            combo = "<select name='"+nombreselect+"'>";
            while (rs.next())
            {
                if (rs.getString(1).equals(valorseleccionado))
                {
                    combo+="<option SELECTED ";
                }else{
                    combo+="<option ";
                }
                combo+="value='"+rs.getString(1)+"'>";
                combo+=rs.getString(2);
                combo+="</option>";
            }
            combo += "</select>";
            return combo;
        } catch (SQLException ex) {
            return ex.toString();
        }
    }
}
5.Utilizamos la página index.jsp del proyecto para poder realizar la llamada al Bean y mostrar los datos de
  los departamentos.
<%@page import="java.sql.ResultSet"%>
<%@page contentType="text/HTML" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
<jsp:useBean id="practica" scope="session" class="paquetebeans.BeanDesplegable "/>
<HTML>
    <head>
        <meta http-equiv="Content-Type" content="text/HTML; charset=UTF-8">
        <title>Cargar Desplegable</title>
    </head>
    <body>
        <form name="form1" action="index.jsp" method="post">
            Seleccione un departamento:
          <%
          practica.conectar();
          ResultSet rs =practica.crearResultSet("SELECT DEPTNO,DNAME FROM DEPT");
          String combo;
          String etiqueta="";
          if (request.getParameter("cmbdept")!=null)
          {
                String dept = request.getParameter("cmbdept");
                combo = practica.cargarCombo(rs, "cmbdept", dept);
                etiqueta = "<div>Elemento seleccionado:"+dept+"</div>";
          }else{
                combo = practica.cargarCombo(rs, "cmbdept", "");
          }

          %>
          <%=combo%>
          <input type="submit" value="Enviar formulario">
          <%=etiqueta%>
        </form>
    </body>
</HTML>

No hay comentarios:

Publicar un comentario