1.Creamos una Enterprise Aplication con modulo EJB y WAR
2.Sobre la libreria EJB agregamos la libreria JAR de Oracle para el acceso a la base de datos
3.Sobre el proyecto EJB boton derecho y creamos un SessionBean indicando que es Remote y Stateless
3.Nos vamos a la carpeta EnterpriseBeans y en la sesion bean creada pulsamos sobre Add y sobre BusinessMethod
y lo llamamos getEmpleadosDepartamento con ReturnType java.lang.String y en Parameters recibe un
departamento que sera un int
4.La clase nos quedara de la siguiente manera para que vuelva a ser recuperada:
@Stateless
public class SessionBeanBuscadorEmpleados implements SessionBeanBuscadorEmpleadosRemote {
@Override
public String getEmpleadosDepartamento(int departamento) {
try{
//Agregamos la variable tabla donde se veran todos los elementos a buscar
String tabla = "";
//Creamos los accesos a la base de datos
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","system", "123456");
PreparedStatement st = conn.prepareStatement("SELECT NOMBRE, APELLIDOS, ID FROM EMPLEADOS WHERE ID="+departamento+"%");
st.setInt(1, departamento);
ResultSet rs = st.executeQuery();
tabla = "<table border='1'>";
while(rs.next()){
tabla += "<tr>";
tabla += "<td>"+rs.getString(1)+"</td>";
tabla += "<td>"+rs.getString(2)+"</td>";
tabla += "<td>"+rs.getString(3)+"</td>";
tabla += "</tr>";
}
tabla += "</table>";
return tabla;
} catch (SQLException ex) {
return "Error "+ex.toString();
}
}
}
5.Nos vamos al proyecto WAR y creamos un Servlet que llamara al EJB llamado ServletBuscadorEmpleados
6.Pulsamos boton derecho sobre el codigo del Servlet dentro del try y hacemos una llamada al EJB
mediante InsertCode >> Call Enterprise Bean y seleccionamos nuestro Session bean dentro del EJB
7.El Servlet nos quedará:
@WebServlet(name = "ServletBuscadorEmpleados", urlPatterns = {"/ServletBuscadorEmpleados"})
public class ServletBuscadorEmpleados extends HttpServlet {
@EJB
private SessionBeanBuscadorEmpleadosRemote sessionBeanBuscadorEmpleados;
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
try (PrintWriter out = response.getWriter()) {
/* TODO output your page here. You may use following sample code. */
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet ServletBuscadorEmpleados</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Tabla de Empleados:</h1>");
int numero = Integer.parseInt(request.getParameter("txtnumerodep"));
String tabla = sessionBeanBuscadorEmpleados.getEmpleadosDepartamento(numero);
out.println(tabla);
out.println("</body>");
No hay comentarios:
Publicar un comentario