Ud 11
Ud 11
Ud 11
Desarrollo de aplicaciones
web con servlet
ÍNDICE
11 11.1 11.2 11.3 11.4 11.5 11.6
Opciones de Acceso a
configuración datos desde
del archivo un servlet
web.xml
11.1 Características y
ventajas de un
servlet. Creación
de servlets HTTP
C O M E N Z A R
Características y ventajas de un servlet. Creación de servlets HTTP
Servlets
1 2 3
4
Los servlets nos permiten realizar funciones como procesar,
sincronizar y coordinar múltiples peticiones de clientes,
reenviar peticiones a otros servlets o a otros servidores, etc.
Características y ventajas de un servlet. Creación de servlets HTTP
Arquitectura de servlets
{
// ... codigo para una peticion POST
}
}
Generación de páginas con servlets
import javax.servlet.*;
import javax.servlet.http.*;
La plantilla común para implementar un
servlet es: public class ClaseServlet extends HttpServlet
{
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
// ... codigo para una peticion GET
}
Configuración de servlets en
aplicaciones web
TIEMPO ESTIMADO
10 min
TIEMPO ESTIMADO DE LECTURA
10 min
https://drive.google.com/file/d/1NmHwi-paaKu1sOFytWJSvtBrWS5ub2mJ/preview
Generación de páginas con servlets
Para obtener una lista con los nombres de los parámetros enviados por el cliente.
Enumeration getParameterNames()
String getQueryString()
Recuperación de datos enviados en una petición
BufferedReader getReader()
String getMethod()
String getRequestURI()
Session en Servlets
1 2 3
Para la gestión de Una sesión contiene Cuando un usuario entra a un sitio
sesiones utilizaremos el información específica web por primera vez, se obtiene
objeto HttpSession. de un usuario en HttpSession a través de
Ejemplo Ejemplo
Métodos de HttpSession
public void setAttribute(String name, Object value): Este método vincula el objeto con un nombre y almacena el
par nombre/valor como un atributo del objeto HttpSession. Si ya existe un atributo, este método reemplaza los
atributos existentes.
public Object getAttribute(String name): Devuelve el objeto String especificado en el parámetro, desde el objeto
de sesión. Si no se encuentra ningún objeto para el atributo especificado, el método getAttribute() devuelve un
valor nulo.
public Enumeration getAttributeNames(): Devuelve una enumeración que contiene el nombre de todos los objetos
que están vinculados como atributos al objeto de la sesión.
public void removeAttribute(String name): Este método elimina el atributo dado de la sesión.
Ejemplos de Session
TIEMPO ESTIMADO
20 min
TIEMPO ESTIMADO DE LECTURA
10 min
https://drive.google.com/file/d/1TxlviSLC0fiDZ7z52dDE3HJ1KmVMYNQ3/preview
Atributos de petición, sesión y aplicación
Application attributes
El atributo de sesión se utiliza para crear la sesión mediante el contenedor web cuando un
usuario visita la aplicación web.
Por ejemplo:
HttpSession session=request.getSession();
Session.setAttribute(“cars”,CarsObject);
Atributos de petición, sesión y aplicación
Application attributes
in Servlet
Cualquier servlet dentro de la misma aplicación puede
Application
tener acceso a los atributos de contexto.
Context Data Base
LoginServlet Attributes
1
Por ejemplo:
dbUrl
dbUserName
getServletContext().setAttribute(“dbUrl”,”jdbc: dbUserPswd
mysql://localhost:3306/login”);
getServletContext().getAttribute(“dbUrl”); Registration
Servlet1
Atributos de petición, sesión y aplicación
El uso de cookies,
además de otros, es para:
1 Creamos la cookie
Las cookies se manejan con la clase Cookie:
public Cookie (String nombre, String valor)
1 Creamos la cookie
1 Creamos la cookie
3 Enviar la cookie
Las cookies se añaden a la cabecera de la respuesta, y se envían
así al cliente, mediante el método de HttpServletResponse:
public void addCookie (Cookie cookie)
Cookies
Ejemplo
Tipos de cookies
SESSION COOKIES
PERSISTENT COOKIES
https://drive.google.com/file/d/1dCtvdQqEyUWCCc4RKbvRCMnchIrJ4VwT/preview
Cookies
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>controlServlet</servlet-name>
<servlet-class>com.jenkov.butterfly.ControlServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>controlServlet</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
</web-app>
Opciones de configuración del archivo web.xml
<servlet>
<servlet-name>controlServlet</servlet-name>
<servlet-
class>com.jenkov.butterfly.ControlServlet</servlet-
class>
<init-param>
<param-name>myParam</param-name>
<param-value>paramValue</param-value>
</init-param>
</servlet>
Opciones de configuración del archivo web.xml
response.getWriter().write("<html><body>myParam = " +
this.myParam + "</body></html>");
}
}
Opciones de configuración del archivo web.xml
<servlet>
<servlet-name>controlServlet</servlet-name>
<servlet-
class>com.jenkov.webui.ControlServlet</servlet-class>
<init-param><param-
name>container.script.static</param-name>
<param-value>/WEB-
INF/container.script</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
El número dentro del elemento <load-on-
</servlet> startup>1</load-on-startup> le dice al contenedor de
servlets en qué secuencia se deben cargar los
servlets. Los números más bajos se cargan primero.
Si el valor es negativo o no se especifica, el
contenedor de servlet puede cargar el servlet en
cualquier momento.
Opciones de configuración del archivo web.xml
Parámetros de contexto
También podemos establecer algunos parámetros de contexto que se
pueden leer desde todos los servlets de la aplicación.
Ejemplo
<context-param>
<param-name>myParam</param-name>
<param-value>the value</param-value>
</context-param>
Así es como accede al parámetro desde dentro de una
subclase HttpServlet:
String myContextParam =
request.getSession()
.getServletContext()
.getInitParameter("myParam");
11.8 Acceso a datos
desde un servlet
C O M E N Z A R
Acceso a datos desde un servlet
Recurso
LECTURA
TIEMPO ESTIMADO
10 min
TIEMPO ESTIMADO DE LECTURA
10 min
https://drive.google.com/file/d/12MErOxqv57Oj-3v25vFp9TfX-WDsT-IW/preview
hemos
terminado
¡EXCELENTE TRABAJO!