spring mvc 自定义方法拦截器
2016-06-20 14:40
495 查看
自定义方法拦截器 @interface 属于annotation 注解
设计: 继承org.springframework.web.servlet.handler.HandlerInterceptorAdapter,重写preHandle方法.
实现:
xxx-servlet.xml加入:
Html代码
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**"/>
<bean class="com.xxx.FrontInterceptor"/>
</mvc:interceptor>
</mvc:interceptors>
前台拦截器
public class FrontInterceptor implrmrnts HandlerInterceptor{
private static Logger logger=Logger.getLogger(<span style="font-size: 1em; line-height: 1.5;">FrontInterceptor.class </span><span style="font-size: 1em; line-height: 1.5;">)
@override
public boolean preHandle(HttpServletRequest request,HttpServletresponse,Object </span><span style="font-family: 'Courier New', Courier, monospace; font-size: 1em; line-height: 1.5;">handler</span><span style="font-size: 1em; line-height: 1.5;">){</span>
Html代码下载
<span style="font-size: 1em; line-height: 1.5;">
</span>
Html代码 下载
<span style="font-size: 1em; line-height: 1.5;">}</span>
Html代码 下载
}
import java.lang.annotation.ElementType; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import java.lang.annotation.Retention; @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface AccessRequired { }
设计: 继承org.springframework.web.servlet.handler.HandlerInterceptorAdapter,重写preHandle方法.
实现:
xxx-servlet.xml加入:
Html代码
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**"/>
<bean class="com.xxx.FrontInterceptor"/>
</mvc:interceptor>
</mvc:interceptors>
前台拦截器
public class FrontInterceptor implrmrnts HandlerInterceptor{
private static Logger logger=Logger.getLogger(<span style="font-size: 1em; line-height: 1.5;">FrontInterceptor.class </span><span style="font-size: 1em; line-height: 1.5;">)
@override
public boolean preHandle(HttpServletRequest request,HttpServletresponse,Object </span><span style="font-family: 'Courier New', Courier, monospace; font-size: 1em; line-height: 1.5;">handler</span><span style="font-size: 1em; line-height: 1.5;">){</span>
Html代码下载
<span style="font-size: 1em; line-height: 1.5;">
</span>
HandlerMethod handlerMethod = (HandlerMethod) handler; Method method = handlerMethod.getMethod(); AccessRequired annotation = method.getAnnotation(AccessRequired.class); if (annotation != null) { System.out.println("你遇到了:@AccessRequired"); String accessToken = request.getParameter("access_token"); /** * Do something */ response.getWriter().write("没有通过拦截,accessToken的值为:" + accessToken); } // 没有注解通过拦截 return true;
Html代码 下载
<span style="font-size: 1em; line-height: 1.5;">}</span>
Html代码 下载
}
相关文章推荐
- 分享微信开发Html5轻游戏中的几个坑
- 一个jar包里的网站
- 一个jar包里的网站之文件上传
- 一个jar包里的网站之返回对媒体类型
- Spring和ThreadLocal
- Spring Boot 开发微服务
- Spring AOP动态代理-切面
- Spring整合Quartz(JobDetailBean方式)
- Spring整合Quartz(JobDetailBean方式)
- C# MVC模式下商品抽奖功能实现
- Zend的MVC机制使用分析(二)
- ASP.NET MVC 4 捆绑和缩小实例介绍
- ASP.NET Mvc开发之查询数据
- ASP.NET MVC中将控制器分离到类库的实现
- asp.net实现在非MVC中使用Razor模板引擎的方法
- ASP.NET MVC中的AJAX应用
- 为ASP.NET MVC及WebApi添加路由优先级
- ASP.NET MVC中图表控件的使用方法
- Asp.net mvc实时生成缩率图到硬盘