Aplicacion Con Capas en Java Web II Parte
Aplicacion Con Capas en Java Web II Parte
Servlet LP2
Índice
A. Normativa ________________________________ ___________________ ¡Error! Marcador no definido.
A.1 Generalidades________________________________ ____________¡Error! Marcador no definido.
A.2 Informe Final debe contener ________________________________ _¡Error! Marcador no definido.
A.3 Para La calificación se tendrá en cuenta _______________________ ¡Error! Marcador no definido.
B. Especificaciones Generales ________________________________ _____________________________ 2
B.1 Arquitectura________________________________ ________________________________ ______2
B.2 Funcionalidades ________________________________ ________________________________ __2
B.3 Despliegue ________________________________ ________________________________ ______2
C. Base de Datos ________________________________ ________________________________ ________3
D. Capa Lógica de Negocio ________________________________ ________________________________ 4
E. Capa Interfaz Cliente ________________________________ ________________________________ ___7
B. Especificaciones Generales
B.1 Arquitectura
Se implementara un sistema de información multicapa como se detalla en el siguiente diagrama:
request EmpleadoList
ManEmpleado.jsp UsuarioList
ManUsuario.jsp DepartamentoList Base de Datos
Tablas:
EmpleadoList.jsp -Departamento
response UsuarioList.jsp -Empleado
-Usuario
DepartamentoData
ManEmpleadoDetalle.jsp Vista:
ManUsuarioDetalle.jsp
EmpleadoData
ManEmpleado -vw_empleado
UsuarioData
ManUsuario
DataBase
SendMail.jsp LogOn
SelEmp.jsp
EmpleadoRep.jsp
B.2 Funcionalidades
1. Las funcionalidades del sistema en el diagrama de casos de uso muestra dos niveles de usua rio.
B.3 Despliegue
2. El esquema donde se ejecutan los componentes del sistema xcaja
C. Base de Datos
3. Diagrama Relacional
/***************DATABASE caja********************/
CREATE DATABASE caja
GO
use caja
GO
/****************TABLE departamento**************/
CREATE TABLE departamento(
dep_id int,
6. La secuencia de eventos en el mantenimiento de datos en xcaja donde X representa una entidad que
podría ser Empleado, Usuario, Departamento, etc.
7. La capa de lógica de Negocio Esta formado por diferentes clases organizadas en paquetes cuya
descripción se detalla a continuación:
ManEmpleado.jsp
Tiene dos sectores el superior para especificar un criterio de búsqueda inteligente mediante el
código o parte del nombre de un empleado (si no se especifica nada se debe devolver todos
los registros) y la opción para agregar un nuevo empleado.
El sector inferior contiene un frame interno donde se muestran :
o EmpleadoList.jsp con los resultados del listado de acuerdo al criterio de búsqueda y a
partir de aquí se puede desencadenar los procesos de eliminación o modificación de
un empleado especifico.
ManUsuario.jsp
Tiene dos sectores el superior para especificar un criterio de búsqueda inteligente mediante el
parte del nombre o el nivel de un usuario (si no se especifica nada se debe devolver todos los
registros) y la opción para agregar un nuevo usuario.
El sector inferior contiene un frame interno donde se muestran:
o UsuarioList.jsp con los resultados del listado de acuerdo al criterio de búsqueda y a
partir de aquí se puede desencadenar los procesos de eliminación o modificación de
un usuario especifico.
o ManUsuarioDetalle.jsp el cual muestra el detalle de los datos del usuario a insertar (si
se llamo desde [nuevo]) o modificar (si se llamo desde editar del UsuarioList).
El password no debe ser legible
El nivel tiene dos opciones 1 nivel administrador y 2 nivel operador
12. SendMail.jsp, .- Ventana para ingresar los datos de un correo electrónico a enviar pudiendo editar
además de los parámetros usuales el mail y alias origen (es decir lo que el destinatario visualizara
como mail proveniente del origen especificado) .
Para seleccionar como destinatarios los empleados llamar al botón a la derecha (…), esto llamara a
SelEmp.jsp que es una ventana de selección de un conjunto de empleados a partir de los existente s
en la Base de Datos.
13. SelEmp.jsp.- Permite seleccionar con un simple clic un conjunto de empleados desde los existentes
en la Base de Datos.
14. SelEmp.jsp.- Visualiza el listado de empleados agrupados por el departamento al que pertenecen
además los subtotales por departamento y el total de empleados.
Debe mostrar un grafico estadístico comparando los totales de empleados por áreas.
LogOn.html
<HTML>
<HEAD>
<TITLE>LogOn</TITLE>
<META content="text/html">
</HEAD>
<HR>
<BODY BACKGROUND="1.jpg" BGCOLOR="white"
onload=javascript:window.document.frm.nom.focus();>
<FORM name=frm method="post" action="/xcaja/LogOn">
<br><br><br><br><br><br><br><br>
<TABLE BORDER="10" BGCOLOR="redblack" align=center>
<TBODY>
<TR>
<TD>Usuario:</TD>
<TD><INPUT type=text name = nom maxlength="20"></TD></TR>
<TR>
<TD>Clave:</TD>
<TD><INPUT type=password name=pas maxlength="20"></TD></TR>
<TR align=middle>
<TD colSpan=2><INPUT type=submit value=OK!>
</TD>
</TR>
</TBODY></TABLE></FORM><HR>
</BODY>
</HTML>
Principal.jsp
<%
String v1=(String)session.getAttribute("snom");
String v2=(String)session.getAttribute("spas");
String v3=(String)session.getAttribute("snivel");
%>
<HTML>
<HEAD>
<TITLE>Pagina Principal</TITLE>
</HEAD>
<BODY background="2.jpg" bgColor="white" leftMargin=0 topMargin=0 marginwidth="0"
marginheight="0">
<br>
<TABLE align=center border=25 bordercolor="white" cellPadding=2 cellSpacing=4 width=760
bgcolor="white">
<TR>
<TD align=center><%if(v3.equals("1")){%>Bienvenido Administrador <%=v1%>
<%}else {%>Bienvenido Operador <%=v1%><%}%></TD>
</TR>
<TR>
<TD align=center height=10>
<%if(v3.equals("1")){%>
<A class=menu href="/xcaja/ManEmpleado.jsp" target="body">Empleados</A>|
<A class=menu href="/xcaja/SendMail.jsp" target="body">Mail</A>|
<A class=menu href="/xcaja/ManUsuario.jsp" target="body">Usuarios</A>|
<A class=menu href="/xcaja/EmpleadoRep.jsp"target="body">Reporte de Empleados</A> |
<A class=menu href="#" onclick="">Ayuda</A>|
<A class=menu href="/xcaja/LogOn" title="Retornar al LogOn">[x]</A>
<%}else {%>
<A class=menu href="#">Mail</A>|
<A class=menu href="/xcaja/ManEmpleado.jsp" target="body">Empleados</A>|
<A class=menu href="#" onclick="">Ayuda</A>|
<A class=menu href="/xcaja/LogOn" title="Retornar al LogOn">[x]</A>
<%}%>
</TD>
</TR>
<TR>
<TD>
<iframe name="body" src="" align="center" height="400" width="760">
</iframe>
</TD>
</TR>
<TR>
<TD align=center>Copyright 2005 - Java Web</TD>
</TR>
</TABLE>
</BODY>
</HTML>
Man Empleado
<head><title>Mantenimiento Empleados</title></head>
<BODY background="3.jpg" bgcolor= "red">
<h2 class=e2 align="center"><u>Mantenimiento de Empleados</u></h2>
<TABLE border=10 cellPadding=2 cellSpacing=4 width="50%" bgcolor="orage" align="center">
<TR>
<td align="center">
<form method="GET" action="/xcaja/ManEmpleado" target="ManEmpleadoDetalle" >
<input type="hidden" name="opt" value="5">
Codigo o Nombre:
<input type="text" name="filtro" title="Puedes in gresar el codigo o una parte del nombre">
Man Usuario
<html>
<head><title>Mantenimiento - Usuarios</title></head>
<BODY BACKGROUND="5.jpg" bgcolor="black">
<br><br><br>
<h2 class=e2 >MANTENIMIENTO DE
USUARIO<u></div></u></h2>
<TABLE border=20 cellPadding=0 cellSpacing=0
width="50%" bgcolor="greend" align=" center">
<TR>
<td>
<form method="GET" action="/xcaja/ManUsuario"
target="ManUsuarioDetalle">
<input type="hidden" name="opt" value="5">
Nombre o Password:
<input type="text" name="filtro" title="Puedes
</html>
EmpleadoList.jsp
UsuarioList.jsp
<%@page import="sys.bean.*" %>
<%@page import="sys.list.*" %>
<html>
<head><title>Lista de Usuarios</title></head>
<body>
<%UsuarioList lista = (UsuarioList)request.getAttribute("UsuarioList");%>
<table align="center" cellSpacing=0 cellPadd ing=0 border=0 width="100%">
<tr>
<th></th>
<th>Nombre</th>
<th>Password</th>
<th>Nivel</th>
</tr>
<%for(int i=0;i<lista.size();i++){
String color = ((i%2)==0)?"FFFFFF":"#DAFEFB";
Usuario u = lista.getUsuario(i);
%>
<tr bgcolor="<%=color%>">
<td>
<a href="/xcaja/ManUsuario?opt=3&us_nom=<%=u.getUs_nom()%>"
target='ManUsuarioDetalle'
onclick="javascript: return confirm('Seguro de eliminar?');">
.x.</a>
</td>
<td><%=u.getUs_nom()%></td>
<td><a href="/xcaja/ManUsuario?opt=10&us_nom=<%=u.getUs_nom()%>"
target='ManUsuarioDetalle' ><%=u.getUs_pas()%></a></td>
<td><%=u.getUs_nivel()%></td>
</tr>
<%}%>
</table>
</body>
</html>
ManEmpleadoDetalle.jsp
ManUsuarioDetalle.jsp
u=new Usuario();
u.setUs_nom("");
u.setUs_pas("");
u.setUs_nivel(1);
}
%>
<BODY BACKGROUND="5.jpg" bgcolor="redgrend"
onload="javascript:window.document.frm.us_nom.focus();">
<FORM NAME="frm" method="POST" action="/xcaja/ManUsuario ">
<input type="hidden" name="opt" value="<%=opt%>">
<TABLE align="center" cellSpacing=2 cellPadding=4 border=15 width="60%" bgcolor="white">
<TR><TD colspan="2"><font color="#FF0000"><%=ur%></font></TD></TR>
<TR><TD colspan="2"><HR></TD></TR>
<TR><TD>Usuario*:</TD>
<TD><input type="text" name="us_nom" value="<%=u.getUs_nom()%>"></TD>
</TR>
<tr align="left">
<td>Password<font color="#FF0000">*</font>:</td>
<td><input type="password" name="us_pas" value="<%=u.getUs_pas()%>"></td>
</tr>
<tr align="left">
<td>Nivel*:</td>
<td>
<input name="us_nivel" type="radio" value="1"
<%if (u.getUs_nivel()==1){%> checked<%}%>>Administrador
<input name="us_nivel" type="radio" value="2"
<%if (u.getUs_nivel()==2){%> checked<%}%>>Operador
</td>
</tr>
<TR><TD colspan="2"><HR>< /TD></TR>
<TR align=right><TD colspan="2">
<input type="submit" value="OK!">
</TD></TR>
</TABLE>
<FORM>
</body>
</html>
SendMail.jsp
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF -8"%>
<script language="javascript">
function wselectemp(){
wselemp=window.open("SelEmp.jsp","","toolbar=no,status=no,scrollbars=yes,resizable=yes,top=10,le
ft=10,width=600,height=400");
wselemp.focus();
}
</script>
<html>
<head><title>Mail</title></head>
<body bgcolor="white"> <form name="frm" method="post">
<table align=center cellSpacing=2 cellPadding=4 border=15 bgcolor="WHITE">
<tr> <td>To *:
</td>
<td> <input type="text" name="txtto" size="60" value="">
<input type="button" value="..." onclick="javascript:wselectemp();">
</td></tr>
<tr>
<td>From Mail *:</td>
<td><input type="text" name="txtfrom" size="60" value="@hotmail.com">
</td>
</tr>
<tr>
<td>From Alias:</td>
<td><input type="text" name="txtfroma" size="60" value="Nombre y Apellido">
</td></tr><tr><td>Subject:</td>
<td><input type="text" name="txtsubject" size="60" value="Saludo">
</td></tr><tr><td>Body</td>
<td><textarea name="txtbody" cols="78" rows="10">Hola... !.</textarea>
</td></tr>
<tr>
<td colspan="2">
<div align="center">
<input type="submit" name="send" value="Enviar Mail!">
</div>
</td>
</tr>
</table>
</form>
</body>
</html>
SelEmp.jsp
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF -8"%>
<html>
<head><title></title></head>
<SCRIPT LANGUAGE="JavaScript">
function agregar()
{
var selTam = document.selfrm.sel.length;
var selItem = document.selfrm.dis.selectedIndex;
var selText = document.selfrm.dis.options[selItem].text;
var selValue = document.selfrm.dis.options[selItem].value;
newopt = new Option(selText, selValue, false, false);
document.selfrm.sel.options[selTam] = newopt;
document.selfrm.dis.selectedIndex= -1;
}
function quitar() {
var selItem = document.selfrm.sel.selectedIndex;
document.selfrm.sel.options[selItem] = null;
}
function saveMe() {
var selTam = document.selfrm.sel.le ngth;
var cad = "";
for (i = 0; i < selTam; i++) {
<center>
<form name="selfrm">
<table border=15 align=center bgcolor="white">
<tr>
<td>Disponibles:</td>
<td>Seleccionados:</td>
</tr>
<tr>
<td>
<select name="dis" size="10" onchange="agregar();">
<OPTION VALUE="[email protected]">[email protected]</OPTION>
</select>
</td>
<td>
<select name="sel" size="10" onchange="quitar();">
</select>
</td>
</tr>
<tr>
<td align=right colspan=2 height=10>
<input type="button" value="OK!" onclick="saveMe();">
</td>
</tr>
</table>
</form>
</center>
</body>
</html>
EmpleadoRep.jsp
<th>Departamento</th>
</tr><input type="hidden" name="opt" value="5">
<tr><th colspan="5" bgcolor="#DDDDDD">Departamento: Administracion</th></tr>
<%int c1=0,c2=0,c3=0;
for(int i=0;i<rep.size();i++){
String color = ((c1%2)!=0)?"FFFFFF":"#DAFEFB";
Empleado e=rep.getEmpleado(i);
if(e.getDep_id()==2){c1++;
%>
<tr bgcolor="<%=color%>">
<td><%=e.getEmp_id()%></td>
<td><%=e.getEmp_nom()%></td>
<td><%=e.getEmp_sueldo()%></td>
<td><%=e.getEmp_mail()%></td>
<td align="center"><%=e.getDep_id()%></td>
</tr>
<%}%>
<%}%> <tr><td colspan="5">TOTAL : <%=c1%>< /td></tr>
<tr><th colspan="5" bgcolor="#DDDDDD">Departamento: Sistemas</th></tr>
<%for(int i=0;i<rep.size();i++){
String color = ((c2%2)!=0)?"FFFFFF":"#DAFEFB";
Empleado e=rep.getEmpleado(i);
if(e.getDep_id()==1){c2++;
%>
<tr bgcolor="<%=color%>">
<td><%=e.getEmp_id()%></td>
<td><%=e.getEmp_nom()%></td>
<td><%=e.getEmp_sueldo()%></td>
<td><%=e.getEmp_mail()%></td>
<td align="center"><%=e.getDep_id()%></td>
</tr>
<%}%>
<%}%> <tr><td colspan="5">TOTAL : <%=c2%></td></tr>
<tr><th colspan="5" bgcolor="#DDDDDD">Departamento: Ventas</th></tr>
<%for(int i=0;i<rep.size();i++){
String color = ((c3%2)!=0)?"FFFFFF":"#DAFEFB";
Empleado e=rep.getEmpleado(i);
if(e.getDep_id()==3){c3++;
%>
<tr bgcolor="<%=color%>">
<td><%=e.getEmp_id()%></td>
<td><%=e.getEmp_nom()%></td>
<td><%=e.getEmp_sueldo()%></td>
<td><%=e.getEmp_mail()%></td>
<td align="center"><%=e.getDep_id()%></td>
</tr>
<%}%>
<%}%>
<tr><td colspan="5">TOTAL : <%=c3%></td></tr>
<tr><th colspan="5">TOTAL EMPLEADOS : <%=(c1+c2+c3)%></th></tr>
</table>
<center>
</body>
</html>
Source Package
sys.bean
Departamento.java
package sys.bean;
public class Departamento {
private int dep_id;
private String dep_nom;
private int xctemp_id;
private double xsmenp_sueldo;
public Departamento() {}
Empleado.java
package sys.bean;
public class Empleado {
public Empleado() {}
Usuario.java
package sys.bean;
public class Usuario {
private String us_nom;
sys.bin
Test. java
package sys.bin;
import sys.bean.*;
import sys.data.*;
import sys.list.*;
public class Test {
public static void main(String[] args)throws Exception {
Empleado e=new Empleado();
e.setEmp_id(1);
e.setEmp_nom("Juan");
e.setEmp_sueldo(2000);
e.setEmp_mail("[email protected]");
e.setDep_id(3);
e.setEmp_nom("Juanito");
e.setEmp_id(15);
selectEmpleado();
}
public static void selectEmpleado()throws Exception {
EmpleadoList el=EmpleadoData.selectRep();
System.out.println("----------Empleados----------");
int c1=0,c2=0,c3=0;
for(int i=0;i<el.size();i++){
Empleado e=el.getEmpleado(i);
if(e.getDep_id()==1){
System.out.println(e.getEmp_id()+","+e.getEmp_nom()+","+e.getEmp_sueldo()+","+e.getEmp_mail()+
","+e.getDep_id());
c1++;
}
}
System.out.println("TOTAL A : "+c1);
for(int i=0;i<el.size();i++){
Empleado e=el.getEmpleado(i);
if(e.getDep_id()==2){
System.out.println(e.getEmp_id()+","+e.getEmp_nom()+","+e.getEmp_sueldo()+","+e.getEmp_mail()+
","+e.getDep_id());
c2++;
}
}
System.out.println("TOTAL B : "+c2);
for(int i=0;i<el.size();i++){
Empleado e=el.getEmpleado(i);
if(e.getDep_id()==3){
System.out.println(e.getEmp_id()+","+e .getEmp_nom()+","+e.getEmp_sueldo()+","+e.getEmp_mail()+
","+e.getDep_id());
c3++;
}
}
System.out.println("TOTAL C : "+c3);
}
}
TestUsuario.java
package sys.bin;
import sys.bean.*;
import sys.data.*;
import sys.list.*;
public class TestUsuario {
public static void main(String[] args)throws Exception {
Usuario u=UsuarioData.getUsuario("oper");
System.out.println(u.getUs_nivel());
System.out.println("El va lor del nom es "+u.getUs_nom());
System.out.println("El valor del nivel es "+String.valueOf(u.getUs_nivel()));
}
public static void selectUsuario()throws Exception {
UsuarioList ul=UsuarioData.select();
System.out.println("----------USUARIOS----------");
for(int i=0;i<ul.size();i++){
Usuario u=ul.getUsuario(i);
System.out.println(u.getUs_nom()+","+u.getUs_pas()+","+u.getUs_nivel());
}
System.out.println("-----------------------------");
}
}
sys.data
Database.java
package sys.data;
import java.sql.*;
public class DataBase {
public DataBase() {}
public static Connection getConnection() {
Connection c=null;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
c=DriverManager.getConnection("jdbc:odbc:dsncaja","sa","");
System.out.println("Cnn OK!");
}
catch(Exception e){
e.printStackTrace();
}
return c; } }
DepartamentoData.java
package sys.data;
import java.sql.*;
import sys.bean.Departamento;
import sys.list.DepartamentoList;
public class DepartamentoData {
public DepartamentoData() {}
public static String insert(Departame nto dep){
String ok="";
try{
Connection con=DataBase.getConnection();
Statement stm=con.createStatement();
String sql="insert into departamento
values("+dep.getdep_id()+",'"+dep.getdep_nom()+"',"+dep.getxctemp_id()+",'"+dep.getxsmenp_sueld
o()+"')";
System.out.println("sql:"+sql);
stm.executeUpdate(sql);
System.out.println("OK:ins ert");
stm.close();
con.close();
}
catch(Exception e){
ok=e.getMessage();
e.printStackTrace();
}
return ok;
}
public static String update(Departamento dep){
String ok="";
try{
Connection con=DataBase.getConnection();
Statement stm=con.createStatement();
String sql="update departamento set dep_id='"+dep.getdep_id()+"',"
+"dep_nom="+dep.getdep_nom()+",xctemp_id='"+dep.getxctemp_id()+ "',xsmenp_sueldo="+dep.getx
smenp_sueldo();
System.out.println("sql:"+sql);
stm.executeUpdate(sql);
System.out.println("OK:update");
stm.close();
con.close();
}
catch(Exception e){
ok=e.getMessage();
e.printStackTrace();
}
return ok;
}
public static boolean delete(String id){
boolean ok=false;
try{
Connection con=DataBase.getConnection();
Statement stm=con.createStatement();
String sql="delete from departamento where dep_id="+id;
System.out.println("sql:"+sql);
stm.executeUpdate(sql);
System.out.println("OK:delete");
ok=true;
stm.close();
con.close();
}
catch(Exception e){
e.printStackTrace();
}
return ok;
}
public static DepartamentoList select(){
DepartamentoList el=new DepartamentoList();
try{
Connection con=DataBase.getConnecti on();
Statement stm=con.createStatement();
String sql="select * from departamento order by dep_id";
System.out.println("sql:"+sql);
ResultSet rs=stm.executeQuery(sql);
System.out.println("OK:select");
while(rs.next()){
Departamento e=new Departamento();
e.setdep_id(rs.getInt("dep_id"));
e.setdep_nom(rs.getString("dep_nom"));
e.setxctemp_id(rs.getInt("xctemp_id"));
e.setxsmenp_sueldo(rs.getDouble("xsmenp_sueldo"));
el.add(e);
}
rs.close();
stm.close();
con.close();
}
catch(Exception e){
e.printStackTrace();
}
return el;
}
public static DepartamentoList selectFiltro(String filtro){
DepartamentoList el=new DepartamentoList();
try{
Connection con=DataBase.getConnection();
Statement stm=con.createStatement();
String sql="select * from em pleado where convert(varchar(10),dep_id) like '%"+filtro+"%' " +"or
dep_nom like '%"+filtro+"%'";
System.out.println("sql:"+sql);
ResultSet rs=stm.executeQuery(sql);
System.out.println("OK:select");
while(rs.next()){
Departamento e=new Departamento();
e.setdep_id(rs.getInt("dep_id"));
e.setdep_nom(rs.getString("dep_nom"));
e.setxctemp_id(rs.getInt("xctemp_id"));
e.setxsmenp_sueldo(rs. getDouble("xsmenp_sueldo"));
el.add(e);
}
rs.close();
stm.close();
con.close();
}
catch(Exception e){
e.printStackTrace();
}
return el;
}
public static Departamento ge tDepartamento(String id){
Departamento o = new Departamento();
Connection con = null;
Statement stm = null;
try{
String sql = "select * from departamento where dep_id=" +id;
System.out.println("sql:"+sql);
con = DataBase.getConnection();
stm = con.createStatement();
ResultSet rs = stm.executeQuery(sql);
if (rs.next()){
o.setdep_id(rs.getInt("dep_id"));
o.setdep_nom(rs.getString("dep_nom"));
o.setxctemp_id(rs.getInt("xctemp_id"));
o.setxsmenp_sueldo(rs.getDouble("xsmenp_sueldo"));
}
stm.close();
con.close();
}
catch (Exception e){
e.printStackTrace();
}
return o;
}
public static DepartamentoList selectRep(){
DepartamentoList el=new DepartamentoList();
try{
Connection con=DataBase.getConnection();
Statement stm=con.createStatement();
String sql="select * from vw_departamento order by dep_id";
System.out.println("sql:"+sql);
ResultSet rs=stm.executeQuery(sql);
System.out.println("OK:select");
while(rs.next()){
stm.close();
con.close();
}
catch(Exception e){
ok=e.getMessage();
e.printStackTrace();
}
return ok;
}
public static boolean delete(String id){
boolean ok=false;
try{
Connection con=DataBase.getConnection();
Statement stm=con.createStatement();
String sql="delete from empleado where emp_id="+id;
System.out.println("sql:"+sql);
stm.executeUpdate(sql);
System.out.println("OK:delete");
ok=true;
stm.close();
con.close();
}
catch(Exception e){
e.printStackTrace();
}
return ok;
}
public static EmpleadoList select(){
EmpleadoList el=new EmpleadoList();
try{
Connection con=DataBase.getConnection();
Statement stm=con.createStatement();
String sql="select * from empleado order by emp_id";
System.out.println("sql:"+sql);
ResultSet rs=stm.executeQuery(sql);
System.out.println("OK:select");
while(rs.next()){
Empleado e=new Empleado();
e.setEmp_id(rs.getInt("emp_id"));
e.setEmp_nom(rs.getString("emp_nom"));
e.setEmp_sueldo(rs.getDouble("emp_sueldo"));
e.setEmp_mail(rs.getString("emp_mail"));
e.setDep_id(rs.getInt("dep_id"));
el.add(e);
}
rs.close();
stm.close();
con.close();
}
catch(Exception e){
e.printStackTrace();
}
return el;
}
public static EmpleadoList selectFiltro(String filtro){
Connection con=DataBase.getConnection();
Statement stm=con.createStatement();
String sql="select * from vw_empleado order by dep_id";
System.out.println("sql:"+sql);
ResultSet rs=stm.executeQuery(sql);
System.out.println("OK:select");
while(rs.next()){
Empleado e=new Empleado();
e.setEmp_id(rs.getInt("emp_id"));
e.setEmp_nom(rs.getString("emp_nom"));
e.setEmp_sueldo(rs.getDouble("emp_sueldo"));
e.setEmp_mail(rs.getString("emp_mail"));
e.setDep_id(rs.getInt("dep_id"));
el.add(e);
}
rs.close();
stm.close();
con.close();
}
catch(Exception e){
e.printStackTrace();
}
return el;
}
}
UsuarioData.java
package sys.data;
import java.sql.*;
import sys.bean.Usuario;
import sys.list.UsuarioList;
public class UsuarioData {
public UsuarioData() {}
public static String insert(Usuario u){
String ok="";
try{
Connection con=DataBase.getConnection();
Statement stm=con.createStatement();
String sql="insert into usuario
values('"+u.getUs_nom()+"','"+u.getUs_pas()+"',"+u.getUs_nivel()+")";
System.out.println("sql: "+sql);
stm.executeUpdate(sql);
System.out.println("OK! INSERT");
stm.close();
con.close();
}
catch(Exception e){
ok=e.getMessage();
e.printStackTrace();
}
return ok;
}
public static String update(Usuario u){
String ok="";
try{
Connection con=DataBase.getConnection();
Statement stm=con.createStatement();
String sql="update usuario set us_pas='"+u.getUs_pas()+"',us_nivel="+u.getUs_nivel()+" where
us_nom='"+u.getUs_nom()+"'";
System.out.println("sql: "+sql);
stm.executeUpdate(sql);
System.out.println("OK! UPDATE");
stm.close();
con.close();
}
catch(Exception e){
ok=e.getMessage();
e.printStackTrace();
}
return ok;
}
public static boolean delete(String nom){
boolean ok=false;
try{
Connection con=DataBase.getConnection();
Statement stm=con.createStatement();
String sql="delete from usuario where us_nom='"+nom+"'";
System.out.println("sql: "+sql);
stm.executeUpdate(sql);
System.out.println("OK! DELETE");
ok=true;
stm.close();
con.close();
}
catch(Exception e){
e.printStackTrace();
}
return ok;
}
public static UsuarioList select(){
UsuarioList ul=new UsuarioList();
try{
Connection con=DataBase.getConnection();
Statement stm=con.createStatement();
String sql="select us_nom,us_pas,us_niv el from usuario order by us_nom";
System.out.println("sql: "+sql);
ResultSet rsUsuario=stm.executeQuery(sql);
System.out.println("OK! SELECT");
while(rsUsuario.next()){
Usuario u=new Usuario();
u.setUs_nom(rsUsuario.getString("us_nom"));
u.setUs_pas(rsUsuario.getString("us_pas"));
u.setUs_nivel(rsUsuario.getInt("us_nivel"));
ul.add(u);
}
rsUsuario.close();
stm.close();
con.close();
}
catch(Exception e){
e.printStackTrace();
}
return ul;
}
public static UsuarioList selectFiltro(String filtro){
UsuarioList ul=new UsuarioList();
try{
Connection con=DataBase.getConnection();
Statement stm=con.createStatement();
String sql="select us_nom,us_pas,us_nivel from usuario Where us_nom like '%"+filtro+"%' " +"or
us_pas like '%"+filtro+"%'";
System.out.println("sql:"+sql);
ResultSet rs=stm.executeQuery(sql);
System.out.println("OK:select");
while(rs.next()){
Usuario u=new Usuario();
u.setUs_nom(rs.getString("us_nom"));
u.setUs_pas(rs.getStr ing("us_pas"));
u.setUs_nivel(rs.getInt("us_nivel"));
ul.add(u);
}
rs.close();
stm.close();
con.close();
}
catch(Exception e){
e.printStackTrace();
}
return ul;
}
public static Usuario getUsuario(String nom){
Usuario u = new Usuario();
Connection con = null;
Statement stm = null;
try{
String sql = "select us_nom,us_pas,us_nivel from usuario where us_nom ='"+nom+"'";
System.out.println("sql:"+sql);
con = DataBase.getConnection();
stm = con.createStatement();
ResultSet rs = stm.executeQuery(sql);
if (rs.next()){
u.setUs_nom(rs.getString("us_nom"));
u.setUs_pas(rs.getString("us_pas"));
u.setUs_nivel(rs.getInt("us_nivel"));
}
rs.close();
stm.close();
con.close();
}
catch (Exception e){
e.printStackTrace();
}
return u;
}
public static boolean existeUsuario(String nom,String pas){
boolean ok=false;
DepartamentoList.java
package sys.list;
import sys.bean.Departamento;
import java.util.ArrayList;
public class DepartamentoList extends ArrayList{
public DepartamentoList(){}
public Departamento getDepartamento(int p){
return (Departamento)this.get(p);
}
}
EmpleadoList.java
package sys.list;
import sys.bean.Empleado;
import java.util.ArrayList;
public class EmpleadoList extends ArrayList{
public EmpleadoList(){}
public Empleado getEmpleado(int p){
return (Empleado)this.get(p);
}
}
UsuarioList.java
package sys.list;
import sys.bean.Usuario;
import java.util.ArrayList;
public class UsuarioList extends ArrayList{
public UsuarioList() {}
public Usuario getUsuario(int p){
return (Usuario)this.get(p);
}
}
sys.servlet
LogOn.java
package sys.servlet;
import java.io.*;
import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;
import sys.bean.*;
import sys.list.*;
import sys.data.*;
public class LogOn extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try{
String nom=request.getParameter("nom");
String pas=request.getParame ter("pas");
Usuario u=UsuarioData.getUsuario(nom);
String ruta;
if(UsuarioData.existeUsuario(nom, pas)){
ruta="/Principal.jsp";
HttpSession s=request.getSession(true);
s.setAttribute("snom",nom);
s.setAttribute("spas",pas);
s.setAttribute("snivel",String.valueOf(u.getUs_nivel()));
/*String us=request.getParameter("us");
String pas=request.getParameter("pas");
String ruta;
if(UsuarioData.existeUsuario(us,pas)){
ruta="/Principal.jsp";}*/
}
else{
ruta="/LogOn.html";
}
this.getServletContext().getRequestDispatcher(ruta).forward(request,response);
}
catch(Exception e){
e.printStackTrace();
}
}
protected void doGet(HttpServletRe quest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
}
public void insert(HttpServletRequest request, HttpServletResponse response)
throws IOException,ServletException{
Empleado o=new Empleado();
o.setEmp_id(Integer.parseInt(request.getParameter("emp_id")));
o.setEmp_nom(request.getParameter("emp_nom"));
o.setEmp_sueldo(Double.parseDouble(request.getParameter("emp_sueldo")));
String rtd= EmpleadoData.insert(o);
if (rtd.length()>0) request.setAttribute("Empleado", o);
request.setAttribute("ER", rtd);
String ruta = "/ManEmpleadoDetalle.jsp?opt=1";
this.getServletContext().getRequestDispatch er(ruta).forward(request,response);
}
public void update(HttpServletRequest request, HttpServletResponse response)
throws IOException,ServletException{
Empleado o=new Empleado();
o.setEmp_id(Integer.parseInt(request.getParameter ("emp_id")));
o.setEmp_nom(request.getParameter("emp_nom"));
o.setEmp_sueldo(Double.parseDouble(request.getParameter("emp_sueldo")));
String rtd= EmpleadoData.update(o);
request.setAttribute("Empleado", o);
request.setAttribute("ER", rtd);
String ruta = "/ManEmpleadoDetalle.jsp?opt=2";
this.getServletContext().getRequestDispatcher(ruta).forward(request,response);
}
public void delete(HttpServletRequest request, HttpServletRespo nse response)
throws IOException{
EmpleadoData.delete(request.getParameter("emp_id"));
PrintWriter out=response.getWriter();
out.println("OK:Delete!");
}
public void select(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException{
EmpleadoList lo=EmpleadoData.select();
request.setAttribute("EmpleadoList", lo);
String ruta = "/EmpleadoList.jsp";
this.getServletContext().getRequestDispatcher(ruta).forward(request, response);
}
public void selectFiltro(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException{
String msg=request.getPar ameter("filtro");
System.out.println("filtro:"+msg);
EmpleadoList lo;
if (msg.length()>0){
lo=EmpleadoData.selectFiltro(msg);}
else{
lo=EmpleadoData.select();
}
request.setAttribute("EmpleadoL ist", lo);
String ruta = "/EmpleadoList.jsp";
this.getServletContext().getRequestDispatcher(ruta).forward(request, response);
}
public void getEntidad(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Empleado o=EmpleadoData.getEmpleado(request.getParameter("emp_id"));
request.setAttribute("Empleado", o);
String ruta = "/ManEmpleadoDetalle.jsp?opt=2";
this.getServletContext().getRequestDispatche r(ruta).forward(request, response);
}
ManUsuario.java
package sys.servlet;
import java.io.*;
import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;
import sys.bean.*;
import sys.list.*;
import sys.data.*;
public class ManUsuario extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
int opt=Integer.parseInt(request.getParameter("opt"));
switch(opt){
case 1: insert(request,response); break;
case 2: update(request,response); break;
case 3: delete(request,response); break;
case 4: select(request,response); break;
case 5: selectFiltro(request,response); break;
case 10: getEntidad(reques t,response); break;
}
}
public void insert(HttpServletRequest request, HttpServletResponse response)
throws IOException,ServletException{
Usuario u=new Usuario();
u.setUs_nom(request.getParameter("us_nom"));
u.setUs_pas(request.getParameter("us_pas"));
u.setUs_nivel(Integer.parseInt(request.getParameter("us_nivel")));
String rtd= UsuarioData.insert(u);
if (rtd.length()>0) request.setAttribute("Usuario", u);
request.setAttribute("UR", rtd);
String ruta = "/ManUsuarioDetalle.jsp?opt=1";
this.getServletContext().getRequestDispatcher(ruta).forward(request,response);
}
public void update(HttpServletRequest request, HttpServletRespon se response)
throws IOException,ServletException{
Usuario u=new Usuario();
u.setUs_nom(request.getParameter("us_nom"));
u.setUs_pas(request.getParameter("us_pas"));
u.setUs_nivel(Integer.parseInt(request.getParameter("us _nivel")));
String rtd= UsuarioData.update(u);
request.setAttribute("Usuario", u);
request.setAttribute("UR", rtd);
String ruta = "/ManUsuarioDetalle.jsp?opt=2";
this.getServletContext().getRequestDispatcher(ruta).forward(request,response);
}
public void delete(HttpServletRequest request, HttpServletResponse response)
throws IOException{
UsuarioData.delete(request.getParameter("us_nom")) ;
PrintWriter out=response.getWriter();
out.println("OK:Delete!");
}
public void select(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException{
UsuarioList ul=UsuarioData.select();
request.setAttribute("UsuarioList", ul);
String ruta = "/UsuarioList.jsp";
this.getServletContext().getRequestDispatcher(ruta).forward(request, response);
}
public void selectFiltro(HttpServletRequest request, HttpServletRe sponse response)
throws ServletException, IOException{
String msg=request.getParameter("filtro");
System.out.println("filtro:"+msg);
UsuarioList ul;
if (msg.length()>0){
ul=UsuarioData.selectFiltro(msg);}
else{
ul=UsuarioData.select();
}
request.setAttribute("UsuarioList", ul);
String ruta = "/UsuarioList.jsp";
this.getServletContext().getRequestDispatcher(ruta).forward(request, response);
}
public void getEntidad(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Usuario u=UsuarioData.getUsuario(request.getParameter("us_nom"));
request.setAttribute("Usuario", u);
String ruta = "/ManUsuarioDetalle.jsp?opt=2";
this.getServletContext().getRequestDispatcher(ruta).forward(request, response);
}