第十七章 SpringMVC拦截器配置

来源:互联网 发布:工作日志管理系统php 编辑:程序博客网 时间:2024/06/08 10:37

拦截器实现对每一个请求处理前后进行相关的业务处理,类似于Servlet的Filter。
可以让普通的Bean实现HandlerInterceptor接口或者继承HandlerInterceptorAdapter类来实现自定义拦截器。

package demo3.interceptor;import java.util.Date;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.web.servlet.ModelAndView;import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;public class DemoInterceptor extends HandlerInterceptorAdapter {    @Override    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)            throws Exception {        long startTime = System.currentTimeMillis();        request.setAttribute("startTime", startTime);        return true;    }    @Override    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,            ModelAndView modelAndView) throws Exception {        long startTime = (Long) request.getAttribute("startTime");        request.removeAttribute("startTime");        long endTime = System.currentTimeMillis();        System.out.println("本次请求处理时间为:" + (startTime - endTime) + "ms");    }}

配置

@Overridepublic void addInterceptors(InterceptorRegistry registry) {    registry.addInterceptor(demoInterceptor());}public DemoInterceptor demoInterceptor() {    return new DemoInterceptor();}
0 0
原创粉丝点击