Aplicación java.io con Oracle JDeveloper11g en MVC
/*Creamos el Bean*/
package paulonline.bean;
public class Cliente{
private String id="";
private String usuario="";
/*Getters and Setters*/
}
--------------------------------
/*Creamos la Clase para properties*/
package paulonline.bean
public class Propiedades{
public static final String getPropiedades(){
/*Retorna el nombre del fichero properties de extensión properties
que será leído por ResourceBundle según JEE
*/
return "properties";
}
}
------------------------------------
/*Creamos el ArrayList para la lista de users*/
package paulonline.lista;
import java.io.Serializable;
import java.util.ArrayList;
import paulonline.bean.Cliente;
public class ClienteLista extends ArrayList implements Serializable{
public Cliente getListaDeClientes(int x){
return (Cliente) get(x);
}
}
------------------------------------
/*Creamos el archivo que utiliza JAVA.IO*/
package paulonline.data;
import java.io.*;
import java.util.Properties;
import paulonline.bean.*;
import paulonline.lista.ClienteLista;
public class ClienteDato extends Propiedades{
public ClienteDato(){
super();
}
public static ClienteLista getListarClientes(){
ClienteLista lista=new ClienteLista();
try{
File f=new File("/root/jdevhome/mywork/paulonline/public_html/datos/clientes");
FileReader fr=new FileReader(f);
BufferedReader br=new BufferedReader(fr);
String rs=br.readLine();
while(rs!=null){
Cliente c=new Cliente();
c.setId(rs.subString(0,3));
c.setUser(rs.subString(3,50));
lista.add(c);
rs=br.readLine();
}
return lista;
}
catch(IOException){ return lista; }
catch(Exception){ return lista; }
}
public static boolean getInsertarCliente(Cliente c){
try{
File f=new File("/root/jdevhome/mywork/paulonline/public_html");
FileOutputStream fos=new FileOutputStream(f+"/datos/"+c.getId());
Properties p=new Properties();
p.put("user: "+user);
p.store(fos,c.getUser()) ;
fos.flush();
fos.close();
return true;
}
catch(IOException){ return false; }
}
}
-----------------------------------
/*Este es el Servlet INSERTAR*/
public class InsertarClientesServlet{
private String conforme;
protected void processRequest(request,response){
Cliente c=new Cliente();
c.setId("user");
c.setUser(request.getParameter("usuario"));
ResourceBundle rb=getBundle(ClienteDato.getPropiedades());
this.conforme=rb.getString("conforme");
request.setAtribute("c",c) ;
this.getServletContext().getRequestDispatcher(conforme).forward(request,response);
}
}
-------------------
/*Este es el Servlet LISTAR*/
public class ListarClientesServlet{
private String listaClientes;
/*doGet según el stándar Oracle JDeveloper11g*/
protected void doGet(request,response){
ClienteLista lista=ClienteDato.getListarClientes();
request.setAttribute("c",lista);
ResourceBundle rb=getBundle(ClienteDato.getPropiedades());
/*Con esto no se escriben datos en duro*/
this.listaClientes=rb.getString("listaClientes");
this.getServletContext().getRequestDispatcher(listaClientes).forward(request,response);
}
}
---------------------------------
/*Página JSF listadeClientes.jsp donde se mostrarán los datos*/
<%@ page language="java"%>
<%@ page import="java.io.*,java.util.*,paulonline.bean.*"%>
<%=c.getUser()%>
---------------------------------
/*Fichero de parámetros. Con este fichero las implementaciones se hacen dinámicamente */
properties.properties
conforme=/cualquierpagina.jsp
listaClientes=listadeClientes.jsp
email=paul_lizardo@hotmail.com //para consultas
/*
Implementar con AJAX y componentes JSF, o diversas librerías, por ejemplo Struts FileUpload, y aumentar los campos del fichero, por ejemplo añadir nombres, dirección, edad, RUC.
El fichero puede venir desde COBOL con el nombre de user.DAT, ó user.dat., ó user.cualquierextension
Si se decide utilizar una Base de Datos, en lugar de un File se debe de crear un DataSource y cambiar java.io por java.sql (Connection, ResultSets y Statements), según la estructura MVC (Modelo-Vista-Controlador) de la presente entrega, que también puede utilizarse como plantilla para aplicaciones complejas DAO y EJB3.0
*/

Meneame
del.icio.us