despues de entrar en mas detalle en jsp, uno tiene que poner en practica lo aprendido, es por lo cual que nuestro querido IDE Netbeans trae una seccion de ejemplos de la mayoria de las tecnologias que soporta.
estos ejemplos nos pueden ayudar a entender como se hacen algo puntual, porque es imporsible saber hacer todo.
los famosos java beans que se utilizan en j2se, tambien se pueden utilizar en jsp, las principales caracteristicas es:
Esta marca sirve para instanciar un JavaBean si no existe, o localizar una instancia ya existente, para su uso desde la página.
• Los JavaBeans son objetos Java que cumplen ciertas características en cuanto a su diseño.
• Se utilizan para reducir al máximo el código Java insertado en una página JSP. En lugar de meterlo directamente en el fichero JSP se mete en un objeto y éste se llama desde el JSP.
• Permite separar la lógica de ejecución (en el JavaBean) de la presentación (en el servlet generado)
Se encapsula el código Java en un objeto (JavaBean) y se instancia y usa con el JSP. -Si se usa un JavaBean en una página habrá que definir la clase correspondiente, creando los métodos set y get para los atributos definidos
• Dentro del servlet generado se puede llamar a métodos de un JavaBean que se encarguen de realizar ciertas operaciones y el servlet muestra el resultado de las mismas
• Ventaja del traslado de la lógica a un JavaBean – Separación de interfaz de la implementación
Ejemplo 1.- Clase beans public class LenguajeBean {
private String nombre; private String lenguaje; public LenguajeBean() {}
public void setNombre(String nombre) {
this.nombre=nombre; }
public String getNombre(){
return nombre; }
public void setLenguaje(String lenguaje){
this.lenguaje=lenguaje; }
public String getLenguaje() {
return lenguaje; }
public String getcomentariosLenguaje (){
if (lenguaje.equals("Java")){ return "El rey de los lenguaje Orientados a objetos"; } else if (lenguaje.equals("C++")){ return "Demasiado complejo";
} else if (lenguaje.equals("Perl")){ return "OK si te gusta el códigoincomprensible"; }else { return "Lo siento, no conozco ellenguaje " + lenguaje ; } }
}
2.- pagina html con un form y que solicita una pagina jsp.
3.- ejecutamos el jsp con el beans
y por ultimo unos link de interes sobre este tema:
• Sirve para crear y gestionar páginas web dinámicas
• Permite mezclar en una página código HTML para generar la parte estática, con contenido dinámico generado a partir de marcas especiales <% .... %>
• El contenido dinámico se obtiene, en esencia, gracias a la posibilidad de incrustar dentro de la página código Java de diferentes formas
• Su objetivo final es separar la interfaz (presentación visual) de la implementación (lógica de ejecución)
La página JSP se convierte en un servlet
• La conversión la realiza en la máquina servidora el motor o contenedor JSP, la primera vez que se solicita la página JSP
• Este servlet generado procesa cualquier petición para esa página JSP
• Si se modifica el código de la página JSP, entonces se regenera y recompila automáticamente el servlet y se recarga la próxima vez que sea solicitada
En mi busqueda de informacion sobre los servlet encontre este muy buen ejemplo, y no es el mitico hola mundo jajaajaj, porque supuestamente despues un cliente no quiere un hola mundo, en este ejemplo podemos ver un mantenedor interesante con conexion a base de dato, solamente que esta realizado con Datadriver que corresponde a la conexion mas simple y que en realidad no se implementa mucho en j2ee. pero para empezar esta muy bueno.
El primer paso para empezar con j2ee es aprender como es su arquitectura, la figura siguiente es una de varias que tienes que comprender bien, antes de empezar con los servlet, jsp, ejb y miles de cosas que se pueden aprender en esta plataforma.
Como este tema es muy extenso solamente dare unos link para buscar informacion sobre este tema:
En la siguiente figura tenemos la primera aproximación de nuestra aplicacion
En el dispositivo movil tenemos que respetar la siguiente arquitectura
ya que j2se no tiene librerias para bluetooth tenemos que ocupara bluecove
lo positivo de esta libreria es que se basa mucho en jsr-82 bluetooth de j2me, lo cual se programa practicamente igual que j2me, solamente que en j2se. Para el funcionamiento correcto de bluecove tenemos que instalar en el sistema operativo (yo lo programe bajo xp, pero se puede realizar tambien en linux) una pila bluetooth que realiza la conexion entre el hardware bluetooth y j2se.
Como el centro de la aplicación, se basa en el JSR-82 a continuación se describirán los principales métodos utilizados
· getLocalDevice: Este método que pertenece a la clase LocalDevice y proporciona la capacidad de generar un objeto que entrega la identificación del dispositivo Bluetooth.
· DiscoveryAgent: Esta es una interfaz que provee métodos para descubrir dispositivos y servicios.
· DiscoveryListener: Esta clase proporciona el método deviceDiscovered() que se utiliza cada vez que se encuentra un dispositivo en un proceso de búsqueda.
· ServiceRecord: Es una clase que proporciona métodos para registrar el dispositivo y los servicios encontrados. En base a una instancia de él, se establecen las conexiones con el servidor
como observacion final podemos decir que se tiene que tener en cuenta que es fundamental que el celular tenga el paquete jsr-82, sobre el bluetooth yo lo implemente con un pedrive usb y sin ningun problema y por ultimo para implementar una aplicacion de esta caracteristicas hay que leer su resto y tomarse un tiempo, ya que se tiene que entrar al dominio de nuevos temas, como es j2me y la libreria de bluetooth.
bueno espero que esto sea un punto de partida para quienes quieran desarrollar una aplicacion similar.
La compañía estadounidense de software Oracle tiene previsto entrar en el mercado del hardware informático con la compra de Sun Microsystems por más de 7.000 millones de dólares (unos 5.360 millones de euros), después del fracaso de las negociaciones del fabricante de servidores informáticos con IBM
La reproducion de un archivo mp3 es sumamenete facil y lo vamos a realizar con un jar ajeno del estandar oficial de sun , supuestamente con The Java Media Framework API (JMF) se puede lograr la reproduccion de un mp3 y otras acciones de multimedia, pero de esta forma es mas facil creo jejejeje y solamente vamos a reproducir un mp3.
Primero tenemos que descargar y montar el jar en en nuestro proyecto( como siempre en nuestro netbeans), la direccion para descargar es :
Sencillamente, Java Web Start es un mecanismo para la ejecución de los programas a través de un servidor Web.. Normalmente se inicia mediante el navegador, estos programas se han desplegado para el cliente y ejecutados fuera del ámbito del navegador.
Una vez desplegado, los programas no necesitan ser descargados de nuevo, y pueden descargar las actualizaciones automáticamente en el arranque sin necesidad de que el usuario pueda ir a través de todo el proceso de instalación de nuevo.
En nuestro querido netbeans 6.5 tenemos que acceder a las propiedades de nuestro proyecto y en Web Start habilitamos esta propiedad.
al generar el jar de la aplicacion nos aparecera los siguientes archivos en la carpeta dist de la carpeta del proyecto
Al ejecutar el archivo launch nos aparece lo siguiente
y se nos abrira acontinuacion nuestra aplicacion.
Esto es una introduccion al tema, para mayor informacion aqui estan unos link interesantes sobre el tema.
Para ayudar en el armado de una aplicación, se ha escrito la JSR-259 llamada Swing Application Framework. Este Framework se lanzó en el 2006, y hasta ahora es una implementación prototipo de un conjunto de clases java.
Nos proporciona un manejo mas simple de:
Ciclo de vida de una aplicación, como comienzo y parada de la GUI
Soporte para el manejo y carga de recursos, como strings, mensajes formateados, imágenes, colores, fonts, y otros tipos.
Soporte para definición, manejo y enlace de Actions, incluyendo las asincrónicas.
Persistencia del estado de la GUI, automático y selectivo, para que vuelva a aparecer en la próxima ejecución en el mismo estado
Bueno para que sea esto mas entretenido vamos a mostrar un ejemplo de este framework.
1. este ejemplo es un mantenedor simple de una tabla de una base de datos, como siempre con nuestro querido netbeans y postgres.
2. tenemos que tener una conexion en netbeans de la base de datos (en un articulo de este exelente blogg jajaja, tenemos un ejemplo como realizarlo). 3. creamos el proyecto de tipo framework jsr-259
4. especificamos que vamos a utilizar una base de datos.
5. seleccionamos la base de dato y la tabla correspondiente a nuestro mantenedor.
6. despues siguiente y en la siguente ventana finalizar, despues de todo este proceso nos queda el proyecto asi. 7. y para finalizar ejecutamos nuestro proyecto.
Como simpre este es un punto de partida para entrar a este tema y como siempre acontinuacion soy unos link para que puedan interiorisarse mas del tema.
Los patrones de diseño (design patterns) son la base para la búsqueda de soluciones a problemas comunes en el desarrollo de software y otros ámbitos referentes al diseño de interacción o interfaces.
En este pequeño articulo quiero hablar de el patron de diseño DAO( Data Access Objetc) que esta relacionado con la persistencia de nuestra aplicacion.
El problema que viene a resolver este patrón es el de contar con diversas fuentes de datos ( base de datos, archivos, servicios externos, etc ). De tal forma que se encapsula la forma de acceder a la fuente de datos. Este patrón surge históricamente de la necesidad de gestionar una diversidad de fuentes de datos, aunque su uso se extiende al problema de ancapsular no sólo la fuente de datos, sino además ocultar la forma de acceder a los datos. Se trata de que el software cliente se centre en los datos que necesita y se olvide de cómo se realiza el acceso a los datos o de cual es la fuente de almacenamiento
La ventaja de usar objetos de acceso a datos es que cualquier objeto de negocio (aquel que contiene detalles específicos de operación o aplicación) no requiere conocimiento directo del destino final de la información que manipula.
Este ejemplo es muy bueno, imaginemos que nuestra aplicación va de maravilla, cuando de pronto, se acerca nuestro querido jefe y nos comenta que por X, Y y Z razones se va a cambiar el motor de la base de datos a PostgreSQL. OOOOO que probleman, pero nosotros como habiamos leido este blog y aplicamos el patron de diseño DAO le decimos al jefe no hay problema para eso soy ingeniero y no un artesano, entonces aprovechamos inmediatamente y le pedimos un aumento de sueldo jajajaajja.
Por lo que cuando la capa de lógica de negocio necesite interactuar con la base de datos, va a hacerlo a través de la API que le ofrece DAO. Generalmente esta API consiste en métodos CRUD (Create, Read, Update y Delete).
En una aplicación, hay tantos DAOs como modelos. Es decir, en una base de datos relacional, por cada tabla, habría un DAO.
Los DTO (Data Transfer Object) o también denominados VO (Value Object). Son utilizados por DAO para transportar los datos desde la base de datos hacia la capa de lógica de negocio y viceversa. Bueno como siempre sus link, para entrar mas en detalle a este y mas patrones de diseño.
generalmente es mejor ocupar hilos para manejar tiempos , pero para cosas bien sencillas no seria malo ocupar este Timer , como por ejemplo en animaciones muy sencillas , un mensaje recordatorio, bueno etc
1.- importar java.awt.event.*;
2.- el formato es asi para crear una instancia
javax.swing.Timer yourTimer = new javax.swing.Timer(int milliseconds, ActionListener doIt);
3.- la implementacion puede es asi:
javax.swing.Timer t = new javax.swing.Timer(1000, new ActionListener() {
public void actionPerformed(ActionEvent e) {
Accion } });
4.- este posee un Start y un Stop , que tenemos que ocupar para hacer correr nuestro Timer
El siguiente ejemplo consiste en pasar un texto a un archivo pdf.
Para lograr esto o manipular de otra forma un pdf tenemos que bajar
el siguiente JAR iText-2.1.4 y añadirlo a nuestro proyecto
(sobre el proyecto : propiedades ->biblioteca -> añadir JAR )
http://www.lowagie.com/iText/download.html
para realizar esto vamos a utilizar el siguiente codigo
Document document = new Document();
try {
PdfWriter.getInstance(document, new FileOutputStream("ejemplo.pdf"));
Esta es una red social para apoyar la comunicacion e intercambio de informacion de las tecnologias de sun ( java , solari , etc) . en pocas palabras es un tipo facebook pero relacionado a sun , te puedes unir a grupos , publicar en blog , etc .
la idea de javadoc es proporcionar de forma facil una forma de documentar nuestro codigo , lo simpatico esque nos crea nuestra documentacion de la misma forma de la api de java
Como siempre trabajaremos con nuestro querido netbeans
1.- tenemos que bajar el plugins
despues de instarlo podemos ver la configuracion en tools->options
2.- es super simple utilizarlo , antes de los metodos escribimos /** y enter y solo nos genera un trozo de comentario , el cual llenamos con la descripcion que deseamos.
Palabra reservada
Versión
Descripción
@author
1.0
El autor del método, clase.
@deprecated
1.0
El método ha sido reemplazado por otro.
@exception
1.0
La excepción que puede generar.
@param
1.0
Después viene el parámetro, esto se hace para
documentar todos los parámetros que requiere el método.
@return
1.0
El valor que regresa
@see
1.0
Una referencia a otra clase o método de utilidad
@since
1.1
La versión desde que se incluye.
@throws
1.2
Es un sinónimo para @exception.
@version
1.0
La versión del método, clase.
tenemos tambien el un visor para ir creado los comentarios y este se encuentra en Source->analyze javadoc
3.- y por ultimo para generar uno javadoc tenemos que ir sobre nuestro proyecto y con las opciones del boto derecho de mouse seleccionamos generate javadoc.
para nadie es nuevo lo de la certificacion y principalmente en java que tenemos un variedad tremenda. Creo que podemos estar toda la vida certificandonos , pero encontre novedoso la certificacion de Netbeans por ser un IDE y tambien por ser gratuita y para ser mas precisos aqui esta el link de la certificacion
bienvenidos a todos lo que han llegado de alguna forma a este blog , les cuento que soy un estudiante de ingenieria civil informatica de la universidad San Sebastian de Concepcion ,Chile y que me gustaria compartir algunos temas , informacion sobre el estandar de java , puesto que encuentro un tecnologia muy interesante .