jueves, 12 de junio de 2008
Microformatos
Puedes marcar, por ejemplo, datos de contacto.
La aplicación parsea ese XHTML, y puede extraer, por ejemplo, el nombre de la persona, su e-Mail, su teléfono, etc. Porque está marcado siguiendo una especificación.
Gracias Juan por la explicación.
Link interesante:
Microformatos
lunes, 14 de abril de 2008
Declaración de etiquetas jsp
Las etiquetas JSP son poderosas y encapsulan tareas que serían difíciles o llevarián mucho tiempo de programar.Los lenguajes de script que tenemos disponibles dependen del motor JSP que estemos usando. Con la implementación JSP de Sun, debemos usar el lenguaje Java como lenguaje de script, pero otros motores de JSP de terceras partes podrían incluir soporte para otros lenguajes.
Las etiquetas JSP tienen diferentes categorías:
Comentarios: <%-- mi comentario --%>
Declaraciones: se utiliza para declarar variables de tipos simples,objetos y métodos. .Ejemplo: <%! int contador = 0; %>. La sintaxis es puro Java y se continua con la vieja regla de "declarar antes de usar".
Expresiones: al procesar la página la salida es el valor de la expresión delimitada por <%= %>, por ejemplo podemos insertar la expresión dentro de una línea HTML típica
& ltp>La cuenta es: <%=contador%> <p>El cuadrado de la cuenta es: <%=cuadrado( contador )%> <%-- Llamada a método --%>
Scriptlets: un conjunto de instrucciones Java. Formato: <% scriptlet %>. Ejemplo:
<%! int base = 5, altura = 7 ; %> <% base * altura / 2.0; new java.util.Date(); %> <BR> Hola HTML <% System.out.println( "de regreso a scriplets" ); base + altura; %>
Directivas: su sintaxis general es <%@ directiva {atributo ="valor"} %> dónde la directiva debe tener al menos un atributo:
Directivas page: en función del atributo utilizado sirven para la configuración general: importar clases, definir tipo MIME, etc.
<%@ page import="paquete.clase" %> <%@ page contentType="tipo MIME" %>
Para contentType los valores por defecto son contentType="text/html; charset=iso-8859-1".
Algunos atributos:
import="package.*,clase.class" Sirve para importar paquetes y clases.
session="true|false" Por defecto es true. Indica si mantiene atributos de sesión para la página.
isThreadSafe="true|false" Por defecto es true. Si es true cada petición corre en un hilo y por tanto el procesador maneja las peticiones de forma asíncrona ("simultáneamente"). Con false se gestionan las peticiones en un hilo (una por una).
info="text" Información de la página a la que se puede acceder a través del método Servlet.getServletInfo()
errorPage="pagina_error". Página que manejará las excepciones.
isErrorPage="true|false". Indica si es una página que manejará errores.
Ejemplos:
<%@ page import=”com.myco.*” buffer=”26k” errorPage=”/oops.jsp”%>Para reenviar una excepción a una página tiene: <%@ page errorPage="07_errorPage.jsp"%> En la página de error (07_errorPage.jsp) tenemos una forma de capturar el error por medio del objeto implícito "exception":
<%@ page isErrorPage="true" %>
<html>
<head><title>Ejemplo de errorPage
<body>
<h1>Se ha producido un error
<p>Error: <%= exception %>
Esta página capta las excepciones. No capta los errores debidos a fallos de enlace (URL).
Directivas include: se inserta un fichero en el lugar de la directiva. Matiz: se inserta el fichero, no su valor o resultado. Utiles, entre otras cosas, para insertar código HTML o JSP que se repite. La URL debe ser relativa. Ejemplo:
<%@ include file="cabecera.html" %>
Directivas Taglib: indica la referencia a la librería de etiquetas definidas por el programador (etiquetas personalizadas). El motor JSP utiliza esta librería para saber como interpretar las etiquetas personalizadas de la página JSP.Ejemplo:
<%@ taglib uri="URI_de_librería" prefix="prefijo_de_etiquetas" %>
URI es el descriptor único de la librería. No tiene valor por defecto. Si no se especifica aparece una excepción. El prefijo es el prefijo en la expresión prefijo:etiqueta, que sirve para definir la etiqueta personalizada. Cuando el motor de JSP se encuentra en la página con la expresión prefijo_de_etiquetas:etiqueta, entonces se dirige a la librería señalada en URI para interpretar la etiqueta. Las etiquetas personalizadas son importantes en el manejo de JSP.
Acciones: realizan una tarea en el momento en que se solicita la página. Sirven para acceder a beans, etc. La acción de inclusión, a diferencia de la directiva de inclusión, implica la sustitución por el valor o resultado del archivo en el momento de la petición. Ejemplo:
<jsp:include page="también una URL relativa" flush="true"/>
Otra acción es jsp:forward, que tiene el mismo comportamiento que javax.servlet.RequestDispatcher. Su sintaxis admite (o no) parámetros. La ejecución de la página invocante se detiene para resolver el forward. Sintaxis:
<jsp:forward page="también una URL relativa">
<jsp:param name="nombre_parametro" value="valor" />
viernes, 14 de marzo de 2008
¿Qué son los JSP?
Cuando se compila un Jsp se crea una clase java que se ejecuta en el servidor como los servlets.
Hay una diferencia entre los Jsp y los servlets y es en el enfoque de la programacion,un JSP es una página Web con etiquetas especiales y código Java incrustado, mientras que un servlet es un programa que recibe peticiones y genera a partir de ellas una página web
jueves, 7 de febrero de 2008
Trabajando sobre el proyecto myapp
Estamos trabajando estos dias con creacion de listado de libros,autores,temática etc
Pues voy a explicar como se han ido haciendo por si alguien tiene duda de algo.
- Creamos la clase Libro.java
- Como esta relacionada con base de datos le ponemos los requisitos necesario para que sea persistente como id,constructor vacio,set an get de las variables.
- En el applicationContext-hibernate.xm le incluimos el mapeo de la clase incluyendo la linea org/appfuse/model/Libro.hbm.xml com aparece en la imagen:
- Nos creamos Libro.hbm.xml en el paquete org.appfuse.model que es un intermediario entre java y base de datos ,sirve como traducto de java para la base de datos
- Creamos LibroDao y su implementacion LibroDaoHibernate q esto es para acceder a la base de datos y para poder también modificarla.LibroDao nos lo creamos en org.appfuse.dao y el otro en org.appfuse.dao.hibernate.
- Modificamos el applicationContext-hibernate.xml para indicarle el nuevo DAO
- Creamo LibroManager y LibroMangerImpl (or.appfuse.servicio y org.appfuse.servicio.imp) y modificamos el applicarionContext.xml incluyendo el dao en el manager.
- Modificamos el UserControler para que reciba libro.html y creamos el jsp que devuelve el metodo que nos hemos creamos en UserControler.
martes, 5 de febrero de 2008
Desarrollo: respuesta solicitud web
- Crear en el controlador el metodo pedirAutores() y anotacion indicando la solicitud web y devolviendoel nombre del jsp
- Creamos el jsp correspondiente.
- Incluimos en el modelo la información dinámica y accedemos desde el jsp a través ${clave}.
lunes, 4 de febrero de 2008
Servlets, JSp, MVC
- Servlets-->es un pequeño programa que corre en un servidor.Un servlet es una clase java que extiende de la clase HttpServlet,esta es la que hace todo el traajo,esta clase tiene muchos metodos,encapsula el protocolo web (request,response),es la clase inteligente y lo que nosotros hacemos es sobrescribir los métodos de esta clase.Al escribir una direccion en el ordenador,se invica al archivo descriptor web.xml que sn esto no se puede hacer nada,sin este archivo el tomcat no sabe que hacer con los archivo y alli ponemos una declaracion de los servlet,ponemos que según lo que se escriba en el navegador se vaya a la clase servlet correspondiente.El jsp ayuda a desarrollar la aplicación accediendo a la información java desde web.
En conclusion: El modelo Servlet consiste en la creación de páginas web dinámicas basadas en java. Los servlets permiten que un ordenador se conecte a una clase java y genere respuesta.
- Jsp(java server page)-->digamos con mis propias palabras que son aplicaciones java para la web.
- MVC(modelo-vista-controlador)-->es una forma de organizar la aplicación en 3 apartados distinto,separando la interfaz de la lógica del programa,este forma se utiliza sobre todo en entornos web.Este patrón nos permite/obliga a separar la lógica de control (sabe que cosas hay que hacer pero no como), la lógica de negocio (sabe como se hacen las cosas) y la lógica de presentación (sabe como interactuar con el usuario). Para entenderlo mejor:En una aplicación el modelo seria el planteamiento de la aplicación como vamos a resolver el "problema". La vista seria la forma de presentarlo y visualizarlo,es decir la interface.El controlador seria el código de la aplicación.
Varios idiomas en el proyecto
y l pegamos en el mismo lugar donde se encuentra(src/main/resources) y le cambiamos el nombre por ejemplo messages_fr.properties.
Le cambiamos las palabras al idioma correspondiente.
Hacemos un deploy y en firefox en herramientas/avanzado/idioma ponemos en primer lugar el lenguaje Frances(que es el que hemos elegido para este ejemplo) y ya vemos en la pagina como salen las palabras que hemos cambiado.
jueves, 31 de enero de 2008
Tomcat
Para más información ver esta web Todo sobre Tomcat