ModelAndView handle(HttpServletRequest request, HttpServletResponse response) throws Exception {
		final HandlerMapping handlerMapping = applicationContext.getBean(HandlerMapping.class);
		final HandlerExecutionChain handler = handlerMapping.getHandler(request);
		Assert.assertNotNull("No handler found for request, check you request mapping", handler);

		final Object controller = handler.getHandler();
		// if you want to override any injected attributes do it here

		final HandlerInterceptor[] interceptors = handlerMapping.getHandler(request).getInterceptors();
		for (HandlerInterceptor interceptor : interceptors) {
			final boolean carryOn = interceptor.preHandle(request, response, controller);
			if (!carryOn) {
				return null;
			}
		}

		final ModelAndView mav = handlerAdapter.handle(request, response, controller);
		return mav;
	}