package org.hso.ecommerce.components; import org.hso.ecommerce.entities.shop.ShoppingCart; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; public class ShoppingCartInterceptor implements HandlerInterceptor { @Override public boolean preHandle( HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { HttpSession session = request.getSession(); Object shoppingCart = session.getAttribute("shoppingCart"); if (shoppingCart == null) { shoppingCart = new ShoppingCart(); } request.setAttribute("shoppingCart", shoppingCart); return true; } @Override public void postHandle( HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { HttpSession session = request.getSession(); Object shoppingCart = request.getAttribute("shoppingCart"); session.setAttribute("shoppingCart", shoppingCart); } @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception exception) throws Exception { } }