lunes, 9 de enero de 2012

pedido de clientes con jsp y conexión con postgresql 8.4

pedido de clientes con jsp mas postgrest 8.4 como crear un programa en java de pedido de clientes con jsp y conexión con postgresql 8.4

Taller Web con bases de datos.
Crear un proyecto web llamado pryClientes, luego deberán agregar la
librería correspondiente para JDBC, para hacerlo es necesario ubicar la
carpeta de librerías.




Luego de dar click derecho sobre ésta aparecerá la siguiente ventana:



Para luego agregar una librería nueva, ésta será la de JDBC, observar la
página abajo indicada:




Crear una página para el ingreso de clientes llamada frmClientes.jsp, ésto
se deberá hacer mediante HTML, los campos para crear dicha interfaz son
los siguientes:
id_cliente;
nombre_cliente;
apellidos;
direccion;
id_tipo_cliente;
id_tipo_doc;
id_ciudad;
cp;
tf1;
tf2;
email1;
email2;
observaciones;
sexo;
fecha_nacimiento;
fecha_expedicion;
foto;
id_camarero;
representante;
marca;
estado;


Cada elemento anterior representa un <INPUT type=text”… la propiedad
name deberá llamarse tal y como aparece en la lista.
Para lograr dicho objetivo, es necesario hacer click contrario sobre “web
pages” y luego nuevo → jsp, tal y como aparece en la figura abajo
indicada:




El nombre del formulario será frmCliente, como se indicó en el párrafo
anterior. Observe la figura abajo indicada:




Un código ejemplo para el formulario, sin ninguna estética es el siguiente:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insertar Clientes</title>
</head>
<body>
<form action="registro.jsp">
Codigo cliente <input type="text" name=""/><br>
Nombre Cliente <input type="text" name=""/><br>
Apellidos <input type="text" name=""/><br>
Direccion <input type="text" name=""/><br>
Tipo Cliente <input type="text" name=""/><br>
Tipo Documento <input type="text" name=""/><br>
Ciudad <input type="text" name=""/><br>
Codigo Postal <input type="text" name=""/><br>
Telefono <input type="text" name=""/><br>
Celular <input type="text" name=""/><br>
Correo a <input type="text" name=""/><br>
Correo a <input type="text" name=""/><br>
Observaciones <input type="text" name=""/><br>
Sexo <input type="text" name=""/><br>
Fecha Nacimiento <input type="text" name=""/><br>
Fecha Expedicion <input type="text" name=""/><br>
Foto <input type="text" name=""/><br>
Camarero <input type="text" name=""/><br>
Representante <input type="text" name=""/><br>
Marca preferida <input type="text" name=""/><br>
Estado <input type="text" name=""/><br>
<input type="submit" value="registrar"/>
</form>
</body>
</html>


Luego crear un paquete llamado pkgConeccion, tal y como aparece en la
figura abajo indicada:



Al interior de éste crear dos clases, recuerde que se hace por medio de
click derecho sobre el paquete → nuevo → clase Java. Las clases a crear
serán: clsCliente y clsConn

La clase clsCliente tendrá el código abajo relacionado:

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package pkgConeccion;
public class clsCliente {
private String id_cliente;
private String nombre_cliente;
private String apellidos;
private String direccion;
private String id_tipo_cliente;
private String id_tipo_doc;
private String id_ciudad;
private String cp;
private String tf1;
private String tf2;
private String email1;
private String email2;
private String observaciones;
private String sexo;
private String fecha_nacimiento;
private String fecha_expedicion;
private String foto;
private String id_camarero;
private String representante;
private String marca;
private String estado;
pkgConeccion.clsConn conn = new pkgConeccion.clsConn();
/**
* @return the id_cliente
*/
public String getId_cliente() {
return id_cliente;
}
/**
* @param id_cliente the id_cliente to set
*/
public void setId_cliente(String id_cliente) {
this.id_cliente = id_cliente;
}
/**
* @return the nombre_cliente
*/
public String getNombre_cliente() {
return nombre_cliente;
}
/**
* @param nombre_cliente the nombre_cliente to set
*/
public void setNombre_cliente(String nombre_cliente) {
this.nombre_cliente = nombre_cliente;
}
/**
* @return the apellidos
*/
public String getApellidos() {
return apellidos;
}
/**
* @param apellidos the apellidos to set
*/
public void setApellidos(String apellidos) {
this.apellidos = apellidos;
}
/**
* @return the direccion
*/
public String getDireccion() {
return direccion;
}
/**
* @param direccion the direccion to set
*/
public void setDireccion(String direccion) {
this.direccion = direccion;
}
/**
* @return the id_tipo_cliente
*/
public String getId_tipo_cliente() {
return id_tipo_cliente;
}
/**
* @param id_tipo_cliente the id_tipo_cliente to set
*/
public void setId_tipo_cliente(String id_tipo_cliente) {
this.id_tipo_cliente = id_tipo_cliente;
}
/**
* @return the id_tipo_doc
*/
public String getId_tipo_doc() {
return id_tipo_doc;
}
/**
* @param id_tipo_doc the id_tipo_doc to set
*/
public void setId_tipo_doc(String id_tipo_doc) {
this.id_tipo_doc = id_tipo_doc;
}
/**
* @return the id_ciudad
*/
public String getId_ciudad() {
return id_ciudad;
}
/**
* @param id_ciudad the id_ciudad to set
*/
public void setId_ciudad(String id_ciudad) {
this.id_ciudad = id_ciudad;
}
/**
* @return the cp
*/
public String getCp() {
return cp;
}
/**
* @param cp the cp to set
*/
public void setCp(String cp) {
this.cp = cp;
}
/**
* @return the tf1
*/
public String getTf1() {
return tf1;
}
/**
* @param tf1 the tf1 to set
*/
public void setTf1(String tf1) {
this.tf1 = tf1;
}
/**
* @return the tf2
*/
public String getTf2() {
return tf2;
}
/**
* @param tf2 the tf2 to set
*/
public void setTf2(String tf2) {
this.tf2 = tf2;
}
/**
* @return the email1
*/
public String getEmail1() {
return email1;
}
/**
* @param email1 the email1 to set
*/
public void setEmail1(String email1) {
this.email1 = email1;
}
/**
* @return the email2
*/
public String getEmail2() {
return email2;
}
/**
* @param email2 the email2 to set
*/
public void setEmail2(String email2) {
this.email2 = email2;
}
/**
* @return the observaciones
*/
public String getObservaciones() {
return observaciones;
}
/**
* @param observaciones the observaciones to set
*/
public void setObservaciones(String observaciones) {
this.observaciones = observaciones;
}
/**
* @return the sexo
*/
public String getSexo() {
return sexo;
}
/**
* @param sexo the sexo to set
*/
public void setSexo(String sexo) {
this.sexo = sexo;
}
/**
* @return the fecha_nacimiento
*/
public String getFecha_nacimiento() {
return fecha_nacimiento;
}
/**
* @param fecha_nacimiento the fecha_nacimiento to set
*/
public void setFecha_nacimiento(String fecha_nacimiento) {
this.fecha_nacimiento = fecha_nacimiento;
}
/**
* @return the fecha_expedicion
*/
public String getFecha_expedicion() {
return fecha_expedicion;
}
/**
* @param fecha_expedicion the fecha_expedicion to set
*/
public void setFecha_expedicion(String fecha_expedicion) {
this.fecha_expedicion = fecha_expedicion;
}
/**
* @return the foto
*/
public String getFoto() {
return foto;
}
/**
* @param foto the foto to set
*/
public void setFoto(String foto) {
this.foto = foto;
}
/**
* @return the id_camarero
*/
public String getId_camarero() {
return id_camarero;
}
/**
* @param id_camarero the id_camarero to set
*/
public void setId_camarero(String id_camarero) {
this.id_camarero = id_camarero;
}
/**
* @return the representante
*/
public String getRepresentante() {
return representante;
}
/**
* @param representante the representante to set
*/
public void setRepresentante(String representante) {
this.representante = representante;
}
/**
* @return the marca
*/
public String getMarca() {
return marca;
}
/**
* @param marca the marca to set
*/
public void setMarca(String marca) {
this.marca = marca;
}
/**
* @return the estado
*/
public String getEstado() {
return estado;
}
/**
* @param estado the estado to set
*/
public void setEstado(String estado) {
this.estado = estado;
}
public boolean modificar(){
String sql="UPDATE cliente SET id_cliente='"+id_cliente+"', nombre_cliente='"+nombre_cliente+"' ,
apellidos='"+apellidos+"' , direccion='"+direccion+"' , id_tipo_cliente='"+id_tipo_cliente+"' ,
id_tipo_doc='"+id_tipo_doc+"' , id_ciudad='"+id_ciudad+"' , cp='"+cp+"' , tf1='"+tf1+"', tf2='"+tf2+"',
email1='"+email1+"' , email2='"+email2+"' , observaciones='"+observaciones+"', sexo='"+sexo+"' ,
fecha_nacimiento='"+fecha_nacimiento+"' , foto='"+foto+"' , id_camarero='"+id_camarero+"' ,
representante='"+representante+"' where id_cliente='"+id_cliente+"'";
if (conn.actualizar(sql)==1)
return true;
return false;
}
public boolean eliminar(String key){
String sql="DELETE from cliente where id_cliente='"+key.toString()+"'";
if (conn.actualizar(sql)==1)
return true;
return false;
}
public String insertar(){
String sql="INSERT INTO cliente VALUES ('"+id_cliente+"', '"+nombre_cliente+"', '"+apellidos+"',
'"+direccion+"' , '"+id_tipo_cliente+"' , '"+id_tipo_doc+"' , '"+id_ciudad+"' , '"+cp+"' , '"+tf1+"', '"+tf2+"', '"+email1+"',
'"+email2+"' , '"+observaciones+"' , '"+sexo+"' , '"+fecha_nacimiento+"' , '"+foto+"' , '-', '"+representante+"', 'a')";
if (verifica(id_cliente)==true)
return "0";
else{
if (conn.insertar(sql)==null)
return "1";
}
return "-1";
}
public boolean verifica(String key){
String sql="SELECT * From cliente where id_cliente='"+key.toString()+"'";
if (conn.verificar(sql) == 1)
return true;
return false;
}
}





La clase clsConn tendrá el código abajo relacionado:

package pkgConeccion;
import java.io.Serializable;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class clsConn implements Serializable{
ResultSet res=null;
private Connection con= null;
Statement st=null;
String driver="org.postgresql.Driver";
String url="jdbc:postgresql://127.0.0.1/dbinformacion";
String userDB="postgres";
String passDB="postgres";
public clsConn(){
conectar();
}
public int conectar(){
try{
Class.forName(driver);
}
catch (ClassNotFoundException e){
System.out.println("No se pudo cargal el driver :-( "+driver);
return -1;
}
try{
con=DriverManager.getConnection(url,userDB,passDB);
}
catch(SQLException e){
System.out.println("No se pudo realizar la conexion :-(");
return -2;
}
return 1;
}
public String buscarS(String sql){
try{
ResultSet r=null;
st=getCon().createStatement();
r=st.executeQuery(sql);
r.next();
return r.getString(1);
}
catch(SQLException e){
return "-1";
}
}
public String buscarC(String sql, int c){
try{
ResultSet r=null;
st=getCon().createStatement();
r=st.executeQuery(sql);
if (r.next());
return r.getString(c);
}
catch(SQLException e){
return "-1";
}
}
public SQLException insertar(String sql){
try{
st=getCon().createStatement();
st.execute(sql);
st.close();
return null;
}
catch(SQLException e){
return e;
}
}
public ResultSet consultar(String sql){
try{
st=getCon().createStatement();
res= st.executeQuery(sql);
}
catch(SQLException e){
return null;
}
return res;
}
public int verificar(String sql){
try{
st=getCon().createStatement();
res= st.executeQuery(sql);
if (res.next())
return 1;
st.close();
}
catch(SQLException e){
System.out.println(e);
}
return -1;
}
public int actualizar(String sql){
try{
st=getCon().createStatement();
st.executeUpdate(sql);
st.close();
return 1;
}
catch(SQLException e){
System.out.println(e);
}
return -1;
}
/**
* @return the con
*/
public Connection getCon() {
return con;
}
}




Luego deberán crear una base de datos llamada dbinformacion, en ésta
crearán una tabla llamada cliente, la cual deberá quedar tal y como aparece
en la figura abajo indicada.





Luego crear un formulario llamado registro.jsp, esté se debe indicar en el
formulario de ingreso de clientes (frmCliente.jsp), es decir:

<form action=”registro.jsp”>

Éste programa registro deberá instanciar la clase clsCliente, leer por
request cada elemento del formulario y luego por medio de los métodos set
colocarlos en dicho objeto, y por último llamar el método insertar.
Para crearlo es necesario hacer click derecho sobre “web pages”, luego
nuevo → jsp, tal y como aparece en la figura abajo descrita:





El nombre de la página será registro.jsp, ésto se puede observar la
siguiente figura:





El código ejemplo para ésta página es:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insersar Cliente</title>
</head>
<body>
<%
//Primero se toman los datos del formulario
String id_cliente=request.getParameter("id_cliente");
String nombre_cliente=request.getParameter("nombre_cliente");
String apellidos=request.getParameter("apellidos");
String direccion=request.getParameter("direccion");
String id_tipo_cliente=request.getParameter("id_tipo_cliente");
String id_tipo_doc=request.getParameter("id_tipo_doc");
String id_ciudad=request.getParameter("id_ciudad");
String cp=request.getParameter("cp");
String tf1=request.getParameter("tf1");
String tf2=request.getParameter("tf2");
String email1=request.getParameter("email1");
String email2=request.getParameter("email2");
String observaciones=request.getParameter("observaciones");
String sexo=request.getParameter("sexo");
String fecha_nacimiento=request.getParameter("fecha_nacimiento");
String fecha_expedicion=request.getParameter("fecha_expedicion");
String foto=request.getParameter("foto");
String id_camarero=request.getParameter("id_camarero");
String representante=request.getParameter("representante");
String marca=request.getParameter("marca");
String estado=request.getParameter("estado");
//Luego se crea eo objeto
pkgConeccion.clsCliente objCliente = new pkgConeccion.clsCliente();
objCliente.setId_cliente(id_cliente);
objCliente.setNombre_cliente(nombre_cliente);
objCliente.setApellidos(apellidos);
objCliente.setDireccion(direccion);
objCliente.setId_tipo_cliente(id_tipo_cliente);
objCliente.setId_tipo_doc(id_tipo_doc);
objCliente.setId_ciudad(id_ciudad);
objCliente.setCp(cp);
objCliente.setTf1(tf1);
objCliente.setTf2(tf2);
objCliente.setEmail1(email1);
objCliente.setEmail1(email1);
objCliente.setObservaciones(observaciones);
objCliente.setSexo(sexo);
objCliente.setFecha_nacimiento(fecha_nacimiento);
objCliente.setFecha_expedicion(fecha_expedicion);
objCliente.setFoto(foto);
objCliente.setId_camarero(id_camarero);
objCliente.setRepresentante(representante);
objCliente.setMarca(marca);
objCliente.setEstado(estado);
// Se llama el método y evalúa su resultado
if (objCliente.insertar().equals("1")){
%><h1> Fue insertado correctamente</h1><%
}
else{
if (objCliente.insertar().equals("0")){
%><h1> Ya estaba registrado</h1><%
}
else{
%><h1> Existe un error en la operacion</h1><%
}
}
%>
</body>
</html>



terminado
carlos andres buitrago cardenas codigo :1700620982






0 comentarios:

Publicar un comentario