Descripción: Una aplicacion en N capas en java web, alumnos de LP2 de UTP, escribame para enviarle el codigo fuente , esta bien detallado la elaboraci...
Marquen Con Una Cruz Todos Los Conjuntos Numéricos a Los Cuales Pertenecen Las Soluciones de Las EcuacionesDescripción completa
Descripción completa
EjemplosDescripción completa
Proceso para la realización y documentación de una auditoria por capasDescripción completa
Aspectos básicos de utilización de capas en Adobe Photoshop CSFull description
Descripción completa
Descripción completa
Proceso para la realización y documentación de una auditoria por capas
Breve explicación de los tipos de capas en PhotoshopDescripción completa
Descripción: capas con java
1 Facultad de Ingeniería Industrial y de Sistemas
Ing. Alberto Moreno C.
UNA APLICACIÓN CON CAPAS EN JAVA WEB
La capa de procesos que interactúan con la BDD y el servlet
Se proceden a colocar todos los métodos que se van a ejecutar , como listados , generación de
2 Facultad de Ingeniería Industrial y de Sistemas
Ing. Alberto Moreno C.
Las Tablas que intervienen : Paginas que el proyecto creadas en ORACLE Servlet la capa Las entidades o PASAJEROS interactúan con donde recepciona Clases que RUTA VIAJES BOLNRO CHAR(6) el cliente intervienen en su RUTCOD CHAR(4) NROVIA CHAR(6)y envía NROVIA CHAR(6)proyecto RUTNOM VARC RUTCOD CHAR(4) NOMPAS VARCHAR2(30) HAR2(25) VIAFECH DATE ASIENTO INTEGER VIAHRS DATE Las pantallas: PAGO NUMBER(8,1) COSTO NUMBER(6,1) a) Debe mostrar una lista de rutas: PagRuta.jsp
3 Facultad de Ingeniería Industrial y de Sistemas
Ing. Alberto Moreno C.
Descripción al seleccionar una ruta va llamar al servlet (SerVia donde se va pasar el código de ruta y nombre que es necesario para listar todos los viajes destinados a esa ruta)
PagViaje.jsp
4 Facultad de Ingeniería Industrial y de Sistemas
Ing. Alberto Moreno C.
Al seleccionar un viaje va mostrar todos los pasajeros que se encuentran en ese viaje va llamar al servlet(Serpasa) enviando como dato el numero de viaje y el costo ambos datos tienen que ser almacenados en una sesión para que sean empleados en la pagina de adición de pasajeros observe que request.getAttribute recupera el dato enviado por el servlet pero cuando pasa o llama a otra pagina pierde su valor por lo tanto al emplear HttpSession ses=request.getSession() , se crea una sesión los valores almacenados pueden ser llamados en cualquier parte o paginas del proyecto.
Pagpasa.jsp
5 Facultad de Ingeniería Industrial y de Sistemas
Ing. Alberto Moreno C.
b) Al hacer clic en adicionar pasajeros , va mostrar la siguiente pantalla para poder ingresar nuevos pasajeros, observe que el numero de viaje y el costo tienen que ser recuperados en esta pagina , como esta en una sesión entonces se puede recuperar. Los datos viaje y costo además tienen que ser colocados en un campo oculto para puedan ser enviados al servlet para grabación (SerGraba) una vez grabado se genera el numero de boleto y dirige la pagina hacia Pagpasa(lista de pasajeros) para que el listado sea actualizado.
PagAdicion.jsp
6 Facultad de Ingeniería Industrial y de Sistemas
Ing. Alberto Moreno C.
Para el calculo del pago al seleccionar cualquier opción automáticamente va mostrar su pago , por lo tanto tiene que emplear códigos en javascript , porque la operación es a nivel de cliente en el browser. Entre a NetBeans y crear los siguientes paquetes: SYS.DAO, SYS.BEAN, SYS.SERVLET
7 Facultad de Ingeniería Industrial y de Sistemas
Descripción del código: En Conexión.java ( SYS.DAO) package SYS.DAO; import java.sql.*; public class Conexion { public static Connection getConexion(){ //oracle String String String String
Ing. Alberto Moreno C.
System.out.print(ex.getMessage()); }
return cn; } //PASANDO UNA INSTRUNCCION SQL QU DEVUELVA LA TABLA public static ResultSet Runqry(String sql)throws SQLException{ ResultSet rs=null; PreparedStatement st=getConexion().prepareStatement(sql); rs=st.executeQuery();
} //ejecutar una aplicacion para grabar o //eleiminar public static int Ejecutar(String sql) Connection cn=null; throws SQLException{ try{ int res=0; Class.forName(Driver); Statement st = cn = DriverManager.getConnection(URL,user,password); getConexion().createStatement(); res = st.executeUpdate(sql); }catch(Exception ex){ return res; } } Las entidades :
8 Facultad de Ingeniería Industrial y de Sistemas
Ing. Alberto Moreno C.
Ruta.java
Viaje.java
package SYS.DAO;
package SYS.DAO;
public class Ruta { private String codr=null; private String nomr=null; public Ruta(String a, String b){ codr=a; nomr=b; } public String getCodr() { return codr; }
public class Viaje { private String vianro=null; private String fecha=null; private String hora=null; private double costo=0; public Viaje(String a, String b,String c, double d){ vianro=a; fecha=b; hora=c; costo=d; }
public void setCodr(String codr) { this.codr = codr; }
public String getVianro() { return vianro; }
public String getNomr() { return nomr; }
public void setVianro(String vianro) { this.vianro = vianro; }
public void setNomr(String nomr) { this.nomr = nomr; }
public String getFecha() { return fecha; } public void setFecha(String fecha) { this.fecha = fecha; }
}
public String getHora() { return hora; } }
9 Facultad de Ingeniería Industrial y de Sistemas
Ing. Alberto Moreno C.
La entidad Pasajeros:
this.nompas = nompas;
package SYS.DAO;
}
public class Pasajero { private String boleto; private String via; private String nompas; private int asiento; private String tipo; private double pago;
public String getTipo() { return tipo; } public void setTipo(String tipo) { this.tipo = tipo; }
public String getBoleto() { return boleto; }
public double getPago() { return pago; }
public void setBoleto(String boleto) { this.boleto = boleto; }
public void setPago(double pago) { this.pago = pago; }
public String getVia() { return via; }
public int getAsiento() { return asiento; }
public void setVia(String via) { this.via = via; }
public void setAsiento(int asiento) { this.asiento = asiento; }
public String getNompas() { return nompas; } public void setNompas(String nompas) {
en el paquete SYS.BEANS
package SYS.BEANS;
Proceso.java
}
10 Facultad de Ingeniería Industrial y de Sistemas
Ing. Alberto Moreno C.
import SYS.DAO.*; import java.sql.*; import java.util.*; public class Proceso { //lista de rutas public List LisRut(){ List lista=new ArrayList(); String sql="Select rutcod, rutnom from ruta"; try{ ResultSet rs=Conexion.Runqry(sql); while(rs.next()){ Ruta obj=new Ruta(rs.getString(1),rs.getString(2)); lista.add(obj); } }catch(Exception e){ e.printStackTrace(); } return lista; } //lista de viajes pasando el codigo de ruta public List Lisvia(String codr){ List lista=new ArrayList(); String sql="Select Vianro, Viafch, viahrs, cosvia from viaje where rutcod='"+codr+"'"; try{ ResultSet rs=Conexion.Runqry(sql); while(rs.next()){ Viaje obj=new Viaje(rs.getString(1), rs.getString(2).substring(0,10), rs.getString(3).substring(11), rs.getDouble(4)); lista.add(obj); }
11 Facultad de Ingeniería Industrial y de Sistemas
Ing. Alberto Moreno C.
}catch(Exception e){ e.printStackTrace(); } return lista; } //lista de pasajeros respecto a un viaje public List LisPasa(String via){ List lista=new ArrayList(); String sql="select bolnro, nom_pas,nro_Asi, tipo,pago from pasajeros where vianro='"+via+"'"; try{ ResultSet rs=Conexion.Runqry(sql); while(rs.next()){ Pasajero obj=new Pasajero(); obj.setBoleto(rs.getString(1)); obj.setNompas(rs.getString(2)); obj.setAsiento(rs.getInt(3)); obj.setTipo(rs.getString(4)); obj.setPago(rs.getDouble(5)); lista.add(obj); } }catch(Exception e){ e.printStackTrace(); } return lista;
} //busca si un asiento esta ocupado o no public boolean Ocupado(int asiento, String via){ boolean existe=false; for(Pasajero x:LisPasa(via)){ if(asiento==x.getAsiento()){ existe=true;
12 Facultad de Ingeniería Industrial y de Sistemas
Ing. Alberto Moreno C.
break; }
} return existe; } public void Graba(Pasajero obj){ //para adicionar nuevos pasajeros al viaje seleccionado String sql="insert into pasajeros values(?,?,?,?,?,?)"; try{ PreparedStatement st=Conexion.getConexion().prepareStatement(sql); st.setString(1, obj.getBoleto()); st.setString(2,obj.getVia()); st.setString(3, obj.getNompas()); st.setInt(4, obj.getAsiento()); st.setString(5, obj.getTipo()); st.setDouble(6, obj.getPago()); st.executeUpdate(); }catch(SQLException e){ e.printStackTrace(); } } public String GenBoleto(){ String cad=""; //NVL PERMITE SABER SI UN VALOR ES NULO , SI LA TABLA ESTA VACIA NO HAY MAXIMO , POR LO TANTO EL VALOR ES CERO String sql="select NVL(MAX(BOLNRO),'0')+1 FROM PASAJEROS"; try{ ResultSet rs=Conexion.Runqry(sql); rs.next(); int nro=rs.getInt(1); java.text.DecimalFormat sd=new java.text.DecimalFormat("000000"); //para rellenar con ceros a la izquierda
13 Facultad de Ingeniería Industrial y de Sistemas
Pago <% List lista= (ArrayList)request.getAttribute("lispas"); for(Pasajero x:lista){ %>
<%=x.getBoleto() %>
<%=x.getNompas() %>
<%=x.getAsiento() %>
<%=x.getPago() %> <%} %>
La pagina de Ingreso de datos nuevos pasajeros:
PagAdicion.jsp
Ing. Alberto Moreno C.
20 Facultad de Ingeniería Industrial y de Sistemas El diseño realizarlo con
Ing. Alberto Moreno C.
macromedia, que es mas sencillo.
<%@page import="SYS.DAO.*,SYS.BEANS.*,java.util.*" %> Ingreso <%@include file="/Cabecera.jsp" %> <% //recuperando valores de la session HttpSession ses=request.getSession(); String viaje=(String)ses.getAttribute("via"); double costo= Double.parseDouble((String)ses.getAttribute("costo")); Proceso obj=new Proceso(); %> <script language="javascript"> function calculo(n){ //recuperando el valor del campo oculto cos=parseFloat(form1.tcos.value) switch(n){ case 1:pago=cos; break;//adulto case 2:pago=cos*0.5 ; break; case 3:pago=cos*0.7 } form1.tpago.value=pago }