springmvc自定义拦截器

自定义拦截器

  1. 按照mvc框架提供的规范开发一个自定义的控制器

  2. springmvc配置文件中注册

     <!-- 注册自定义的拦截器 -->
    <mvc:interceptors>
        <mvc:interceptor>
            <!-- 指定当前的拦截器拦截的路径 -->
            <mvc:mapping path="/user/*"/>
            <bean class="cn.internet.intercepter.MyIntercepter"></bean>
        </mvc:interceptor>
    </mvc:interceptors>
package cn.internet.intercepter;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;


/**
 * 自定义拦截器
 * @author    zhangbin
 *
 */
public class MyIntercepter implements HandlerInterceptor{

    @Override
    public void afterCompletion(HttpServletRequest arg0,
            HttpServletResponse arg1, Object arg2, Exception arg3)
            throws Exception {
        System.out.println("------------afterCompletion------------");
        
    }

    @Override
    public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1,
            Object arg2, ModelAndView arg3) throws Exception {
        System.out.println("------------postHandle------------");
        
    }

    @Override
    public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1,
            Object arg2) throws Exception {
        System.out.println("------------preHandle------------");
        //拦截客户端请求,检查权限,如果没有权限,返回false
        //权限检查从session里面把登录用户拿出来 根据登录用户来获得角色,根据角色获得权限,
        //根据权限来判断当前你访问的地址对应的是哪个权限 看这个用户权限里面是否包含 如果有就放行,如果没有那就直接跳转到没有权限页面
        
        return true;
    }

}


你可能感兴趣的:(springmvc自定义拦截器)