zoukankan      html  css  js  c++  java
  • SpringMVC之拦截器的的配置和使用

    拦截器与过滤器的区别:拦截器只能拦截controller的请求,过滤器可以过滤所有请求

    (1)实现HandlerInterceptor接口

       在执行控制器中的方法之前执行preHandle()中的方法

     1 package com.eu.weh.web;
     2 
     3 import javax.servlet.http.HttpServletRequest;
     4 import javax.servlet.http.HttpServletResponse;
     5 import javax.servlet.http.HttpSession;
     6 
     7 import org.springframework.web.servlet.HandlerInterceptor;
     8 import org.springframework.web.servlet.ModelAndView;
     9 
    10 import com.eu.weh.bean.User;
    11 
    12 /**
    13  * 
    14  * @ClassName: LoginInterceptor
    15  * @Description: 登录拦截器
    16  * @author Administrator
    17  * @date 2019年4月29日 上午10:31:25
    18  *
    19  */
    20 public class LoginInterceptor implements HandlerInterceptor {
    21 
    22     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
    23             throws Exception {
    24         
    25         //判断当前用户是否已经登录
    26         HttpSession session = request.getSession();
    27         User loginUser = (User) session.getAttribute("dbUser");
    28         if (loginUser == null) {
    29             String path = session.getServletContext().getContextPath();
    30             response.sendRedirect(path+"/login");
    31             return false;
    32         }else {
    33             return true;
    34         }
    35     }
    36 
    37     public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
    38             ModelAndView modelAndView) throws Exception {
    39         
    40     }
    41 
    42     public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
    43             throws Exception {
    44         
    45     }
    46 
    47 }

    (2)SpringMVC配置文件

     1 <mvc:interceptors>
     2         <mvc:interceptor>
     3             <mvc:mapping path="/**" />
     4             <mvc:exclude-mapping path="/login" />
     5             <mvc:exclude-mapping path="/doAJAXlogin" />
     6             <mvc:exclude-mapping path="/bootstrap/**" />
     7             <mvc:exclude-mapping path="/css/**" />
     8             <mvc:exclude-mapping path="/fonts/**" />
     9             <mvc:exclude-mapping path="/img/**" />
    10             <mvc:exclude-mapping path="/jquery/**" />
    11             <mvc:exclude-mapping path="/layer/**" />
    12             <mvc:exclude-mapping path="/script/**" />
    13             <mvc:exclude-mapping path="/ztree/**" />
    14             <bean class="com.eu.weh.web.LoginInterceptor"></bean>
    15         </mvc:interceptor>
    16     </mvc:interceptors>
  • 相关阅读:
    SharePoint 2013 配置基于表单的身份认证
    SharePoint 2013 场解决方案包含第三方程序集
    SharePoint 2010 站点附加数据升级到SP2013
    SharePoint 2013 在母版页中插入WebPart
    SharePoint 2013 搭建负载均衡(NLB)
    SharePoint 部署解决方案Feature ID冲突
    SharePoint 2013 配置基于AD的Form认证
    SharePoint Server 2016 Update
    SharePoint 2013 为用户组自定义EventReceiver
    SharePoint 2013 JavaScript API 记录
  • 原文地址:https://www.cnblogs.com/wanerhu/p/10790666.html
Copyright © 2011-2022 走看看