Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Aplicaciones Distribuidas
Aplicaciones Web
Servlets – JSP
● Guardar en session
● HttpSession session = request.getSession(true);
session.setAttribute("nombre", "valor");
● Guardar cookie
● Cookie cookie = new Cookie(“nombre", “valor");
response.addCookie(cookie);
Recuperar datos (guardados) del
cliente
● Recuperar de session
● HttpSession session = request.getSession(true);
● String valor = session.getAttribute(“nombre”).toString();
● Recuperar cookie
● Cookie[] cookies = request.getCookies();
for (Cookie c : cookies) {
String nombre = c.getName();
String valor = c.getValue();
}
Redireciconar datos
● Pasar un dato a otro componente (antes de
redireccionar!)
● Guardar en request (para hacer forward)
– request.setAttribute(“nombre”, valor);
● Redirecciona a otro componente
● request
.getRequestDispatcher(“path componente")
.forward(request, response);
● Recuperar un valor pasado por otro pograma
● String valor = (String)
request.getAttribute("nombre");
Archivos
● Enviar desde el cliente
● <form
action=“servlet-path"
method="post"
enctype="multipart/form-data">
</form>
…Archivos
● Recibir en la Servlet
● Decorar Servlet con @MultipartConfig
● Cada archivo viene en una “parte”, cuyo nombre es
el del botón submit
– Part filePart = request.getPart("file");
● En la parte consta p.ej. el nombre del archivo
– String fileName = filePart.getSubmittedFileName();
● Cada parte tiene su propia InputStream para leer el
archivo
– InputStream fileContent = filePart.getInputStream();
…Archivos
● Enviar al cliente
● Enviarlo directamente por la OutputStream de la
response
– P.ej:
Path fileToDownload =
Paths.get(FILES_DIR_PATH + fileName);
– Files.copy(
fileToDownload,
response.getOutputStream());
Java Server Pages - JSP
● Página HTML con código Java embebido
● El código Java permite generar contenido
HTML dinámico
● Una página JSP es compilada y transformada
en una Servlet (automáticamente en el
servidor)
Elementos JSP
● Plantilla de contenido
● HTML estático
● Elementos JSP
● Código Java para configuración o ejecución que se
encuentra en etiquetas especiales
– Comentarios
● <%- - … - -%>
… Elementos JSP
– Expresiones
● <%= … %>
– Scriptlets
● <% … %>
– (Código en general)
– Directivas
● <%@ … %>
Directiva: page
● Permite definir propiedades generales de la
página como codificación, tipo de contenido, …
● <% @ page contentType="text/html" pageEncoding="UTF-8“ %>
– Esta instrucción se espera que esté al inicio de todas las JSP
<% } %>
Objetos implícitos
● Algunos objetos de uso común no deben ser
creados o declarados. Se encuentran
automáticamente a nuestra disposición
● request y response
● out (flujo de salida: out.println(“hola”))
● session y application
● exception (información del error para páginas de
error)
● …
Distribución en capas
● En un esquema como por ejemplo MVC,
generalmente:
● Servlet: Controlador. Reciben el request y
distribuyen el trabajo
● JSP: Vista. Reciben los datos procesados y los
presentan al usuario como html
● EJB (Enterprise Java Bean): Modelo (y negocio).
Generalmente interactúan con la base de datos,
procesan los datos, y los devuelven al controlador