viernes, 1 de noviembre de 2013

Introducción a JSP

Introducción a JSP

Después de haber entendido como funciona HTTP, la Web, los Servlets empezaremos a ver como trabajan los JSP.

Podemos descargar el siguiente enlace: https://www.dropbox.com/s/jjifx3gxaybq6gk/tutorial-jsp.zip


JSP

Es una tecnología JAVA que significa Java Server Pages, es utilizada para generar páginas Web de manera dinámica desde el Servidor.

El JSP es traducido a código JAVA y ese Código JAVA es una Clase que por defecto extiende de una Clase de nombre "org.apache.jasper.runtime.HttpJspBase"  que a su vez extiende de la Clase HttpServlet (ver http://tomcat.apache.org/tomcat-4.1-doc/jasper/docs/api/org/apache/jasper/runtime/HttpJspBase.html)

Un JSP podemos decir que es un archivo con extensión JSP,  que típicamente tiene HTML con JAVA donde se utiliza los escapeadores llamados scriptlet para diferenciar la parte

y esto se genera en un código Java


En un JSP utilizamos normalmente los siguientes tipos de etiquetas

Scriptlet
Introducir código en el cuerpo del método que procesa el request
<% code fragment %>
<jsp:scriptlet>
   code fragment
</jsp:scriptlet>
Introducir código en el cuerpo de la Clase (Métodos y Propiedades)

<%! declaration; [ declaration; ]+ ... %>
<jsp:declaration>
   code fragment
</jsp:declaration>
Etiqueta de Expresión
<%= expression %>
<jsp:expression>
   expression
</jsp:expression>
Comentarios
<%-- This is JSP comment --%>
Directiva
DirectiveDescription
<%@ page ... %>Definicion de la página
<%@ include ... %>Incluir otro recurso, jsp, html, etc.
<%@ taglib ... %>Declarara una librería de etiquetas

Para poder modificar propiedades de request y response se utlizan los objetos implicitos

ObjectsDescription
requestThis is the HttpServletRequest object associated with the request.
responseThis is the HttpServletResponse object associated with the response to the client.
outThis is the PrintWriter object used to send output to the client.
sessionThis is the HttpSession object associated with the request.
applicationThis is the ServletContext object associated with application context.
configThis is the ServletConfig object associated with the page.
pageContextThis encapsulates use of server-specific features like higher performance JspWriters.
pageThis is simply a synonym for this, and is used to call the methods defined by the translated servlet class.
ExceptionThe Exception object allows the exception data to be accessed by designated JSP.


Bibliografía: http://www.tutorialspoint.com/jsp/jsp_syntax.htm

viernes, 25 de octubre de 2013

Java Web con JDBC

Java Web con JDBC

En este post veremos como hacer para comprender como Responder en una página Web resultados de Consultas de Base de Datos, así también como hacer sentencias de Insert, Update, Delete, llamadas a Procedimientos desde una petición HTTP.

Guía de Trabajo

Descargar https://www.dropbox.com/s/l94xcnzgb8hdcrk/example-jdbc-derby.zip para crear el proyecto JDBC
Descargar https://www.dropbox.com/s/7cgbzaq9bljj7qt/tutorial-java-web-jdbc.zip para crear el proyecto WEB


  • Después de importar los proyectos
  • En proyecto "" modificar propiedades de Conexión a Base de Datos editando el archivo "/META-INF/db.properties"
  • Crear los siguientes Test Unitarios del Proyecto "Run JUNIT TEST" para
    • Crear Tablas en Bases de Datos
    • Probar TestUnit de INSERT
    • Probar TestUnit de SELECT
    • Probar TestUnit de UPDATE
    • Probar TestUnit de DELETE
    • Probar TestUnit de CallProcedure
  • Probar en Proyecto WEB Servlets:
    • JDBCProductoServlet.java

Tarea: Hacer Servlets y Páginas HTML para Modificar, Borrar, Consultar Producto.

viernes, 18 de octubre de 2013

Manejo de Sesiones con Java

Manejo de Sesiones con Java

Objetivos de la Clase de Manejo de Sesiones

  • Cookies
  • URL-Rewriting
  • Manejo de Http Cookies con Java
  • HttpSessión
  • SetAttribute y GetAttribute
Hablaremos de como se maneja la sesiones, mediante uso de Cookies y mediante reescritura de URL.

Después de Aprender los conceptos básicos HTTP crearemos nuestro segundo proyecto Web de donde veremos como hacer para utilizar los componentes Java para manejar Sesiones.

Crear Proyecto Web utilizando Maven

mvn archetype:generate -DgroupId=com.roshka -DartifactId=tutorial-java-web-session -Dversion=1.0.0 -DarchetypeGroupId=com.roshka -DarchetypeArtifactId=eclipse-web-project-session-archetype -DarchetypeVersion=1.0.1 -DinteractiveMode=false

viernes, 11 de octubre de 2013

Ambiente de Desarrollo - Java Web

 Instalar JDK en c:/java (importante, no en program files)
pueden ser para Windows
2) Instalar Eclipse JEE Kepler en c:/curso/java_web/ desde 
2.1) Configurar Eclipse
en Preferencias->Java->Installed JREs debe apuntar al JDK 6 instalado en el paso 2
3) Instalar Maven en c:/curso/java_web/
Configurar Variables de Ambiente y actualizar PATH como dice en documentación,
Desde Consola ejecutar mvn -version para corroborar que funciona.
3.1) Configurar Maven
copiar en Windows User Home 
ex Users/$Usuario/.m2/settings.xml (se incluye como anexo o descargar de https://www.dropbox.com/s/dh7cz6rv2rhew4y/settings.xml)
3) Acceder a Repositorio Maven
Verificar acceso a URL
4) Instalar Tomcat 7 en c:/curso/java_web/


-------------------------

Instalar Java en Windows
Instalar Java en Otros Sistemas Operativos
Instalar Eclipse (Utilizar el último - Kleper)
Instalar Maven en Windows
Instalar Tomcar en Windows


Clase Virtual número 1 - 20131011

Buenas tardes a todos,

En este POST estaré publicando la lista de tareas que realizaremos.


  • Objetivos de la Clase de Hoy
    1. Armar Ambiente de Desarrollo en Eclipse IDE
    2. Creación de Primer Proyecto Web en Eclipse IDE
    3. Utilizando el Primer Proyecto Web, Identificar las diferentes Clases que se utilizan
      • HttpServlet
      • HttpServletRequest
      • HttpServletResponse
      • PrintWriter
      • ServletContext
      • ServletException
      • IOException
    4. Utilizando el Primer Proyecto Web, Identificar y Comprender la utilización de los Métodos de HTTP
      • GET - doGet
      • POST - doPost
      • PUT - doPut
      • DELETE - doDelete
      • etc
    5. Crear un Servlet procesar Petición y Preparar Respuesta.

  • Contenido
Armar Ambiente de Desarrollo

Dirigirse a
http://java-web-uaa.blogspot.com/2013/10/ambiente-de-desarrollo-java-web.html
Creación de Primer Proyecto Web en Eclipse
http://java-web-uaa.blogspot.com/2013/10/primer-proyecto-java-web-en-eclipse.html
http://java-web-uaa.blogspot.com/2013/10/integracion-tomcat-eclipse.html (*ref1)

Utilizando el Primer Proyecto Identicar Clases

Después de Haber Importando el Proyecto (ref1) Procederemos a Comprender las Clases e Interfaces del API Servlet.



Abrir clase java HelloWorld,



La clase HelloWorld extiende javax.servlet.http.HttpServlet y sobrescribe el método doGet(HttpServletRequest req, HttpServletResponse resp) que es llamado cuando el Servidor Http recibe una petición de tipo GET desde el Browser.

En método doGet recibe dos parámetros, el primero es un objeto de tipo HttpServletRequest que contiene toda la información acerca de la petición de la página web y el segundo es un objeto de tipo HttpServletResponse que se utiliza para rellenar la respuesta que será enviada al Browser.
En el código fuente se puede ver como obtenemos un objeto java.io.PrintWriter del objeto HttpServletResponse

Las llamadas a los método doGet,doPost,doEtc pueden lanzar las siguientes excepciones de Clase ServletException,IOException

La Clase HelloWorld se registra en el Contenedor de Servlets mediante un annotation (http://docs.oracle.com/javase/tutorial/java/annotations/) @WebServlet donde se especifica como se va identificar a ese Recurso. ejemplo http://localhost:8080/hello-world/HelloWorld (http especifica el protocolo, localhost:8080 la Dirección IP y el Puerto, /hello-world aplicación WEB dentro del contenedor (Aplicación) y /HelloWorld recurso dentro de la aplicación que es definido por ejemplo en la creación de la Clase Servlet.



Identificar Llamadas a Métodos 
Como habiamos hablado en la Introducción a la Web, una petición HTTP está compuesta por establecer una conexión en Capa de Transporte y Hacer una Petición con la Siguiente Estructura (Ejemplo)

Conexión con Telnet
Abrir Telnet, Escribir como texto
PUT /hello-world/http-method HTTP/1.1
Host: telnet

Aguardar Respuesta

Conexión con Telnet, Ahora con PUT












Entonces con estas llamadas podemos ver como de acuerdo al tipo de Método HTTP cambia la respuesta, de acuerdo a que método JAVA es invocado en el Servlet

Ejercicio: Hacer Prueba con POST y DELETE

jueves, 10 de octubre de 2013

Materiales de Apoyo para Curso de Java Web

Para empezar con HTML podemos ver
Tutorial

Manual de Referencia

Ejemplos

Para empezar con CSS
Tutorial

Referencia

Ejemplos

Para empezar con Java Script podemos ver
Tutorial

Manual de Referencia

Ejemplos

Para empezar con JQuery podemos ver
Tutoriales

Referencias



Ejemplos

Descargar

Integración Tomcat - Eclipse

Eclipse y Tomcat
Descargar Video https://www.dropbox.com/s/g6fzjy832600bpt/eclipse-tomcat.zip, Descomprimir zip, y abrir integracion-proyecto-eclipse-tomcat.htm
El video tiene como objetivo ver como hacer para 
1) Integrar Tomcat en el Eclipse
2) Importar el Proyecto creado con el script maven
3) Probar como funciona un Servlet en Tomcat desde el Browser(siempre integrado en Eclipse)