热门IT资讯网

springMVC 拦截器如何做登录检查及页面跳转

发表于:2024-11-24 作者:热门IT资讯网编辑
编辑最后更新 2024年11月24日,一个非常简单的登录权限拦截器问题一:登录页面的提交请求肯定是要过滤掉的,目前采用在xml里配置来过滤,可不可以配置不拦截某种请求。如果是按目前这种配置需要拦截请求,当请求太多的时候那就太麻烦了。问题二

一个非常简单的登录权限拦截器

问题一:登录页面的提交请求肯定是要过滤掉的,目前采用在xml里配置来过滤,可不可以配置不拦截某种请求。如果是按目前这种配置需要拦截请求,当请求太多的时候那就太麻烦了。

问题二:我简单地在拦截器里判断session是否有值,如果有表示登录,如果没有则跳转登录页面。按我下面的做法是不行的,有没有正确而有效的方法。

问题三:如果大家能够给出在拦截器内跳转页面的方案,可我的login.jsp是放在WEB-INF下面的,通过ModelAndView跳转时,视图解析器会跳转到/WEB-INF/login.jsp下,那肯定是找不到页面的。但如果我放到此文件夹下,那浏览器又不能访问login.jsp页面了。

public class UserInterceptor implements HandlerInterceptor{        @Override      public void afterCompletion(HttpServletRequest request,              HttpServletResponse response, Object obj, Exception err)              throws Exception {      }        @Override      public void postHandle(HttpServletRequest request, HttpServletResponse response,              Object obj, ModelAndView mav) throws Exception {          response.sendRedirect("/login.jsp");      }        @Override      public boolean preHandle(HttpServletRequest request, HttpServletResponse response,              Object obj) throws Exception {          String str = (String) request.getSession().getAttribute("isLogin");          System.out.println("str=========>"+str);          if(str!=null){              return true;          }          return false;      }  }
  1. <mvc:interceptors>

  2. <mvc:interceptor>

  3. <mvc:mapping path="/supplier/*"/>

  4. <mvc:mapping path="/goods/*"/>

  5. <mvc:mapping path="/contact/*"/>

  6. <bean class="com.xiaoxing.shangjia.user.controller.UserInterceptor">bean>

  7. mvc:interceptor>

  8. mvc:interceptors>


获取【下载地址】

0