zoukankan      html  css  js  c++  java
  • springmvc之拦截器

    1、首先编写拦截器类

    package com.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{
        //在DispatcherServlet处理后执行---清理工作
        @Override
        public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3)
                throws Exception {
            // TODO Auto-generated method stub
            
        }
        //在请求的方法执行之后执行
        @Override
        public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)
                throws Exception {
                System.out.println("-------处理后-----------");
            // TODO Auto-generated method stub
            
        }
    
        //在请求处理的方法之前执行
        //如果返回true 那么执行下一个拦截器 如果返回false 那么不执行下一个拦截器
        @Override
        public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2) throws Exception {
            // TODO Auto-generated method stub
            System.out.println("-------处理前-----------");
            return true;
        }
        
    }

    2、在mvc.xml中配置拦截器

    <!-- 配置拦截器 -->
    <mvc:interceptors>
        <mvc:interceptor>
        <!-- /** 包括路径及其子路径
                如果是/admin/* 拦截的是/admin/add,/admin/user/add 不会被拦截
                如果是/admin/** 上面所有的都会被拦截    
         -->
            <mvc:mapping path="/admin/**"/>
            <bean class="com.interceptor.MyInterceptor"></bean>
        </mvc:interceptor>
    
    </mvc:interceptors>

    3、编写controller

    package com.controller;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.ModelMap;
    import org.springframework.web.bind.annotation.PathVariable;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.servlet.ModelAndView;
    
    @Controller
    @RequestMapping("/admin")
    public class HelloController {
        
        @RequestMapping("/inter")
        public String inter() {
            System.out.println("hello controller!") ;
            return "index";
        }
    }

    4、访问

     

     此外,配置xml提示。

     然后在eclipse中打开Window->PreFerences 。 搜索XML Catalog

     

     编辑完成后,保存即可。

  • 相关阅读:
    怎么防止重复提交
    JSP三大指令是什么?
    python中字符串的编码和解码
    什么是 JavaConfig?
    Spring Boot 有哪些优点?
    如何重新加载 Spring Boot 上的更改,而无需重新启动服务器?
    Mybatis 动态 sql 是做什么的?都有哪些动态 sql?能简述一下动态 sql 的执行原理不?
    如果你也用过 struts2.简单介绍下 springMVC 和 struts2 的区别有哪些?
    学习笔记——命令模式Command
    学习笔记——中介者模式Mediator
  • 原文地址:https://www.cnblogs.com/hengx/p/14490014.html
Copyright © 2011-2022 走看看