====== 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}}