Para ordenar colecciones: FORMA 1: Implementando la interfaz comparable en la clase 1) El objeto del que está compuesto la colección tiene que implementar la interfaz Comparable. Ej: public class Alumno implements Comparable{(...)}
2) Tiene que sobreescribir el método:compareTo(), teniendo en cuenta que lo que devuelve es el criterio de ordenación. EJ: public int compareTo(Alumno o) { return dni.compareTo(o.dni); }
3)Llamada al método sort() desde Collections en el código. EJ: List alumnos=new ArrayList(); alumnos.add(a1); (...) Collections.sort(alumnos);
FORMA 2:Utilizando un objeto comparator 1) Nos creamos una clase nueva que tiene que implementar la interfaz Comparable. EJ: public class AlumnoNombreComparator implements Comparator {}
2) Esta clase tiene que sobreescribir el método:compareTo(). Este método recibe dos objetos del tipo a ordenar y devuelve un entero. EJ: En este ejemplo se van a ordenar por el atributo nombre de la clase alumno. public int compare(Alumno alumno1, Alumno alumno2) { return alumno1.nombre.compareTo(alumno2.nombre); }
3)Llamada al método sort() desde Collections en el código. List alumnos=new ArrayList(); alumnos.add(a1); (...) Collections.sort(alumnos, comparadorAlumnoPorNombre);
Hasta ahora: hemos trabajado con servlets trabajando con el modelo 1.
Ahora: vamos a trabajar con JSPs (modelo 2)
Se cambio el modelo para separar la vista de la lógica de negocio. La vista y la lógica de negocio no tienen que coincidir. Deben estar separadas.
Un jsp trabaja igual que un servlet en tiempo de ejecucion. Cuando lo lanzamos al tomcat, este traduce el jsp a un servlet.
Con JSPs el código en lenguaje Java tiene que ir entre script <% %> y el código de HTML se escribe normal.
---------------------------------------------------------------- CONTROLADOR FRONTAL tODAS LAS PETICIONES LLEGAN AL CONTROLADOR, Y ESTE SE PREGUNTA CUAL ES LA URL. Recoge la URL y los parámetros mediante determinados metodos. Una vez q tiene la URL decide a quién le manda la peticion(comprobando si contiene determinadas palabras) En definitiva no hace nada, solo controla a quien se lo manda y puede tomar decisiones.(puede filtrar) VENTAJAS: no tenemos que tener muchos servlets. Recomendable segun el caso.
- Sirve para realizar pruebas. Es una librería que sigue un estandart y una nomenclatura concreta.
- La prueba existe antes del desarrollo. Al hacer el código en base a las pruebas, se falicita el desarrollo de código modular, y facilita ...
- Habrá una estructura simetrica entre el codigo de prueba y el código del programa. Esto nos sirve para probar las clases como si estuviera en el mismo paquete
- plugin para eclipse: Para instalarlo y usarlo seguimos los pasos de este enlace: http://testng.org/doc/eclipse.html
- Cómo se hace una prueba: * Se van a crear clases con el nombre de la clase que vamos a probar y le ponemos la terminacion "test". * Dentro de la clase habrá métodos de prueba. * Tendrá que llevar la anotación test "@test" para indicar que un método es de prueba. *Se crea un objeto de la clase a probar, se hace algo y se comprueba que el resultado es correcto. *Para lanzar la prueba está el código de eclipse: btn derecho encima de la prueba/run as testNG Test
La clase calendar contiene toda la información relativa a una fecha. Para usarla hay que 1) importar el paquete: java.util.Calendar 2) crear una variable y llamar al método getInstance() EJ: Calendar fecha = Calendar.getInstance(); //toma la fecha actual edl sistema 3) Métodos útiles * set()->para signar valores relativos a las fechas EJ: fecha.set(Calendar.YEAR,2008);//asigna un año * get() -> para obtener valores relativos a las fechas EJ: fecha.get(Calendar.DAY_OF_MONTH);//obtiene entero correspondiente al dia del mes. *roll()->para modificar valores en las fechas EJ: fecha.roll(Calendar.DAY_OF_MONTH, +5);//suma 5 dias al atributo dia de la variable fecha
PARA USAR SUBVERSION CON ECLIPSE: Seguir los pasos de este enlace que indica como instalar el plugin y como usarlo: enlace
PARA COMPRATIR UN PROYECTO: share project commit->para subirlo ignore-> PARA QUE NO SUBA DETERMINADAS PARTES cuando commit-> 1º coger la ultima version probar que va bien con lo nuevo y entonces subir.
PARA BAJARTE UN PROYECTO EXISTENTE: OPCION A: Nos creamos un nuevo proyecto SVN y seguimos los pasos. OPCION B: en la vista svn boton derecho->checkout
NOTA: También se pueden compartir documentos de texto con googlecode en gmail.
1) Definición -- Los filtros son componentes que pueden utilizarse para analizar y/o transformar tanto los datos solicitados como los enviados en una petición web. -- Pueden trabajar en conjunto con páginas jsp o servlets. -- Hay 3 maneras de resolver problemas: * Servlet * Listener * Filter
2) Ventajas -- Elimina relaciones innecesarias entre objetos. -- Descarga funcionalidad a los servlets. -- Pueden ser añadidos y eliminados de la aplicacción facilmente.
3) Utilización
3.1) Crear una clase que implemente Filter. public class implements Filter{(...) }
3.2) Sobreescribir el método: doFilter(ServletRequest request, ServletResponse response, FilterChain chain){(...)} -- En este método siempre tiene que haber una llamada a: chain.doFilter(request, response); Para que despues del filtrado se pueda seguir llevando a cabo la ejecución normal.
1) Crear una clase que herede de la clase HttpServlet EJ: public class extends HttpServlet{(...)}
2) Sobreescribir, al menos, los métodos: - doGet(HttpServletRequest request, HttpServletResponse response) - doPost(HttpServletRequest request, HttpServletResponse response) Nota: Para centralizar la lógica de la aplicación, en el método doPost(), por ejemplo, haremos una llamada a doGet() en cuyo método estará todo el contenido del servlet.
3) Darlo de alta en web.xml Para esto, hay que añadir: - servlet: * description * servlet-name * servlet-class> - servlet-mapping: * servlet-name * url-pattern
- Para crear un nuevo proyecto dinámico de una página Web dinámica:
File/New/dynamic web project->project name: cea01 Los .jsp los crearemos en la carpeta WebContent. EJ: Bienvenida.jsp
- Para desplegar Tomcat: º Botón derecho en el servidor/Reestart º Botón derecho en el servidor/Add and Remove Project/add (seleccionamos el que queramos) º Clean tomcat workDirectory
- Para ver nuestro jsp ponemos en la barra del explorador: localhost:8090/cea01/bienvenida.jsp ___________________________________________________________________________________
El decir que estos objetos son implicitos quiere decir que no hace falta crear un objeto de ellos para usarlos.
1) Request Encapsula la información de un evento de usuario.
Definición de evento: Para java Web evento es hacer clic en un enlace, en un botón, enviar dirección url, envío de formularios.) Un evento puede solicitarse vía GET(por la url) o por POST (de manera transparente)
El url+ parametro es lo que se encapsula en el Request.
2) Duración de los objetos:
-Request : Cada vez q hacemos clic se crea un Request, y se destruye cuando acaba el evento. - Session: El objeto session se crea cuando un usuario accede a la aplicación, y dura hasta que se cierra la secion. Podemos forzar la salida con el session.config/time-out (en min) o con el método de session: session.invalidate.
Según el navegador, si accedemos a la misma aplicación se crean dos usuarios. Si abrimos pestaña es solo un cliente.
- Application: El objeto se crea cuando se lanza la aplicación y dura hasta q se apague o se reinicie el servidor.
3) Acceso a los objetos Los tres objetos, Application, Session y Request, tienen atributos que podemos manejar desde la aplicación mediante los métodos set y get que cada uno tiene.
Importante: ----Cada usuario tiene su Request y su Session. Esto quiere decir que no se comparten sus atributos entre usuarios) ----Sin embargo, el Application es compartido por todos los usuarios. Por eso, en application podemos poner los recursos comunes.
"Desarrollo de Componentes Web con Tecnología Java"
El primer día hemos creado un blog para subir los apuntes diarios; nos hemos creado una cuenta “delicious”, para organizar y compartir nuestras páginas favoritas, y hemos instalado varios programas.
Estos son los pasos:
1)Crear una cuenta mail.
Para crear una cuenta de correo gmail pulse aquí y siga los pasos.
2)Crear un blog
Vamos a utilizar Blogger para crearlo.
Blogger necesita una cuenta de Google para crear y acceder a un blog (por ejemplo la de gmail del paso anterior).
3)Crear cuenta Delicious(+ instalación del componente en Firefox)
Delicious es una herramienta Web que sirve para organizar y administrar tus favoritos.
La ventaja es que es accesible desde cualquier computador con acceso a Internet, y lo puedes compartir con más usuarios.
Seguir este enlace para la creación de la cuenta Delicious.
Es útil instalar el componente en el FireFox para facilitar su uso.
También es útil el componente Firebug. Es una herramienta de edición de páginas web que permite su modificación en el mismo navegador.
4)Instalar apache
Apache es un servidor HTTP de software libre.
Para instalarlo se puede bajar un comprimido de este enlace.
En primer lugar hay que descomprimir el contenido y colocarlo en la ruta:
C:\ … \Mis documentos\ JAVA\servers
Para que arranque el apache tenemos que ejecutar el archivo por lotes:
startup.bat, que está en la carpeta bin.
Para acceder a Tomcat hay que poner en la barra del explorador:
http://localhost:8080
Podemos añadir un usuario administrador modificando el archivo tomcat-users.xml, que está en la carpeta conf (primero hay que cerrar el apache).
5)Instalar Eclipse
5.1) Variable de entorno
Para que eclipse funcione correctamente hay que añadir una variable de entorno:
Para eso seguimos estos pasos:
Botón secundario en Mi PC/Propiedades/Opciones Avanzadas/Variables de Entorno/Agregar/ nuevo.
Rellenamos con estos datos: (para este caso concreto)
Nombre: JAVA_HOME
Ruta: C:\Archivos de programa\Java\jdk1.6.0_02
5.2) Creación del espacio de trabajo.
Para que no haya problemas con eclipse y el workspace (el espacio de trabajo de eclipse); y con los espacios en blanco a la hora de que eclipse acceda a las rutas de carpeta, vamos a crearnos una carpeta en nuestro disco duro C.
Así: C:\workspace
5.3) Instalación
Eclipse es un programa que no necesita ser instalado.
Simplemente con descomprimirlo y ejecutarlo funcionará correctamente.
Esto tiene la ventaja de que puedes tener tantos eclipses como quieras (con diferentes versiones, diferentes plugins o funcionalidades en cada uno…) sin que los Eclipses presenten conflictos entre ellos.
5.4)Instalación del plugin JBossTools
Para añadir este o cualquier otro plugin solo es necesario descomprimir el plugin y copiar el contenido de sus carpetas en las correspondientes carpetas de nuestro Eclipse.
6)Enlazar Eclipse y Tomcat
Para comunicar el Eclipse con el Tomcat nos situamos en la pestaña Servers.
Dentro, pulsando en cualquier espacio de dicha vista Servers, hacemos click con el botón derecho del ratón/new/server.
Especficamos el Apache que hemos instalado: "Tomcat v6.0 Server" y le damos a Add.
Le damos a "Browse..." y le especificamos la ruta donde se instaló Apache: