sábado, 15 de agosto de 2015

Introducción a los Servlet ¿Qué son los Servlet Java?

Introducción a los Java Servlets Los Servlets de Java son la propuesta de la tecnología Java para el desarrollo de aplicaciones web. Un Servlet es un programa que se ejecuta en un servidor web y que construye una página web que es devuelta al usuario. Esta página, construida dinámicamente, puede contener información procedente de bases de datos, ser una respuesta a los datos introducidos por el usuario, etc. 

Los Servlets Java presentan una serie de ventajas sobre los CGI, el método tradicional de desarrollo de aplicaciones web. Éstos son más portables, más potentes, mucho más eficientes, más fáciles de usar, más escalables, etc.

Eficiencia 


Con el modelo tradicional de CGI, cada petición que llega al servidor dispara la ejecución de un nuevo proceso. Si el tiempo de vida del CGI (el tiempo que tarda en ejecutarse) es corto, el tiempo de instanciación (el tiempo de arrancar un proceso) puede superar al de ejecución. Con el modelo de Servlets, la máquina virtual de Java, el entorno donde se ejecutan, se arranca al iniciar el servidor, permaneciendo arrancada durante toda la ejecución del mismo. Para atender cada petición no se arranca un nuevo proceso, sino un thread, un proceso ligero de Java, mucho más rápido (de hecho, casi instantáneo). Además, si tenemos x peticiones simultáneas de un CGI, tendremos x procesos simultáneos en memoria, consumiendo así x veces el espacio de un CGI (que, en caso de ser interpretado, como suele ocurrir, implica el consumo de x veces el intérprete). En el caso de los Servlets, hay determinada cantidad de threads, pero sólo una copia de la máquina virtual y sus clases. 

El estándar de Servlets también nos ofrece más alternativas que los CGI para optimizaciones: caches de cálculos previos, pools de conexiones de bases de datos, etc.

Facilidad de uso 

El estándar de Servlets nos ofrece una magnífica infraestructura de desarrollo de aplicaciones web, proporcionándonos métodos para análisis automático y decodificación de los datos de los formularios de HTML, acceso a las cabeceras de las peticiones HTTP, manejo de cookies, seguimiento, control y gestión de sesiones, entre otras muchas facilidades.

Potencia 

Los Servlets Java permiten hacer muchas cosas que son difíciles o imposibles de realizar con los CGI tradicionales. Los Servlets pueden compartir los datos entre sí, permitiendo compartir datos, conexiones a bases de datos, etc. Asimismo, pueden mantener información de solicitud en solicitud, facilitando tareas como el seguimiento de las sesiones de usuario, etc. 

Portabilidad 

Los Servlets están escritos en Java y se rigen por un API estándar bien documentado. Como consecuencia de ello, los Servlets pueden ejecutarse en todas las plataformas que nos ofrezcan soporte de Java Servlets, sin tener que recompilar, modificarse, etc., sean estas plataformas Apache, iPlanet, IIS, etc., y además, con independencia de sistema operativo, arquitectura hardware, etc.

Arquitectura de un Servlet 


Para optener más información y compresión sobre el tema les invito a mirar un video del Canal de CompartiendoCodigos espero que les sirva y les guste!!!


Bibliografia: Desarrollo de Aplicaiones Web, Software Libre, Carles Mateu, XP04/90791/00021

viernes, 14 de agosto de 2015

Introducción al Diseño y Desarrollo de Aplicaciones Web Procesos CGI

Uno de los primeros mecanismos para generar contenido dinámico para la web es el API llamado CGI (acrónimo de common gateway interface, interfaz de pasarelas común). Éste es un mecanismo muy simple que permite que un servidor web ejecute un programa escrito en cualquier lenguaje de programación (ya sea como respuesta a un formulario HTML, a partir de un enlace, etc.), que le pueda pasar unos parámetros (bien provenientes del usuario, vía formularios, bien parámetros de configuración del servidor, del entorno de ejecución, etc.) y, finalmente, hace posible que el resultado de la ejecución de este programa sea enviado al usuario como una página web o cualquier otro tipo de contenido (un gráfico, etc.). Gracias a este sencillo mecanismo, las páginas web, que hasta el momento de la aparición de CGI tenían unos contenidos estáticos e inmutables, son generadas dinámicamente en respuesta a peticiones concretas. Se abre así un nuevo mundo a los programadores de aplicaciones web. Estudiaremos a continuación el API de CGI, el cual ha quedado relegado en muchos casos a un papel secundario, pues adolece de muchos problemas, siendo la falta de rendimiento el más destacado de todos.


Introducción a los CGI

 Al contrario de lo que sucede con los Servlets, etc., no existe ningún tipo de limitación al lenguaje de programación que podemos utilizar para escribir un CGI. Podemos usar desde scripts escritos en el lenguaje de la shell del sistema operativo hasta programas escritos en ensamblador, pasando por todo el abanico de lenguajes de programación existentes: C, C++, Perl, Python, etc. Hasta ahora, el lenguaje más popular para la escritura de CGI es Perl, ya que proporciona utilidades al programador que simplifican sobremanera la tarea de escribir programas CGI.


Comunicación con los CGI 

Lo primero que debemos recordar a la hora de escribir programas como CGI es el mecanismo de comunicación que nos proporciona el servidor web. Disponemos de dos opciones para enviar datos a un CGI (los datos generalmente procederán de un usuario, por norma general a partir de un formulario):
  •  Método GET. El método GET pasa toda la información (excepto ficheros) al CGI en la línea de dirección de la petición HTTP. 
  •  Método POST. El método POST pasa toda la información al CGI en la entrada estándar, incluyendo ficheros. 
Una vez recibe una petición que debe dirigir a un fichero CGI, el servidor ejecuta este programa, el CGI, y le envía la información a través de variables de entorno (o a través de la entrada estándar, si fuese pertinente). Algunas de las variables de entorno definidas por el estándar CGI son:


SERVER_NAME Nombre del servidor. 
SERVER_PROTOCOL Protocolo utilizado por la petición. 
REQUEST_METHOD Método utilizado para la invocación (GET o POST). 
PATH_INFO Información de la ruta especificada en la petición. 
PATH_TRANSLATED Ruta física a la ubicación del CGI en el servidor. 
SCRIPT_NAME Nombre del CGI. 
REMOTE_ADDR Dirección IP del ordenador que realiza la petición. 
REMOTE_HOST Nombre del ordenador que realiza la petición. 
REMOTE_USER Usuario que realiza la petición. 
AUTH_TYPE Tipo de autentificación. 
CONTENT_TYPE Tipo MIME del contenido de la petición, especialmente útil en peticiones POST. CONTENT_LENGTH Tamaño del contenido especialmente útil en peticiones POST. 

La mayoría de servidores web proveen además de la variable de entorno llamada QUERY_STRING, que contiene los datos de la petición si ésta ha sido de tipo GET o si hemos añadido datos a la URL. Algunos servidores web añaden datos extra al entorno. La mayoría de estas variables adicionales empiezan con HTTP_ para evitar conflictos con versiones posteriores del estándar.

Espero que les sirva el material si quieren ver la versión MULTIMEDIA pueden ver desde aquí:



Bibliografia: Desarrollo de Aplicaiones Web, Software Libre, Carles Mateu, XP04/90791/00021

Seguir viendo el Curso (Introducción a los Servlet´s en Java)

jueves, 23 de julio de 2015

Crear Gráficos de Barra y Área en Java con JFreeChart

Hoy les presento una forma muy fácil para crear y mostrar un gráfico de Barra y Área en Java con JFreeChart.

Recuerdan que lo primero es descargarse las librerías de JFreeChart. Vamos a necesitar las siguientes librerías JFreeChart JCommon.


Una vez que estén importados los respectivos .jar podremos comenzar a ver el código.

Una forma fácil para probar el funcionamiento de esta librería fue crear unos 10000 números aleatorios entre 0 y 9 y llevar un registro de cuantas veces apareció cada número. Para esto tenemos el siguiente código:
Random rnd = new Random(System.currentTimeMillis());
int[] array = new int[10];
for (int i = 0; i < 10000; i++){
array[rnd.nextInt(10)]++;
}

Cada vez que el random presente un numero, se aumenta en uno la cantidad de veces que fue dado. Finalizado el algoritmo tenemos un arreglo donde en cada índice se indica cuantas veces surgió ese índice del random.
Luego, procederemos a crear el gráfico de barra o área en base a nuestro arreglo con JFreeChart. Lo primero que haremos es crear un objeto que contenga todas las porciones para eso creamos una instancia de la clase DefaultCategoryDataset llamada dataset.
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
for (int i = 0; i < array.length; i++){
  dataset.addValue(array[i]," Valor " + i + ": " + array[i],i);
}

Con el bucle for recorre todo el array y vamos cargando todos sus datos en el método .addValue( Int suValor,"String nombreDeLaBarra", Int coordenadaEnElEjeAbsciza ).
Luego, en base a este dataset, creamos nuestro gráfico. Utilizamos la factoría de creación de gráficos de JFreeChart, la ChartFactory el método .CreateAreaChart() para el gráfico de Área.


JFreeChart chart = 
ChartFactory.createAreaChart("Grafico de Barra", null, null, dataset);

En cambio el  método .CreateBarChart() para el gráfico de Barra solo eso cambiamos para variar el tipo de gráfico.


JFreeChart chart = 
ChartFactory.createBarChart("Grafico de Barra", null, null, dataset);


Finalmente, insertamos este chart en un Frame para poder visualizarlo.
   ChartFrame cf= new ChartFrame("Graficos estadistico", chart);
   cf.pack();
   cf.setLocationRelativeTo(null);
   cf.setVisible(true);

Ahora bien ¿qué pasa si queremos graficar datos optenidos de una base de datos?, a continuación se presenta un video explicativo que muestra como pueden hacerlo usando el Framework HIBERNATE:



El proyecto pueden descargar:


domingo, 12 de julio de 2015

Crear Gráfico Circular con JFreeChart en Java

Hoy les presento una forma muy fácil para crear y mostrar un gráfico de torta en Java con JFreeChart.

Recuerdan que lo primero es descargarse las librerías de JFreeChart. Vamos a necesitar las siguientes librerías JFreeChart JCommon.


Una vez que estén importados los respectivos .jar podremos comenzar a ver el código.

Una forma fácil para probar el funcionamiento de esta librería fue crear unos 10000 números aleatorios entre 0 y 9 y llevar un registro de cuantas veces apareció cada número. Para esto tenemos el siguiente código:
Random rnd = new Random(System.currentTimeMillis());
int[] array = new int[10];
for (int i = 0; i < 10000; i++)
array[rnd.nextInt(10)]++;

Cada vez que el random presente un numero, se aumenta en uno la cantidad de veces que fue dado. Finalizado el algoritmo tenemos un arreglo donde en cada índice se indica cuantas veces surgió ese índice del random.
Luego, procederemos a crear el gráfico de torta en base a nuestro arreglo con JFreeChart. Lo primero que haremos es crear un objeto que contenga todas las porciones para eso creamos una instancia de la clase DefaultPieDataset llamada dataset.
DefaultPieDataset dataset = new DefaultPieDataset();
for (int i = 0; i < array.length; i++){
  dataset.setValue("Valor " + i + ": " + array[i], array[i]);
}

Con el bucle for recorre todo el array y vamos cargando todos sus datos en el método .setValue("String nombreDeLaPorción", Int suValor).
Luego, en base a este dataset, creamos nuestro gráfico. Utilizamos la factoría de creación de gráficos de JFreeChart, la ChartFactory.


JFreeChart chart = 
ChartFactory.createPieChart("Repeticion de los numeros de randoms",
dataset, true, true, true);

Finalmente, insertamos este chart en un Frame para poder visualizarlo.
   ChartFrame cf= new ChartFrame("Graficos estadistico", chart);
   cf.pack();
   cf.setLocationRelativeTo(null);
   cf.setVisible(true);

Ahora bien ¿qué pasa si queremos graficar datos optenidos de una base de datos?, a continuación se presenta un video explicativo que muestra como pueden hacerlo usando el Framework HIBERNATE:


El proyecto pueden descargar:


miércoles, 8 de julio de 2015

Cómo relacionar dos tablas a través de su clave Foránea en phpMyAdmin

Wampserver es una aplicación tipo administrador de servidor Apache, base de datos MySql y con interprete en el lenguaje PHP. En cuanto a la creación a Bases de Datos tiene una potente aplicación web que nos puede ofrecer una forma más amigable de gestionar nuestra Base de Datos como crear, modificar, eliminar sus tablas, relacionarlas etc. todo desde una interfaz intuitiva y fácil de aprender, de qué estamos hablando? del servicio de PhpMyAdmin.

A continuación me centraré de como crear dos tablas en PhpMyAdmin y poder relacionarlas a través de una clave Foránea, si no tienen Wampserver  pueden descargarlo Aquí (compatible para windows 7 u 8) lo instalan y ya podrán usarlo.
El modelo relacional de la BD se presenta a continuación:

Como pueden observar la relación que existe es 1 a mucho y la tabla que posee la clave foránea es la tabla Libro con la columna idh_edi

1. Lo primero que hacemos ejecutamos la aplicación, arrancará todos los servicios y quedará en verde el icono en nuestra barra de tareas,  esto significa que ya está listo para usarlo.


2. Hacen clic principal sobre el icono y le aparece una pestaña con todos sus servicios ustedes deberan eligir en esta ocasión el que dice phpMyAdmin.



Al hacer clic sobre esta opción se abrirá una ventana de su navegador donde se ejecutará la aplicación y quedará de la siguiente manera:


3. Hagan clic en la pestaña que dice Bases de datos en la esquina superior derecha de la pantalla, en donde le redirigirá al formulario para crear una base de datos nueva:



Pondrán el nombre de su Base de datos y el tipo de "Cotejamiento" este ultimo no es obligatorio pero se librarán de varios problemas luego si lo especifican, en nuestro caso el más recomendado para latinoamérica y países de habla hispana es el UTF8 ya que reconoce las Ñ, los acentos etc.
El nombre que pondré a mi BD es BibliotecaBD como se puede ver en la imagen. Luego clic en Crear y listo ya esta creada la Base de datos.

4. Ahora sí en el listado de Bases de datos le aparecerá este nueva que crearon harán clic sobre esta y se le redireccionará para crear sus tablas: 



5. Hacemos clic en Crear tabla y nos pasa al formulario para crear la misma o bien hacia la izquierda de este página ya podemos ingresar el nombre de la tabla y la cantidad de columnas. Esta segunda opción vamos a realizar colocando el nombre de nuestra tabla Editorial ya que ella es la principal (no necesita de Libros para existir) y la cantidad de columas en este caso 4 como se podía apreciar en el Modelo Relacional, damos clic en Continuar y nos aparece el formulario para crear todas sus columnas especificando el Tipo de datos que recibe, si perminte Campos vacios (Null) si es Clave Primaria etc.
En este caso solo especificamos el tipo de datos y cual de sus columnas es Clave Primaria y AutoIncrementable (A_I), es decir que no necesitamos poner un numero a cada registro de manere manual:


Damos clic en Guardar y listo.

6. Ahora si podemos crear la tabla Libro ya que en esta hay una columna que es clave Foranea de la tabla Editorial y por ende teníamos que crear primero esta  para luego especificar en la tabla Libro.
Hacemos el mismo paso que dijimos en el 5 solo que cambiamos algunos datos de sus columnas:


Damos clic en Guardar y listo.
Pero hasta aquí todavía no solucionamos del todo la relación entre estas dos tablas pero si estamos ya casi por terminar. Una vez que guardamos la tabla Libro nos dirige a esta página donde ya podemos ver todas las tablas creadas en la Base de datos BibliotecaBD hacemos clic en la tabla Libro para hacer los últimos ajustes de la relación. 


Al hacer clic sobre Libro nos presenta la siguiente página:


Acá hecmos clic en el enlace Vista de relaciones es ahí donde vamos a especificar que columna sera Foranea en otras palabras que columna marcará la relación entre tabla y tabla.
Nos presenta la siguiente página:


La columa idh_edi es la que nos iva  a servir como clave Foranea en la cual deberemos especificar con que columna vamos a relacionar en este caso es obviamente que con la columna id_edi de la tabla Editorial como figuraba en el Modelo relacional. Elegimos esto y clickeamos Guardar y listo ahora así ya tenemos relacionadas estas dos tablas.

Bueno amigos espero que le haya servido, era fácil no?, esto es una de las posibilidades que nos ofrece phpMyAdmin que a la vez se puede hacer de una manera rápida y fácil.

Cualquier cosa que no quedó en claro Comenten!!!...

domingo, 28 de junio de 2015

Sistema Bibliotecario Usando Java e Hibernate en Netbeans

  Este Sistema Bibliotecario se encuentra hecha en el IDE Netbeans en lenguaje Java y ocupa el Framework HIBERNATE.
La Base de Datos contiene dos tablas que se relacionan 1-N, una "Editorial" posee uno o varios "Libros" de distinto tipos.
Gracias a la herramienta de Ingeniería Inversa y el uso de POJOs de HIBERNATE vamos a tomar esta dos tablas y convertir en clases .java y sus archivos Mapping correspondiente.
Este es el Modelo Relacional de nuestra Base de Datos:




El Sistema Bibliotecario es una aplicación simple en la que se puede Guardar, Modificar, Eliminar “Libros” como también “Editoriales” la interfaz de Usuario se presenta a continuación:

Posee dos pestañas a través de objeto Tabbed Pane que nos ofrece el paquete Swing de java, que en la cual muesta en la primera una tabla con todos los “Llbros” cargados y en la otra pestaña la posibilidad de realizar distintos eventos para las “Editoriales”.

Interfaz donde se encuentra la pestaña en la tabla de libros
Pestaña de Editoriales donde se muestra sus registros y posibilidades de eventos

El video Explicativo lo pueden ver desde aquí esta dividido en tres partes la primer parte se le presenta a continuación:




El link del proyecto para probar en su PC aquí les dejo:




Espero que le haya gustado si tienen duda comenten!!!.
Si necesitan un SISTEMA de GESTION puedo presupuestarlo de manera GRATUITA, o si tienen dudas sobre uno que estan desarrollando no duden en consultar estamos a sus disposición...

viernes, 26 de junio de 2015

Crear y guardar un archivo bloc de notas en PHP

Para la registración de datos en el servidor disponemos de dos herramientas que se complementan en muchos casos los archivos de texto y bases de datos . En este apartado veremos como crear un archivo de texto y añadir datos al mismo.


Primero de todo explicaré un poco como podemos hacer esto en PHP para poder entender luego el demo que le deje al final. Este demo es un modelo de un creador de archivo .txt y en el se guarda la información que ingresamos en el formulario que desarramos. Básicamente es muy simple la sintaxis que nos presenta PHP para poder Leer, Crear y Crear o Reescribir un bloc de notas o archivo de texto. A continuación le presento las tres posibilidades que les mencione anteriormente.

CargarBloc.php crea un archivo .txt y guarda información enviada por formulario index.html


$archivo=fopen($_POST['nombre_de_archivo'].'.txt',"a") or
  die("No se pudo crear el archivo");
  fputs($archivo,$_POST['contenido']);
  fputs($$archivo,"\n");
  fputs($$archivo,"---------------------------");
  fputs($$archivo,"\n");
  fclose($$archivo);
  echo "Los datos se cargaron y guardaron correctamente.";

Como se dieron cuenta con la función fopen indican con el primer parámetro que archivo.txt deben leer o crear en este caso toma de una varible $_POST['nombre_de_archivo'] enviada por un formulario el nombre de este archivo y el segundo parámetro con la "a" le dicen que debe crear este archivo con el nombre que le dieron. Con la función fputs indican con el primer parámetro el objeto que a devuelto la función fopen en este caso llamado $archivo y el segundo parámetro con la $_POST['contenido'] la información a cargar en este archivo.

El formulario que enviara la dos varibles necesaria index.html

<!DOCTYPE html>
<html lang="ES">
<head>
<meta  charset="UTF-8"/>
<meta name="description" content="PHP"/>
<meta name="author" content="compartiendocodigos"/>
<title>Crear y guardar bloc de notas</title>
</head>
<body>
<form action="CargarBloc.php" method="POST">
<label>Nombre del archivo:</label>
<input type="text"  name="nombre_de_archivo" value="" >.txt
<label>Información:</label>
<textarea  name="contenido" ></textarea>
<input  class="boton" type="submit" value="Guardar" />
</form>
</body>
</html>

Bueno esto es todo obviamente a esto le falta estilo pero aca les dejo un demo ya bien diseñado y con estilo listo empezar a ocupar (Ustedes le pueden hacer ajustes si le place). Les quedaría así Espero que les haya gustado. Si tienen dudas comenten.


Descarga Aquí


Les invito a ver el video explicativo:


domingo, 14 de junio de 2015

Crear y guardar un archivo bloc de notas en JSP y Java

Para la registración de datos en el servidor disponemos de dos herramientas que se complementan en muchos casos los archivos de texto y bases de datos. En este apartado veremos como crear un archivo de texto y añadir datos al mismo haciendo las páginas en JSP y clase en Java


Primero de todo explicaré un poco como podemos hacer esto en JSP y JAVA para poder entender luego el demo que le deje al final. Este demo es un modelo de un creador de archivo .txt y en el se guarda la información que ingresamos en el formulario que desarrollamos. Básicamente el que realiza la creación del archivo y la carga del contenido es la clase notePad.java Las páginas JSP solamente sirven para el envio del formulario y la creación de un objeto nuevo para asi crear un archivo .txt


Esta es la clase notePad.java el cual crea y carga el archivo .txt y devuelve un mensaje
package clases;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;

/**
 *
 * @author Jonas
 */
public class notePad  {
    String nombre;
    String contenido;
    String ubicacion;
    
    //Construcytor de la clase

    public notePad(String nombre, String contenido) {
       this.nombre=nombre;
       this.contenido=contenido;
       this.ubicacion="C:/Proyecto-block-de-notas/web/bloc-de-notas/";
    }
    
    
       
    public  String CargaDatos() throws IOException {
  // VERIFICA SI EL NOMBRE DEL ARCHIVO Y EL CONTENIDO NO ESTAN VACIOS
              
   if(validarDatos()==true){
         
//CREA EL ARCHIVO ESPECIFICADO EN EL LA RUTA Y EL NOMBRE EN EL FORMULARIO
         
     this.ubicacion+=this.nombre+".txt";
     BufferedWriter linea = new BufferedWriter(new FileWriter(this.ubicacion));
    //Scanner datos = new Scanner (System.in);


//  GUARDA LA INFORMACION EN EL ARCHIVO .TXT QUE SE A CARGADO EN EL FORMULARIO
             
                   linea.write(this.contenido);
                   //datos.next();
  // CIERRA EL ARCHIVO CREADO                 
                   linea.close();
        
        return "<p class='exito'>Se a creado y guardado el archivo " + this.nombre +".txt con exito</p>";
   }else
   { 
        return "<p class='error'>Campos vacios no se pudo realizar la carga</p>";
   }
  
          }

private boolean validarDatos(){
    if (this.nombre.isEmpty() || this.contenido.isEmpty()) {
        return false;
    }else
    {return true; }

}
}

Como se dieron cuenta el atributo ubicacion posee una dirección fija ustedes le pueden cambiar si cambian en otro lugar el proyecto. Primero se posee un constructor donde pide un nombre y un contenido lo que debe tener todo archivo, luego con su método cargarDatos() es el que crea el archivo y guarda el contenido. Con la clase BufferedWriter escaneo la ubicación y genero un nuevo archivo con la clase FileWriter pasandole como atributo la ubicacion que al final de su cadena de texto se encuentra reescrita por el nombre del archivo. Luego crea un objeto llamado "linea" que escribe con un metodo que poseé write() el contenido y finalmente cierro el objeto y retorno el mensaje de exito. Esto sucede si el método validarDatos() me retorna un true ya que verifica si el atributo nombre y contenido estan con algun valor.

Veamos ahora el formulario que envia los datos es la página index.jsp

<!DOCTYPE html>

<html lang="ES">
<head>
<meta  charset="UTF-8"/>
<meta name="description" content="PHP"/>
<meta name="author" content="compartiendocodigos"/>
<title>Crear y guardar bloc de notas</title>
</head>
<body>
<form action="CargarBloc.jsp" method="POST">

<label>Nombre del archivo:</label>
<input type="text"  name="nombreArchivo" value="" >.txt

<label>Información:</label>
<textarea  name="informacion" ></textarea>

<input  class="boton" type="submit" value="Guardar" />

</form>

</body>
</html>

Este fomulario se dirige a cargarBloc.jsp donde recepta los parámetros. Veamos que hace...

cargarBloc.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page  import="java.util.*" %>
<%@page  import="java.io.BufferedWriter" %>
<%@page  import="java.io.FileWriter" %>
<%@page  import="java.io.IOException" %>
<%@page  import="java.util.Scanner" %>
<%@page  import="clases.notePad" %>

<%
    String nombreArchivo;
    String informacion;
    
    nombreArchivo= (String) request.getParameter("nombreArchivo");
    informacion= (String) request.getParameter("informacion");
   notePad blocNotas;
   blocNotas= new  notePad(nombreArchivo, informacion);
   // LOEGO DE CREAR EL OBJETO PONE EN FUNCION SU METODO DE CARGA EN EL DIRECTORIO ESPECIFICADO
    out.print(blocNotas.CargaDatos());
%>
               

En esta página primero importa las clases necesaria y entre una de ella la clase notePad.java para poder crear un objeto con los parámetros recibidos por el método request.getParameter(). Luego ejecuta su método cargarDatos() del objeto creado blocNotas donde retorna un mensaje de exito o error y listo Esto es todo básicamente es obvio que a esto le falta estilo pero les dejo el Demo ya con todo esto.

                                          
                                     Descarga Aquí

Espero que le sirva si tienen dudas comenten.Saludos...

El video explicativo pueden ver en el canal de YouTube CompartiendoCodigos o desde aquí:


Como hacer una Aplicación Hibernate Con BD Derby Embebida y Archivo .bat Ejecutable

  Muchas veces cuando terminamos nuestros proyectos queremos empaquetar y distribuirlo  pero tenemos un problema con la BD que elegimos, por lo general en MySQL o PostgreSQL los cuales debemos instalar primero en el localhost del usuario que quiere ocupar nuestra app y luego ejecutar la aplicación creada por nosotros. Esto genera a que sea engorroso la instalación de nuestro programa y por lo general el usuario abandona esta propuesta.

 En este video te muestro como ocupar Derby el cual nos permite crear una BD embebida en el mismo proyecto y además las tablas se mapearán usando el Framework Hibernate de tal modo que una vez terminado el proyecto se modificará el archivo build.xml para generar un archivo run.bat el cual permitirá ejecutar en cualquier PC nuestra aplicación sin la necesidad de instalar una BD previamente.

Aquí les dejo el video explicativo paso a paso:


Espero que les haya servido comenten!!! cualquier duda. Les dejo además el proyecto para que lo puedan descargar:



domingo, 7 de junio de 2015

Ingeniería Inversa con Hibernate en Netbeans uso de POJOs


Hibernate es un Framework muy poderoso servicio de base de datos con un alto desempeño y memoria objeto-relacional. Hibernate usa clases JavaBean para representar las tablas que actúan como bases de datos en la memoria. Las columnas de la tabla están representadas por las propiedades de la clase Java la cual es el modelo. Los datos con etiquetas clase-a-tabla y campo-a-columna se guardan en archivos XML los cuales son los archivos de mapeo.   Este artículo les explicocon el video los pasos para hacer ingeniería inversa con las tablas de la Base de datos y generar clases POJO creando clases java, así como mapeos de los archivos XML, usando herramientas de Hibernate, y por último les dejo un ejemplo con la BD para que pueda exportarlo y ver en su ID.

Modelo UML de la Base de Datos "EncargosPedidosSA" de la cual se va a crear automáticamente las clase .java que van a modelar a las tablas y los archivos de mapeo .xml



Aquí esta el vídeo explicativo paso a paso:



Y por último le dejo el proyecto para que pueden descargarlo, si existen dudas comenten...Espero que les sirva.