其实最初我是不想这篇文章的,因为我个人感觉拦截器没什么用,如果是需要权限拦截的话,完成可以使用现成的权限框架,比如shiro,不是因为我懒,因为我们自己去写的话肯定会有一堆问题,没那个必要,但是考虑到以后可能会自己写些拦截器这方面的东西,还是写一下巩固一下印象把....
创建一个拦截器
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class LoginHandlerFilter implements HandlerInterceptor {
static Logger log = LoggerFactory.getLogger(LoginHandlerFilter.class);
@Override //执行时间 执行完目标方法执行 通常用来做效验
public boolean preHandle(HttpServletRequest request, HttpServletResponse httpServletResponse, Object o) throws Exception {
log.info("执行了拦截器");
return true;
}
@Override //执行目标方法后 未返回视图时执行该方法 数据共享
public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {
}
@Override //行目标方法后 返回视图时执行该方法 异常处理,记录错误信息等....
public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {
}
}
springmvc配置
<mvc:interceptor>
<mvc:mapping path="/**"/> <!--拦截的映射路径,拦截全部-->
<bean class="com.csdn.ssm.interceptor.HandlerInterceptor"></bean>
</mvc:interceptor>
运行结果
这里主要是提供一个模板,需要使用直接拷贝就可以