package com.packt.webstore.interceptor; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; public class PromoCodeInterceptor extends HandlerInterceptorAdapter { private String promoCode; private String errorRedirect; private String offerRedirect; public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { String givenPromoCode = request.getParameterValues("promo")==null ? "":request.getParameterValues("promo")[0]; if(request.getRequestURI().endsWith("products/specialOffer")){ if(givenPromoCode.equals(promoCode)){ response.sendRedirect(request.getContextPath()+"/"+offerRedirect); } else{ response.sendRedirect(errorRedirect); } return false; } return true; } public String getPromoCode() { return promoCode; } public void setPromoCode(String promoCode) { this.promoCode = promoCode; } public String getErrorRedirect() { return errorRedirect; } public void setErrorRedirect(String errorRedirect) { this.errorRedirect = errorRedirect; } public String getOfferRedirect() { return offerRedirect; } public void setOfferRedirect(String offerRedirect) { this.offerRedirect = offerRedirect; } }