Spring MVC 定义拦截器 不拦截

使用SpringMVC 想自定义一个拦截器,对权限进行管理,只有登录时才能访问,没有登录时访问,跳转到登录界面。

定义拦截器的部分代码

public class CommonInterceptor implements HandlerInterceptor {
    
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object obj) throws Exception {
    
        System.out.println("执行 自定义拦截器");
        String Employee_num = (String) request.getSession().getAttribute("employee_num");
        if(Employee_num == null){
            System.out.println("用户为空-----------------");
            request.getRequestDispatcher("/WEB-INF/jsp/login.jsp").forward(request, response);
            return false;
        }else{
            return true;
        }
    }

注册拦截器代码

<mvc:interceptors>
    <mvc:interceptor>
    <mvc:mapping path="/" />
    <bean class="com.staffos.interceptor.CommonInterceptor"></bean> 
</mvc:interceptor>        
</mvc:interceptors>


但访问请求是都没有输出preHandle()方法的“执行自定义拦截器”。
阅读 3.6k
2 个回答

写成 <mvc:mapping path="/**" /> 试试呢

我没试过,大概猜测啊,给你提供个思路,
我感觉这个拦截path的匹配是不是要写成 /*
还有就是xml最顶上的schema有没有写全

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题