Está en la página 1de 40

Especificaciones de un proyecto con capas y

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

Ing. Alberto Moreno C.


morenouni@gmail.com
Especificaciones del Proyecto Ing. Alberto Moreno C.

B. Especificaciones Generales
B.1 Arquitectura
Se implementara un sistema de información multicapa como se detalla en el siguiente diagrama:

Cliente Servidor Web Servidor BD


Capa Interfaz Cliente Capa Lógica Negocio Capa Base Datos
(jsp, html) (Clases Java: Servlet,Beans,etc)
LogOn.html Empleado
Usuario
Principal.jsp Departamento
Navegador Internet

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

Ing. Alberto Moreno C. 2


Especificaciones del Proyecto Ing. Alberto Moreno C.

C. Base de Datos
3. Diagrama Relacional

4. Para crear la BD Ejecutar el siguiente Transact SQL desde el “Analizador de Consultas”

/***************DATABASE caja********************/
CREATE DATABASE caja
GO
use caja
GO
/****************TABLE departamento**************/
CREATE TABLE departamento(
dep_id int,

Ing. Alberto Moreno C. 3


Especificaciones del Proyecto Ing. Alberto Moreno C.

dep_nom varchar (20)


)
GO
/****************TABLE empleado*******************/
CREATE TABLE empleado (
emp_id int ,
emp_nom varchar (20),
emp_sueldo money ,
emp_mail varchar (50),
dep_id int
)
GO
/*****************TABLE usuario******************/
CREATE TABLE usuario (
us_nom varchar (20) ,
us_pas varchar (20),
us_nivel int
)
GO
/****** Crear Vista vw_empleado para el r eporte******/
create view vw_empleado
as
select a.emp_id,a.emp_nom,a.emp_sueldo,a.emp_mail,a.dep_id,b.dep_nom
from empleado a,departamento b
where a.dep_id=b.dep_id
go
/****************Inserta Datos*******************/
insert into departamento values(1,'Si stemas')
insert into departamento values(2,'Administración')
insert into departamento values(3,'Ventas')
GO
insert into empleado values(1,'Juan
Perez',2000.00,'jperez@mttvcorp.com',1)
insert into empleado values(2,'Carlos
Meza',1000.00,'cmeza@mttvcorp.com',3)
insert into empleado values(3,'Ana
Llanos',1000.00,'allanos@mttvcorp.com',3)
insert into empleado values(4,'Paola
Ruiz',2000.00,'pruiz@mttvcorp.com',2)
GO
insert into usuario values('admin','123',1)
insert into usuario values('oper','123',2)
GO
/****************Lee Datos*******************/
select * from vw_empleado
select * from usuario
GO

D. Capa Lógica de Negocio


5. El proceso de validación de usuario para acceder a la aplicación determina los estados del sistema
xcaja

Ing. Alberto Moreno C. 4


Especificaciones del Proyecto Ing. Alberto Moreno C.

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:

Ing. Alberto Moreno C. 5


Especificaciones del Proyecto Ing. Alberto Moreno C.

Ing. Alberto Moreno C. 6


Especificaciones del Proyecto Ing. Alberto Moreno C.

E. Capa Interfaz Cliente


8. LogOn.htm.-Ventana de Logeo

9. Principal.jsp.- Ventana Principal con el menú y el Área de trabajo.

10. ManEmpleado.jsp, EmpleadoList.jsp, ManEmpleadoDetalle.jsp,.- Ventana para el


mantenimiento(lectura, inserc ión, modificación y eliminación) de Empleados.

Ing. Alberto Moreno C. 7


Especificaciones del Proyecto Ing. Alberto Moreno C.

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.

o ManEmpleadoDetalle.jsp el cual muestra el detalle de los datos del empleado a


insertar (si se llamo desde [nuevo]) o modificar (si se llamo desde editar del
EmpleadoList).
Las Opciones del campo departamento son todos los departamentos existentes en la
Base de Datos

Ing. Alberto Moreno C. 8


Especificaciones del Proyecto Ing. Alberto Moreno C.

11. ManUsuario.jsp, UsuarioList.jsp, ManUsuarioDetalle.jsp,.- Ventana para el mantenimiento(lectura,


inserción, modificación y e liminación) de Usuario.

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.

Ing. Alberto Moreno C. 9


Especificaciones del Proyecto Ing. Alberto Moreno C.

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.

Ing. Alberto Moreno C. 10


Especificaciones del Proyecto Ing. Alberto Moreno C.

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.

Ing. Alberto Moreno C. 11


Especificaciones del Proyecto Ing. Alberto Moreno C.

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");

Ing. Alberto Moreno C. 12


Especificaciones del Proyecto Ing. Alberto Moreno C.

%>
<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">

Ing. Alberto Moreno C. 13


Especificaciones del Proyecto Ing. Alberto Moreno C.

<input name="go" type="submit" value=">>">


<a href="ManEmpleadoDetalle.jsp?opt=1" target="ManEmpleadoDetalle"
onclick="javascript:frm.opt.value=1;" >
[Nuevo Empleado]
</a>
</form>
</td>
</TR>
<TR>
<td align="center">
<iframe name="ManEmpleadoDetalle" frameborder=0 width="400" height="250">
</iframe>
</td></TR><TABLE>
</body>
</html>

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

ingresar una parte del nombre o password">


<input name="go" type="submit" value=">>">
<a href="ManUsuarioDetalle.jsp?opt=1"
target="ManUsuarioDetalle"
onclick="javascript:frm.opt.value=1;" >
[Nuevo Usuario]
</a>
</form>
</td>
</TR>
<TR>
<td>
<iframe name="ManUsuarioDetalle" frameborder=0
width="400" height="250">
</iframe>
</td>
</TR>
</TAble>
</body>

Ing. Alberto Moreno C. 14


Especificaciones del Proyecto Ing. Alberto Moreno C.

</html>

EmpleadoList.jsp

<%@page import="sys.bean.*" %>


<%@page import="sys.list.*" %>
<html>
<head><title>Lista de Empleados</title></head>
<body bgcolor="white">
<%EmpleadoList lista = (EmpleadoList)request.getAttribute("EmpleadoList");%>
<table align="center" cellSpacing=0 cellPad ding=0 border=5 width="100%">
<tr>
<th></th>
<th>Id</th>
<th>Nombre</th>
<th>Sueldo</th>
<th>E-Mail</th>
<th>Departamento</th>
</tr>
<%for(int i=0;i<lista.size();i++){
String color = ((i%2)==0)?"FFFFFF":"#DAFEFB";
Empleado o = lista.getEmpleado(i);
%>
<tr bgcolor="<%=color%>">
<td>
<a href="/xcaja/ManEmpleado?opt=3&emp_id=<%=o.getEmp_id()%>"
target='ManEmpleadoDetalle'
onclick="javascript: return confirm('Seguro de eliminar?');">
.x.</a>
</td>
<td><%=o.getEmp_id()%></td>
<td><a href="/xcaja/ManEmpleado?opt=10&emp_id=<%=o.getEmp_id()%>"
target='ManEmpleadoDetalle' ><%=o.getEmp_nom()%></a></td>
<td><%=o.getEmp_sueldo()%></td>
<td><%=o.getEmp_mail()%></td>
<td><%=o.getDep_id()%></td>
</tr>
<%}%>
</table>
</body>
</html>

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>

Ing. Alberto Moreno C. 15


Especificaciones del Proyecto Ing. Alberto Moreno C.

<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

<%@page import="sys.bean.*" %>


<%@page import="sys.data.*" %>
<%@page import="sys.list.*" %>
<html>
<head><title>Mantenimiento Empleado Detalle</title></head> <%
String opt=request.getParameter("opt");
String er=(String)request.getAttribute("ER");
if (er == null){er="";}
Empleado
o=(Empleado)request.getAttribute("Empleado");
if (o == null){
o=new Empleado();
o.setEmp_id(0);
o.setEmp_nom("");
o.setEmp_sueldo(2000.00);
o.setEmp_mail("@hotmail.com");
o.setDep_id(1);
}%>
<BODY BACKGROUND="4.jpg" bgcolor="blue"
onload="javascript:window.document.frm.emp_nom.focu s();"> <FORM NAME="frm"
method="POST" action="/xcaja /ManEmpleado"> <input type="hidden" name="opt"
value="<%=opt%>"> <TABLE align="center" cellSpacing=0 cellPadding=0 border=5 width="50%"
bgcolor="white"> <TR><TD colspan="2"><font color="#FF0000"><%=er%></font></TD></TR>
<TR><TD colspan="2"><HR></TD></TR> <TR><TD>Empleado*</TD>

Ing. Alberto Moreno C. 16


Especificaciones del Proyecto Ing. Alberto Moreno C.

<TD><input type="text" name="emp_id"


value="<%=o.getEmp_id()%>"></TD>
</TR> <tr align="left">
<td>Nombre<font color="#FF0000">*</font>:</td>
<td><input type="text" name="emp_nom"
value="<%=o.getEmp_nom()%>"></td>
</tr> <tr align="left">
<td>Sueldo*:</td><td>
<input name="emp_sueldo" type="radio" value="1000.00"
<%if (o.getEmp_sueldo()==1000.00){%>
checked<%}%>>1000.00 <input name="emp_sueldo" type="radio"
value="2000.00"
<%if (o.getEmp_sueldo()==2000.00){%>
checked<%}%>>2000.00 <input name="emp_sueldo" type="radio"
value="3000.00" <%if (o.getEmp_sueldo()==3000.00){%>
checked<%}%>>3000.00
</td> </tr> <tr align="left">
<td>E-Mail:</td>
<td><input type="text" name="emp_mail"
value="<%=o.getEmp_mail()%>"></td>
</tr> <tr align="left"> <td> Departamento*:</td> <td>
<select name="dep_id">
<option value="1"
<%if (o.getDep_id()==1){%> selected<%}%>>Sistemas
<option value="2"
<%if (o.getDep_id()==2){%>
selected<%}%>>Administración
<option value="3"
<%if (o.getDep_id()==3){%>
selected<%}%>>Ventas
</select>
</td>
</tr>
<TR><TD colspan="2"><HR></TD></TR>
<TR align=center><TD colspan="2">
<input type="submit" value="OK!">
</TD></TR>
</TABLE>
<FORM>
</body>
</html>

ManUsuarioDetalle.jsp

<%@page import="sys.bean.*" %>


<%@page import="sys.data.*" %>
<%@page import="sys.list.*" %>
<html>
<head><title>Mantenimiento - Usuario Detalle</title></head>
<%
String opt=request.getParameter("opt");
String ur=(String)request.getAttribute("UR");
if (ur == null){ur="";}
Usuario u =(Usuario)request.getAttribute("Usua rio");
if (u == null){

Ing. Alberto Moreno C. 17


Especificaciones del Proyecto Ing. Alberto Moreno C.

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">

Ing. Alberto Moreno C. 18


Especificaciones del Proyecto Ing. Alberto Moreno C.

<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++) {

Ing. Alberto Moreno C. 19


Especificaciones del Proyecto Ing. Alberto Moreno C.

cad = cad + ((i==0)?"":";") + document.selfrm.sel.options[i].value;


}
self.opener.document.frm.txtto.value=cad;
window.close();
}
</script>
<BODY BACKGROUND="6.jpg" bgcolor="white">

<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="hola@hotmail.com">mglangvas@yahoo.com</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

<%@page import="sys.bean.*" %>


<%@page import="sys.data.*" %>
<%@page import="sys.list.*" %>
<html>
<head><title>Mantenimiento Empleado Detalle</title></head>
<%EmpleadoList rep = (EmpleadoList)EmpleadoData.selectRep();%>
<body bgcolor ="white">
<table align="center" cellSpacing=0 cellPadding=0 border=4 width="100%">
<tr>
<th>Id</th>
<th>Nombre</th>
<th>Sueldo</th>
<th>Mail</th>

Ing. Alberto Moreno C. 20


Especificaciones del Proyecto Ing. Alberto Moreno C.

<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

Ing. Alberto Moreno C. 21


Especificaciones del Proyecto Ing. Alberto Moreno C.

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() {}

public int getdep_id() {


return this.dep_id;
}
public void setdep_id(int dep_id) {
this.dep_id = dep_id;
}
public String getdep_nom() {
return this.dep_nom;
}
public void setdep_nom(String dep_nom) {
this.dep_nom = dep_nom;
}
public int getxctemp_id() {
return this.xctemp_id;
}
public void setxctemp_id(int xctemp_id) {
this.xctemp_id = xctemp_id;
}
public double getxsmenp_sueldo() {
return this.xsmenp_sueldo;
}
public void setxsmenp_sueldo(double xsmenp_sueldo) {
this.xsmenp_sueldo = xsmenp_sueldo;
}

Empleado.java
package sys.bean;
public class Empleado {

Ing. Alberto Moreno C. 22


Especificaciones del Proyecto Ing. Alberto Moreno C.

private int emp_id;


private double emp_sueldo;
private String emp_nom;
private String emp_mail;
private int dep_id;

public Empleado() {}

public int getEmp_id() {


return this.emp_id;
}
public void setEmp_id(int emp_id) {
this.emp_id = emp_id;
}
public String getEmp_nom() {
return this.emp_nom;
}
public void setEmp_nom(String emp_nom) {
this.emp_nom = emp_nom;
}
public double getEmp_sueldo() {
return this.emp_sueldo;
}
public void setEmp_sueldo(double emp_sueldo) {
this.emp_sueldo = emp_sueldo;
}
public String getEmp_mail() {
return this.emp_mail;
}
public void setEmp_mail(String emp_mail) {
this.emp_mail = emp_mail;
}
public int getDep_id() {
return this.dep_id;
}
public void setDep_id(int dep_id) {
this.dep_id = dep_id;
}
}

Usuario.java
package sys.bean;
public class Usuario {
private String us_nom;

Ing. Alberto Moreno C. 23


Especificaciones del Proyecto Ing. Alberto Moreno C.

private String us_pas;


private int us_nivel;
public Usuario(){}

public String getUs_nom() {


return this.us_nom;
}
public void setUs_nom(String us_nom) {
this.us_nom = us_nom;
}
public String getUs_pas() {
return this.us_pas;
}
public void setUs_pas(String us_pas) {
this.us_pas = us_pas;
}
public int getUs_nivel() {
return this.us_nivel;
}
public void setUs_nivel(int us_nivel) {
this.us_nivel = us_nivel;
}
}

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("jamh@hotmail.com");
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++;
}

Ing. Alberto Moreno C. 24


Especificaciones del Proyecto Ing. Alberto Moreno C.

}
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;

Ing. Alberto Moreno C. 25


Especificaciones del Proyecto Ing. Alberto Moreno C.

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();

Ing. Alberto Moreno C. 26


Especificaciones del Proyecto Ing. Alberto Moreno C.

}
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+"%'";

Ing. Alberto Moreno C. 27


Especificaciones del Proyecto Ing. Alberto Moreno C.

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()){

Ing. Alberto Moreno C. 28


Especificaciones del Proyecto Ing. Alberto Moreno C.

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.getDoub le("xsmenp_sueldo"));
el.add(e);
}
rs.close();
stm.close();
con.close();
}
catch(Exception e){
e.printStackTrace();
}
return el;
}
}
EmpleadoData
package sys.data;
import java.sql.*;
import sys.bean.Empleado;
import sys.list.EmpleadoList;
public class EmpleadoData {
public EmpleadoData() {}
public static String insert(Empleado emp){
String ok="";
try{
Connection con=DataBase. getConnection();
Statement stm=con.createStatement();
String sql="insert into empleado
values("+emp.getEmp_id()+",'"+emp.getEmp_nom()+"',"+emp.getEmp_sueldo()+",'"+emp.getEmp_m
ail()+"',"+emp.getDep_id()+")";
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(Empleado emp){
String ok="";
try{
Connection con=DataBase.getConnection();
Statement stm=con.createStatement();
String sql="update empleado set emp_nom='"+emp. getEmp_nom()+"',"
+"emp_sueldo="+emp.getEmp_sueldo()+",emp_mail='"+emp.getEmp_mail()+"',dep_id="+emp.getDe
p_id()+" where emp_id="+emp.getEmp_id();
System.out.println("sql:"+sql);
stm.executeUpdate(sql);
System.out.println("OK:update ");

Ing. Alberto Moreno C. 29


Especificaciones del Proyecto Ing. Alberto Moreno C.

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){

Ing. Alberto Moreno C. 30


Especificaciones del Proyecto Ing. Alberto Moreno C.

EmpleadoList el=new EmpleadoList();


try{
Connection con=DataBase.getConne ction();
Statement stm=con.createStatement();
String sql="select * from empleado where convert(varchar(10),emp_id) like '%"+filtro+"%' " +"or
emp_nom like '%"+filtro+"%'";
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 Empleado getEmpleado(String id){
Empleado o = new Empleado();
Connection con = null;
Statement stm = null;
try{
String sql = "select * from empleado where emp_id=" +id;
System.out.println("sql:"+sql);
con = DataBase.getConnection();
stm = con.createStatement();
ResultSet rs = stm.executeQuery(sql);
if (rs.next()){
o.setEmp_id(rs.getInt("emp_id"));
o.setEmp_nom(rs.getString("emp_nom"));
o.setEmp_sueldo(rs.getDouble("emp_sueldo"));
o.setEmp_mail(rs.getString("emp_mail"));
o.setDep_id(rs.getInt("dep_id"));
}
stm.close();
con.close();
}
catch (Exception e){
e.printStackTrace();
}
return o;
}
public static EmpleadoList selectRep(){
EmpleadoList el=new EmpleadoList();
try{

Ing. Alberto Moreno C. 31


Especificaciones del Proyecto Ing. Alberto Moreno C.

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();

Ing. Alberto Moreno C. 32


Especificaciones del Proyecto Ing. Alberto Moreno C.

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();

Ing. Alberto Moreno C. 33


Especificaciones del Proyecto Ing. Alberto Moreno C.

}
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;

Ing. Alberto Moreno C. 34


Especificaciones del Proyecto Ing. Alberto Moreno C.

Usuario u=new Usuario();


int a;
try{
Connection cn=DataBase.getConnection();
Statement stm=cn.createStatement();
String sql="select * from usuario where us_nom='"+nom+"' and us_pas='"+pas+"'";
ResultSet rs=stm.executeQuery(sql);
if(rs.next()){
ok=true;
}
rs.close();
stm.close();
cn.close();
}
catch(Exception e){
e.printStackTrace();
}
return ok;
}
}
sys.list

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;

Ing. Alberto Moreno C. 35


Especificaciones del Proyecto Ing. Alberto Moreno C.

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);

Ing. Alberto Moreno C. 36


Especificaciones del Proyecto Ing. Alberto Moreno C.

protected void doPost(HttpServletRequest request, HttpServletResponse response)


throws ServletException, IO Exception {
processRequest(request, response);
}
}
ManEmpleado.java
package sys.servlet;
import java.io.*;
import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;
import sys.bean.Empleado;
import sys.list.EmpleadoList;
import sys.data.*;
public class ManEmpleado 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(request,response); break;

}
}
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);

Ing. Alberto Moreno C. 37


Especificaciones del Proyecto Ing. Alberto Moreno C.

}
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);
}

protected void doGet(HttpServletRequest request, HttpServletResponse response)


throws ServletException, IOException {
processRequest(request, response);
}

protected void doPost(HttpServletRequest request, HttpServletResponse response)


throws ServletException, IOException {
processRequest(request, response);
}
public String getServletInfo() {
return "Short description";
}
}

ManUsuario.java
package sys.servlet;
import java.io.*;

Ing. Alberto Moreno C. 38


Especificaciones del Proyecto Ing. Alberto Moreno C.

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);

Ing. Alberto Moreno C. 39


Especificaciones del Proyecto Ing. Alberto Moreno C.

}
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);
}

protected void doGet(HttpServletRequest request, HttpServletResponse response)


throws ServletException, IOException {
processRequest(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
}

Ing. Alberto Moreno C. 40