zoukankan      html  css  js  c++  java
  • springmvc中拦截器的使用

    拦截器的实现

    1.编辑拦截器类实现HandlerInterceptor接口。

    2.把拦截器注册到springmvc框架中。

    3.配置拦截器的拦截规则

    拦截器类:

    public class LoginHandler implements HandlerInterceptor {
        @Override
        public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3)
                throws Exception {
        }
        /**
         * 可以通过modelandview修改传递的内容和视图
         */
        @Override
        public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)
                throws Exception {
        }
        /**
         * 返回值表示是否需要将当前的请求拦截下来
         * 参数arg2表示请求的目标对象
         */
        @Override
        public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2) throws Exception {
            
            if(arg0.getSession().getAttribute("name")==null){
                arg0.getRequestDispatcher("login.jsp").forward(arg0, arg1);
                return false;
            }else{
                return true;
            }
        }
    
    }

    注册拦截器(注意xml文件的头部需要加的命名空间等内容):

        <!--注册拦截器  -->
         <mvc:interceptors>
    <!--          <mvc:interceptor>
                 <mvc:mapping path="/json.action"/>
                 <bean class="filter.LoginHandler"></bean>
             </mvc:interceptor> -->
    
            <bean class="filter.LoginHandler"></bean>
    
         </mvc:interceptors>

    通过上面的代码就可以实现,在发送请求时,如果没有登录的话(登录后会保存一个session,拦截规则就是判断session),会跳转到登录界面。

  • 相关阅读:
    [JZOJ3386] 守卫者的挑战
    [JZOJ3385] 黑魔法师之门
    [JZOJ3383] 太鼓达人
    [JZOJ3382] 七夕祭
    NOIP模拟测试on 2019.9.27
    数据结构测试2 on 2019.9.25
    数据结构测试1 on 2019.9.24
    P2047 [NOI2007]社交网络
    P2286 [HNOI2004]宠物收养场
    P1342 请柬 建反图+dijkstra
  • 原文地址:https://www.cnblogs.com/yeming/p/5419296.html
Copyright © 2011-2022 走看看