UpdateCartServlet.java
package com.popx.presentazione;
import com.popx.persistenza.ProdottoDAOImpl;
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 javax.servlet.http.HttpSession;
import java.io.IOException;
import java.sql.SQLException;
@WebServlet("/UpdateCartServlet")
public class UpdateCartServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String productId = request.getParameter("productId");
int qty;
try {
qty = Integer.parseInt(request.getParameter("qty"));
} catch (NumberFormatException e) {
qty = 1; // Quantità predefinita
}
HttpSession session = request.getSession();
ProdottoDAOImpl prodottoDao = new ProdottoDAOImpl();
// Recupera l'email dell'utente
String userEmail = (String) session.getAttribute("userEmail");
try {
// Aggiorna la quantità del prodotto nel carrello in sessione
prodottoDao.updateProductQtyInCart(session, productId, qty);
// Se l'utente è loggato, aggiorna il carrello nel database
if (userEmail != null) {
prodottoDao.updateCartProductQuantityInDatabase(userEmail, productId, qty);
}
response.setStatus(HttpServletResponse.SC_OK);
response.getWriter().write("{\"success\": true}");
} catch (Exception e) {
e.printStackTrace();
response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
response.getWriter().write("{\"success\": false, \"message\": \"Errore nell'aggiornamento del carrello.\"}");
}
}
}