====== Guardar datos mediante el uso de sesiones con servlets ======
Creamos un nuevo servlet:
{{:dad2:pasted:20240206-120314.png}}
Nos aseguramos de que su URL esté en minúsculas:
{{:dad2:pasted:20240206-120408.png}}
===== Almacenaje de datos =====
Para almacenar un parámetro utilizaremos la siguiente línea de código:
request.getSession().setAttribute("MIATRIBUTO", request.getParameter("formParam"));//Guardamos información
Se implementaría de la siguiente forma:
package com.organizacion.servlets;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Enumeration;
/**
* Servlet implementation class Hola_Mundo
*/
public class Hola_Mundo extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public Hola_Mundo() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
String paramName ="";
response.getWriter().append("Primer Contexto");//Imprimimos la cabecera
for(Enumeration params= request.getParameterNames(); params.hasMoreElements();) {//Recorremos los parámetros de entrada
paramName=params.nextElement();
response.getWriter().append("" + paramName + ":" + request.getParameter(paramName) + "
");//Mostramos cada parámetro con su nombre acompañado de unsalto de línea
}
request.getSession().setAttribute("MIATRIBUTO", request.getParameter("formParam"));//Guardamos información
response.getWriter().append("");//cerramos el final del documento
//System.out.println("MENSAJE DE PRUEBA DE SERVLET");
//response.getWriter().append("jelouda");
//response.getWriter().append("Served at: ").append(request.getContextPath());
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
===== Recuperación de datos =====
Para recuperar los datos guardados se utiliza la siguiente línea de código:
response.getWriter().append("Valor del atributo: " + request.getSession().getAttribute("MIATRIBUTO"));//Recuperamos la información
package com.organizacion.servlets;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* Servlet implementation class GuardarInformacion
*/
public class GuardarInformacion extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public GuardarInformacion() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Valor del atributo: " + request.getSession().getAttribute("MIATRIBUTO"));//Recuperamos la información
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
Cuando queramos recuperar la información desde el servlet "GuardarInformacion" veremos lo sigiente:
{{:dad2:pasted:20240206-121144.png}}