未登陆拦截器

1,创建LoginInterceptor

public class LoginInterceptor implements HandlerInterceptor { /*** * handler中处理请求的方法,完全执行完毕之后,执行该方法 对handler中的方法进行异常的统一处理 和 进行日志记录 * * **/ @Override public void afterCompletion(HttpServletRequest req, HttpServletResponse resp, Object obj, Exception ex) throws Exception { System.out.println("============afterCompletion"); } /*** * handler中处理请求的方法,返回ModelAndView对象之前执行 对象ModelAndView进行统一处理 * */ @Override public void postHandle(HttpServletRequest req, HttpServletResponse resp, Object obj, ModelAndView mav) throws Exception { System.out.println("============postHandle"); } /*** * handler中处理请求的方法之前执行 * * @return 控制者被拦截的handler是否进行放行 * **/ @Override public boolean preHandle(HttpServletRequest req, HttpServletResponse resp, Object obj) throws Exception { System.out.println("============preHandle"); HttpSession session = req.getSession(); Object uname = session.getAttribute("user"); if (uname != null) { // 用户已经登陆,放行 return true; } // 跳转到登陆页面 resp.sendRedirect(req.getContextPath()+"/login.jsp"); return false; } }

42

1

public class LoginInterceptor implements HandlerInterceptor {

2

    /***

3

     * handler中处理请求的方法,完全执行完毕之后,执行该方法 对handler中的方法进行异常的统一处理 和 进行日志记录

4

     * 

5

     * **/

6

    @Override

7

    public void afterCompletion(HttpServletRequest req,

8

            HttpServletResponse resp, Object obj, Exception ex)

9

            throws Exception {

10

        System.out.println("============afterCompletion");

11

 

12

    }

13

 

14

    /***

15

     * handler中处理请求的方法,返回ModelAndView对象之前执行 对象ModelAndView进行统一处理

16

     * */

17

    @Override

18

    public void postHandle(HttpServletRequest req, HttpServletResponse resp,

19

            Object obj, ModelAndView mav) throws Exception {

20

        System.out.println("============postHandle");

21

    }

22

 

23

    /***

24

     * handler中处理请求的方法之前执行

25

     * 

26

     * @return 控制者被拦截的handler是否进行放行

27

     * **/

28

    @Override

29

    public boolean preHandle(HttpServletRequest req, HttpServletResponse resp,

30

            Object obj) throws Exception {

31

        System.out.println("============preHandle");

32

        HttpSession session = req.getSession();

33

        Object uname = session.getAttribute("user");

34

        if (uname != null) {

35

            // 用户已经登陆,放行

36

            return true;

37

        }

38

        // 跳转到登陆页面

39

        resp.sendRedirect(req.getContextPath()+"/login.jsp");

40

        return false;

41

    }

42

}

2,在springmvc.xml里面注册自定义拦截器

<!-- 注册拦截器 --> <mvc:interceptors> <mvc:interceptor> <!-- 指定需要拦截的路径 --> <mvc:mapping path="/**"/> <!-- 指定不需要拦截的路径 --> <mvc:exclude-mapping path="/user/login*"/> <!-- 实例化自定义拦截器类 --> <bean class="com.sxt.inteceptor.LoginInterceptor"></bean> </mvc:interceptor> </mvc:interceptors>

1

12

1

<!-- 注册拦截器 -->

2

    <mvc:interceptors>

3

        <mvc:interceptor>

4

            <!-- 指定需要拦截的路径 -->

5

            <mvc:mapping path="/**"/>

6

            <!-- 指定不需要拦截的路径 -->

7

            <mvc:exclude-mapping path="/user/login*"/>

8

            <!-- 实例化自定义拦截器类 -->

9

            <bean class="com.sxt.inteceptor.LoginInterceptor"></bean>

10

        </mvc:interceptor>

11

    </mvc:interceptors>

12


                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值