Java - Recuperar los datos de una sesion

 
Vista:
sin imagen de perfil
Val: 25
Ha aumentado su posición en 3 puestos en Java (en relación al último mes)
Gráfica de Java

Recuperar los datos de una sesion

Publicado por David (15 intervenciones) el 19/05/2018 11:27:44
Buenos días:

Os comento, tengo algún problema al recuperar los datos, Lo que necesito es que No se cambie de sesion y recuperar los datos mediante esa sesion. Os copio lo que tengo hasta ahora a ver y al final del todo os dejo lo que pide el ejercicio.

En la clase almacen, en el metodo recuperar y almacenar, cuando intento poner sesion.getAttribute("almacen"); me da error y no se como recuperar sino esa sesion.
Tambien decir que no se si estoy haciendo bien el
@WebServelt(name="....." urlPatterns = {"/delegados/Almacen"} porque al no ser un JSP no se si con url puede valir.

Un saludo y gracias de antemano:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
public class Almacen {
 
    private HttpSession sesion;
 
    public Almacen() {
    }
 
    public void setSesion(HttpSession sesion) {
        this.sesion = sesion;
    }
 
    public void almacenar(String producto, Double cantidad) {
 
        sesion.getAttribute("almacen");
 
        HashMap<String, Double> hm = new HashMap<>();
        hm.put(producto, cantidad);
    }
 
    public Map<String, Double> recuperar() {
        sesion.getAttribute("almacen");
        HashMap<String, Double> map = new HashMap<>();
        return map;
    }
 
}
 
@WebServlet(name = "ServletAlmacen", urlPatterns = {"/delegados/Almacen"})
public class ServletAlmacen extends HttpServlet {
 
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
         HttpSession misession= request.getSession(true);
        Almacen almacen= new Almacen();
        misession.setAttribute("almacen",almacen);
 
    }



Esto es el enunciado del ejercicio:

En una aplicación web se ha creado la siguiente clase para almacenar datos:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package delegados;
public class Almacen {
    private HttpSession sesion;
    public Almacen() {
    }
    public void setSesion(HttpSession sesion) {
        this.sesion = sesion;
    }
    public void almacenar(String producto, Double cantidad) {
        // ... COMPLETAR CÓDIGO
    }
    public Map<String, Double> recuperar() {
         // ... COMPLETAR CÓDIGO
    }
}



CUESTIÓN 1. Completa el método almacenar() para que se almacenen los datos (producto y cantidad) en la sesión dentro de un HashMap<String, Double>. Completa el método recuperar() para retornar el mapa con los datos, de forma que si todavía no hay ningún dato almacenado se devuelva un HashMap vacío.



CUESTIÓN 2 . Se quiere crear una página JSP que utilice la clase Utilidad. La página debe incluir la siguiente tabla:

1
2
3
4
5
<body>
    <table border="1">
        <tr><th>Producto</th><th>Cantidad</th></tr>
    </table>
</body>

Agrega el código necesario para que se muestren en la tabla una fila por cada productos almacenado. Utiliza solamente etiquetas JSP, sin ninguna instrucción de Java.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder