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>
  • 相关阅读:
    Linux 共享库
    使用Visual Studio(VS)开发Qt程序代码提示功能的实现(转)
    ZOJ 3469 Food Delivery(区间DP)
    POJ 2955 Brackets (区间DP)
    HDU 3555 Bomb(数位DP)
    HDU 2089 不要62(数位DP)
    UESTC 1307 windy数(数位DP)
    HDU 4352 XHXJ's LIS(数位DP)
    POJ 3252 Round Numbers(数位DP)
    HDU 2476 String painter (区间DP)
  • 原文地址:https://www.cnblogs.com/angto64/p/5264959.html
Copyright © 2011-2022 走看看