Anuncio: Proyecto
Empezamos el día con el anuncio del proyecto que tendremos que realizar en breve.
El proyecto es un ejercicio de evaluación (examen en cristiano) nos servirá como práctica para la realización de trabajo en equipo que suele darse en el mundo de los programadores en la "vida real".
La descripcion del proyecto está aquí: Enlace al proyecto
El proyecto estará en googleCode en el repositorio.
Entregar tambien una memoria que explicará el codigo.
Se tiene que entregar el 6 de febrero como fecha límite.
Usar google Docs. Tiene un CVS.
Para la memoria el googleDocs
Para el codigo el CVS
Subversion(SVN)
Es un control de versiones del código y lo normal es que alguien lo instale en un servidor. Google nos ofrece esta herramienta de forma gratuita.
Como obtener archivos y recibirlos usando eclipse.
Instalar el pluggin "subclipse" en Eclipse: Enlace a instalación del pluggin
En el SVN podemos ver el código como autor: con privilegios de escritura y lectura con https (con seguridad) y como lector: con privilegios de lectura con http (sin seguridad).
Para añadir el repositorio de googleCode a Eclipse vamos a nuevo repositorio. En google code le damos a source y copiamos la url https.
Nos pedirá un usuario y una contraseña, ambas vienen en el google code, en source. El usuario viene después de la url que copiamos y la contraseña pulsando el enlace que viene después de éste.
Una vez funcionara el SVN en eclipse nos organizamos en 4 grupos de 4. Mi grupo es el nº 2 y somos: yo, Xelu, María y Manuel.
Terminamos el día (y la mitad de éste) organizandonos los grupos internamente sobre qué haremos cada uno.
Mostrando entradas con la etiqueta Filtros. Mostrar todas las entradas
Mostrando entradas con la etiqueta Filtros. Mostrar todas las entradas
martes, 27 de enero de 2009
Día 10: Introducción al proyecto
Etiquetas:
Clases,
Eclipse,
Eventos,
Filtros,
Métodos,
Repositorio,
Servlets,
Subversion
lunes, 26 de enero de 2009
Novedo día: De tiendas, ...
Repaso
Como todos los dias hicimos un breve repaso sobre lo que hemos dado.
Primeramente se hizo un esquema con lo básico para poder hacer una aplicación web en perfectas condiciones:
Java src
Hoy haremos una aplicación web orientada a una tienda, en la que se basa principalmente en la visualización y almacenamiento de los productos.
Este ejercicio es el mismo que el del Octavo dia solo que vamos a perfeccionarlo a más no poder.
Para no poner un hipertochopost (xD) mejor pongo un enlace donde se muestra toda la aplicación paso por paso: Tienda
Como todos los dias hicimos un breve repaso sobre lo que hemos dado.
Primeramente se hizo un esquema con lo básico para poder hacer una aplicación web en perfectas condiciones:
Java src
- Modelo -> Es una clase java para encapsular datos. Por ejemplo una clase productos de atributos: id, nombre, precio, etc.
- Servlet
- Listener
- Filter
- Request -> Parametros | Atributos
- Response -> PrintWriter
- Session -> Atributos
- ServletContext -> Atributos
- web.xml
Hoy haremos una aplicación web orientada a una tienda, en la que se basa principalmente en la visualización y almacenamiento de los productos.
Este ejercicio es el mismo que el del Octavo dia solo que vamos a perfeccionarlo a más no poder.
Para no poner un hipertochopost (xD) mejor pongo un enlace donde se muestra toda la aplicación paso por paso: Tienda
sábado, 24 de enero de 2009
Octavo día: Recopilación
Inicio: Repaso
Como siempre, hicimos un repaso del día anterior.
Recordamos el uso de un filtro, la de filtrar las peticiones de los usuarios, las intercepta y dependiendo de lo que queramos hará una cosa u otra con las peticiones.
Expansión del ejercicio del contador:
Crearemos una nueva clase llamada "FiltroSeguridad", en la misma ventana para crear una clase (a pelo) le diremos que implemente una interfaz de tipo "Filter" que importa el paquete "javax.servlet.Filter".
La clase HttpServletRequest es una clase hija de ServletRequest y lo mismo con el de Response. Decimos esto porque necesitaremos manejar atributos de sesión que ServletRequest no puede hacer mientras que su clase hija si, asi que creamos un objeto de tipo HttpServletRequest haciendo un casting a ServletRequest.
Creamos un repartidor de solicitudes (RequestDispatcher) y le decimos que nos de la dirección a la que queremos enviar y que rediriga al usuario a esa dirección. En este caso sería si un usuario no está registrado, que lo redireccione a la página de registro.
Código:
RequestDispatcher dispatcher= request.getRequestDispatcher("/registro");
dispatcher.forward(servletRequest, servletResponse);
Por supuesto, se me olvidó comentar, que seguiremos usando el filtro que ya hicimos ayer que imprima la cabecera y el pie de la página web.
Ejercicio sobre catálogo de productos:
Terminado el contador hicimos un ejercicio para poner en práctica lo aprendido.
El ejercicio consiste en hacer un catálogo de productos, manejando un listener, 2 servlet y una clase.
Un servlet escuchara la url /catalogo que expondrá un listado de productos (sólo el nombre) a modo de enlace.
Como siempre, hicimos un repaso del día anterior.
Recordamos el uso de un filtro, la de filtrar las peticiones de los usuarios, las intercepta y dependiendo de lo que queramos hará una cosa u otra con las peticiones.
Expansión del ejercicio del contador:
Crearemos una nueva clase llamada "FiltroSeguridad", en la misma ventana para crear una clase (a pelo) le diremos que implemente una interfaz de tipo "Filter" que importa el paquete "javax.servlet.Filter".
La clase HttpServletRequest es una clase hija de ServletRequest y lo mismo con el de Response. Decimos esto porque necesitaremos manejar atributos de sesión que ServletRequest no puede hacer mientras que su clase hija si, asi que creamos un objeto de tipo HttpServletRequest haciendo un casting a ServletRequest.
Creamos un repartidor de solicitudes (RequestDispatcher) y le decimos que nos de la dirección a la que queremos enviar y que rediriga al usuario a esa dirección. En este caso sería si un usuario no está registrado, que lo redireccione a la página de registro.
Código:
RequestDispatcher dispatcher= request.getRequestDispatcher("/registro");
dispatcher.forward(servletRequest, servletResponse);
Por supuesto, se me olvidó comentar, que seguiremos usando el filtro que ya hicimos ayer que imprima la cabecera y el pie de la página web.
Ejercicio sobre catálogo de productos:
Terminado el contador hicimos un ejercicio para poner en práctica lo aprendido.
El ejercicio consiste en hacer un catálogo de productos, manejando un listener, 2 servlet y una clase.
Un servlet escuchara la url /catalogo que expondrá un listado de productos (sólo el nombre) a modo de enlace.
- Los productos se mostrarán gracias a un "List
" que está guardada en una variable de aplicación, que creamos en un Listener de aplicación.
Al mostrar los productos también debemos generar unos enlaces para cada uno, añadiendo ?id=x al enlace, para ello tendremos que hacer un bucle "for" recorriendo todos los elementos del List. for(Productos p:listaProductos){ p.id; etc } - El otro servlet recojerá la petición /detalle más el id que le pasamos por parámetro y buscando en el list accederemos a las propiedades del producto y las mostramos.
jueves, 22 de enero de 2009
Séptimo día: Filtros
Empezamos con un repaso del ejercicio del contador sobre los listener.
Después del repaso tendremos que modificar el ejercicio de contador de esta manera:
Filtros
La función principal de los filtros es la de filtrar las peticiones de un usuario a un servlet y sus respuestas.
Unos buenos apuntes sobre filtros son estos: Apuntes en PDF
Contador con filtro
Empezamos a practicar lo nuevo que estamos aprendiendo en el ejercicio del contador, aplicando un filtro para que intercepte todas las peticiones.
Nuestro primer filtro lo que hará será imprimir por pantalla la cabecera de la página web en la petición y en la respuesta el pie de la página. Todo esto lo haremos en el método que implementamos "doFilter".
Indispensable el "arg2.doFilter(arg0, arg1);" , que hace que continue la petición al servlet.
Contador con filtro(2)
Mejoraremos el filtro del contador para que un usuario que no este registrado lo redirija a una página con un formulario para registrarse y una vez registrado que entre al contador.
Después del repaso tendremos que modificar el ejercicio de contador de esta manera:
- El Contador contabilizara todas las peticiones de todos los usuarios.
- ContadorUsuarios contabilizará los usuarios que se han conectado a la aplicación desde que se inicia la Aplicación.
- ContadorUsuriosConectados contabilizará los usuarios conectados en el momento actual a la aplicación.
Filtros
La función principal de los filtros es la de filtrar las peticiones de un usuario a un servlet y sus respuestas.
Unos buenos apuntes sobre filtros son estos: Apuntes en PDF
Contador con filtro
Empezamos a practicar lo nuevo que estamos aprendiendo en el ejercicio del contador, aplicando un filtro para que intercepte todas las peticiones.
Nuestro primer filtro lo que hará será imprimir por pantalla la cabecera de la página web en la petición y en la respuesta el pie de la página. Todo esto lo haremos en el método que implementamos "doFilter".
Indispensable el "arg2.doFilter(arg0, arg1);" , que hace que continue la petición al servlet.
Contador con filtro(2)
Mejoraremos el filtro del contador para que un usuario que no este registrado lo redirija a una página con un formulario para registrarse y una vez registrado que entre al contador.
Suscribirse a:
Entradas (Atom)