View Javadoc
1   package booking.controller.common;
2   
3   import javax.servlet.http.HttpServletRequest;
4   import javax.servlet.http.HttpServletResponse;
5   
6   import org.apache.log4j.Logger;
7   import org.springframework.web.servlet.ModelAndView;
8   import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
9   
10  public class InterceptorController extends HandlerInterceptorAdapter {
11  
12  	private static final Logger logger = Logger
13  			.getLogger(InterceptorController.class);
14  
15  	// before the actual handler will be executed
16  	public boolean preHandle(HttpServletRequest request,
17  			HttpServletResponse response, Object handler) throws Exception {
18  
19  		long startTime = System.currentTimeMillis();
20  		request.setAttribute("startTime", startTime);
21  
22  		return true;
23  	}
24  
25  	// after the handler is executed
26  	public void postHandle(HttpServletRequest request,
27  			HttpServletResponse response, Object handler,
28  			ModelAndView modelAndView) throws Exception {
29  
30  		// Set headers
31  		response.setContentType("text/html;charset=UTF-8");
32  		response.setCharacterEncoding("UTF-8");
33  
34  		// Set SessionUsuario
35  
36  		// Set timer
37  		long startTime = (Long) request.getAttribute("startTime");
38  		long endTime = System.currentTimeMillis();
39  		long executeTime = endTime - startTime;
40  
41  		// modified the exisitng modelAndView
42  		if (modelAndView != null) {
43  			modelAndView.addObject("executeTime", executeTime);
44  		}
45  
46  		// log it
47  		if (logger.isDebugEnabled()) {
48  			logger.debug("InterceptorController [" + handler
49  					+ "] executeTime : " + executeTime + "ms");
50  		}
51  	}
52  
53  }