Salve a tutti.
Sto realizzando un semplice sistema di gestione dei contatti in rubrica.
Una pagina JSP/JSTL è stata scritta per visualizzare i contatti associati all'utente loggato, i cui dati sono tenuti in un attributo di sessione.
Alla pagina JSP è associata una servlet:

codice:
package it.biagio.servlet;


import java.io.IOException;
import java.util.List;


import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


import it.biagio.model.Contact;
import it.biagio.model.User;
import it.biagio.service.UserService;


@WebServlet("/showContacts")
public class showContacts extends HttpServlet {
    private static final long serialVersionUID = 1L;
       
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        User user = (User)request.getSession().getAttribute("id");
        UserService us = new UserService();
        RequestDispatcher requestDispatcher; 
        
        try
        {            
            // get list of contacts
            List<Contact> listOfContacts = us.getContacts(user.getId());
            
            // set session parameter
            request.getSession().setAttribute("contacts", listOfContacts);
            
            // forward
            requestDispatcher = request.getRequestDispatcher("contacts.jsp");
            requestDispatcher.forward(request, response);
        }
        
        catch(Exception e)
        {
            requestDispatcher = request.getRequestDispatcher("failure.jsp");
            requestDispatcher.forward(request, response);
        }
    }


    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);
    }


}
I contatti vengono visualizzati correttamente ed accanto a ciascuno di essi è possibile cliccare su un link che porta ad un'altra pagina JSP in cui il contatto può essere modificato.
Anche a quest'altra pagina è associata una servlet:
codice:
package it.biagio.servlet;


import java.io.IOException;
import java.util.logging.Logger;


import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


import it.biagio.model.Contact;
import it.biagio.model.User;
import it.biagio.service.UserService;


/**
 * Servlet implementation class updateContact
 */
@WebServlet("/updateContact")
public class updateContact extends HttpServlet {
    private static final long serialVersionUID = 1L;
    private int contactId;
    private UserService service;
    private Logger logger = Logger.getLogger(updateContact.class.getName());
  
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        contactId = Integer.parseInt(request.getParameter("contactId"));
        service = new UserService();
        
        try
        {
            Contact contact = service.getContact(contactId);
            request.getSession().setAttribute("contact", contact);
        }
        
        catch(Exception e)
        {
            logger.info(e.getMessage());
        }
        
        request.getRequestDispatcher("updateContact.jsp").forward(request, response);
    }


    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // get info about contact
        String name = request.getParameter("name");
        String surname = request.getParameter("surname");
        String telephone = request.getParameter("telephone");
        String email = request.getParameter("email");
        
        // prepare a new contact
        Contact contact = new Contact();
        contact.setEmail(email);
        contact.setName(name);
        contact.setSurname(surname);
        contact.setTelephone(telephone);
        contact.setId(contactId);
        
        String result;
        
        try
        {
            result = service.editContact(contact);
        }
        
        catch(Exception e)
        {
            result = e.getMessage();
        }
        
        logger.info(result);
        request.getRequestDispatcher("contacts.jsp").forward(request, response);
        
        
    }


}
Quando l'utente conferma le modifiche, queste vengono correttamente salvate sul DB ma, quando la prima servlet viene richiamata, i contatti visualizzati non sono aggiornati.
Da cosa può dipendere?

Grazie.