SpringMVC如何自定义拦截器 权限控制,事务控制

 时间:2026-02-16 04:35:53

1、新建一个实现了HandlerInterceptor接口的java类FirstInterceptor:

SpringMVC如何自定义拦截器 权限控制,事务控制

2、FirstInterceptor接口的实现我们打印每个方法的名字:

package com.gwolf.springmvc.interceptors;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.HandlerInterceptor;

import org.springframework.web.servlet.ModelAndView;

public class FirstInterceptor implements HandlerInterceptor {

@Override

public boolean preHandle(HttpServletRequest request,

HttpServletResponse response, Object handler) throws Exception {

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

return true;

}

@Override

public void postHandle(HttpServletRequest request,

HttpServletResponse response, Object handler,

ModelAndView modelAndView) throws Exception {

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

}

@Override

public void afterCompletion(HttpServletRequest request,

HttpServletResponse response, Object handler, Exception ex)

throws Exception {

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

}

}

SpringMVC如何自定义拦截器 权限控制,事务控制

3、在springmvc的配置文件中声明我们的拦截器:

<mvc:interceptors>

        <bean class="com.gwolf.springmvc.interceptors.FirstInterceptor"></bean>

</mvc:interceptors>

SpringMVC如何自定义拦截器 权限控制,事务控制

4、执行项目中的任意jsp页面,我们会发现我们自定义拦截器的三个方法都执行了。

SpringMVC如何自定义拦截器 权限控制,事务控制

5、preHandle方法是在目标方法执行之前执行的,如果这个方法返回false,后面的拦截器也不会被执行,并且目标方法也不会被执行。只有返回值为true,则继续调用后续的拦截器和目标方法。

SpringMVC如何自定义拦截器 权限控制,事务控制

6、postHandle方法是在目标方法执行之后,渲染页面之前执行调用。

SpringMVC如何自定义拦截器 权限控制,事务控制

7、afterCompletion方法是在渲染视图之后调用的。

SpringMVC如何自定义拦截器 权限控制,事务控制

8、在preHandle方法中可以考虑做权限,日志,事务。

postHandle方法可以对请求域的属性或视图做出修改。

afterCompletion用于释放资源。

SpringMVC如何自定义拦截器 权限控制,事务控制

  • pandas生成对象的几种基本方法
  • linux下删除指令rm的用法
  • 易语言系列教程:[1]设置易语言及第一个程序
  • 怎么用易语言制作个人功能的记事本
  • dz论坛怎么去掉power by discuz版权
  • 热门搜索
    沙美岛旅游攻略 杭州灵隐寺旅游攻略 春节短途旅游推荐 骏途旅游网 荞面旅游网 自助旅游网 旅游节半价 现在去哪里旅游最好 旅游日语 丽江旅游攻略自助游