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

 

 编辑完成后,保存即可。

原文地址:https://www.cnblogs.com/hengx/p/14490014.html