SpringMVC拦截器
SpringMVC拦截器是AOP思想的具体应用
想要自定义拦截器,必须实现HandlerInterceptor接口

先测试下tomcat环境和controller能不能用
【如果需要返回JSON,XML或自定义mediaType内容到页面,则需要在对应的方法上加上@ResponseBody注解】
@RestController注解,相当于@Controller+@ResponseBody两个注解的结合,
返回json数据不需要在方法前面加@ResponseBody注解了,但使用@RestController这个注解,就不能返回jsp,html页面,视图解析器无法解析jsp,html页面


自定义一个SpringMVC拦截器

MyInterceptor:
package com.kakafa.config;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class MyInterceptor implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        //return true表示 放行 执行下一个拦截器
        System.out.println("===========处理前============");
        return true;
    }
    //后面两个方法作用主要是用来加拦截日志
    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
        System.out.println("===========处理后============");
    }
    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
        System.out.println("===========清理============");
    }
}
springmvc配置文件:
    <!--拦截器配置-->
    <mvc:interceptors>
        <mvc:interceptor>
            <!--path="/**"表示拦截所有请求;如果是path="/admin/**"则表示拦截admin下的所有请求-->
            <mvc:mapping path="/**"/>
            <bean class="com.kakafa.config.MyInterceptor"/>
        </mvc:interceptor>
    </mvc:interceptors>
运行结果:




addViewController的使用:https://blog.csdn.net/JerryWu666/article/details/116498075
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号