zoukankan      html  css  js  c++  java
  • springMVC <mvc:interceptors>拦截器的使用

    首先在springMVC.xml配置如下代码

     <!--     拦截器 -->
            <mvc:interceptors>
       <bean class="com.base.AccessFilter"></bean> </mvc:interceptors>

    然后再创建一个class实现想要拦截的方法即可,如(对应如上配置文件class路径)

    package com.base;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import org.springframework.web.servlet.HandlerInterceptor;
    import org.springframework.web.servlet.ModelAndView;
    
    import com.ujia.entity.User;
    
    public class AccessFilter implements HandlerInterceptor{
    
        @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 {
            // TODO Auto-generated method stub
            
        }
    
        @Override
        public boolean preHandle(HttpServletRequest request, HttpServletResponse response,
                Object arg2) throws Exception {
            //获取登录session
            User user =(User) request.getSession().getAttribute("user");
            //如果访问请求为首页,则通过
            if(request.getRequestURI().startsWith(request.getContextPath()+"/spring/index.htm")){
                return true;
            }else if(null==user){
                //如果没有登录session,则返回到首页
                response.sendRedirect(request.getContextPath()+"/spring/index.htm");
                return false;
            }
            return true;
        }
    
    }

    只需实现preHandle,所有请求都将先经过这个方法

    拦截特殊请求,在springMVC配置里面加上

    <!--将拦截特有的URL请求 -->
        <mvc:interceptors>
            <mvc:interceptor>
                <mvc:mapping path="/admin/*" />
                <bean class="com.base.admin" />
            </mvc:interceptor>
            <mvc:interceptor>
                <mvc:mapping path="/caes/*.trl" />
                <bean class="com.base.caes" />
            </mvc:interceptor>
        </mvc:interceptors>
  • 相关阅读:
    FreePbx
    ntpdate和date
    Linux系统/dev/mapper目录浅谈
    利用rsync做全平台备份
    windows 共享给 linux
    Linux、UNIX设置开机自动运行命令
    JNU周练1019
    JNU周练1013
    2013/7/30 JNU周练
    二叉树遍历
  • 原文地址:https://www.cnblogs.com/angto64/p/5264959.html
Copyright © 2011-2022 走看看