• SpringMvc 拦截器


    testInterceptor
        @RequestMapping(value="testInterceptor")
        public String testInterceptor( )  {
            System.out.println("处理请求的方法....!");
            return "success";
        }
    MyInterceptor
    package interceptor;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.springframework.web.servlet.HandlerInterceptor;
    import org.springframework.web.servlet.ModelAndView;
    
    public class MyInterceptor  implements HandlerInterceptor{
    
        @Override
        public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
                throws Exception {
            System.out.println("拦截请求");  //
            return true;//true:拦截操作之后,放行 ;false:拦截之后不放行,请求终止;
        }
    
        @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("视图(jsp)被渲染完毕");
        }
    
    }
    MySecondInterceptor
    package interceptor;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import org.springframework.web.servlet.HandlerInterceptor;
    import org.springframework.web.servlet.ModelAndView;
    
    public class MySecondInterceptor implements HandlerInterceptor {
    
        @Override
        public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
                throws Exception {
            System.out.println("第二个拦截器,拦截请求...22222");
            return true;
        }
    
        @Override
        public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
                               ModelAndView modelAndView) throws Exception {
            System.out.println("第二个拦截器,拦截响应...22222");
        }
    
        @Override
        public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
                throws Exception {
            System.out.println("第二个拦截器,afterCompletion");
        }
    
    }

    springmvc.xml

        <!-- 将自己写的拦截器 配置到springmvc中(spring);默认拦截全部请求 -->
        <mvc:interceptors>
            <mvc:interceptor>
                <!-- 指定拦截的路径,基于ant风格 -->
                <mvc:mapping path="/**"/>
                <!-- 指定拦不截的路径 -->
                <mvc:exclude-mapping path="/handler/testUpload"/>
                <bean class="interceptor.MyInterceptor"></bean>
            </mvc:interceptor>
            <mvc:interceptor>
                <mvc:mapping path="/**"/>
                <mvc:exclude-mapping path="/handler/testUpload"/>
                <bean class="interceptor.MySecondInterceptor"></bean>
            </mvc:interceptor>
        </mvc:interceptors>
    <br/>
    <a href="handler/testInterceptor">testInterceptor</a>
    <br/>
  • 相关阅读:
    VC++基于ICMP 遍历路由表
    在XP上同时运行IE6,IE7,IE8,IE9
    VC++实现ARP协议
    在Windows Sever 2008 Windows7上同时运行绿色IE10测试HTML5
    VC++实践IOCP编程
    VC++实现检测网络状态所有的TCP与UDP通信
    VC++实现UDP数据包发送
    VC++实现改变网关
    面试十大难题的样板回答
    WinAPI: GetLocalTime、SetLocalTime、SetSystemTime 获取与设置系统时间
  • 原文地址:https://www.cnblogs.com/kikyoqiang/p/11879203.html
Copyright © 2020-2023  润新知