spring中的拦截器
来源:互联网 发布:java怎么给字母排序 编辑:程序博客网 时间:2024/06/07 12:23
1)什么是拦截器
spring框架提供的一个组件 当dispatcherServlet收到请求之后,如果有拦截器,会先调用拦截器,然后在调用处理器(Controller)
注:过滤器属于Servlet规范,用于拦截Servlet容器的调用过程,而拦截器属于spring框架,用于拦截DispatcherServlet的调用过程
2)如何写一个拦截器
第一步:写一个Java类,要实现HandlerInterceptor接口
第二步:在拦截器接口方法当中,实现拦截处理逻辑
这两步骤:public class SomeInterceptor implements HandlerInterceptor{
//DispatcherServlet收到请求之后会调用拦截器的prehandle方法
//如果这个方法的返回值为true,表示继续向后调用执行
//如果返回值为false,则不再向后调用
//handler:表示可以通过这个对象获得处理器方法的描述(比如方法名字,参数的类型)
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
System.out.println("哈哈哈哈");
return true;
}
//当处理器(controller)方法已经执行完毕 正准备将处理结果(ModelAndView)返回给DispatcherServlet之前
//会执行postHandle方法
//注:可以在这个方法里面修改 ModelAndView
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
ModelAndView modelAndView) throws Exception {
System.out.println("哦哦哦哦哦哦");
}
//请求处理完毕之后,最后执行这个方法
//注:ex 是处理器方法抛出的异常
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
throws Exception {
System.out.println("啊啊啊啊啊啊啊");
}
}
第三步:在applicationContext.xml配置文件中配置拦截器
<!-- 配置拦截器 -->
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**"/>
<mvc:exclude-mapping path="/toLogin.do"/> //这是要排除的请求地址,不要进行拦截的
<mvc:exclude-mapping path="/login.do"/>
<bean class="cn.tedu.netctoss.interceptors.SessionInterceptor"/>
</mvc:interceptor>
</mvc:interceptors>
spring框架提供的一个组件 当dispatcherServlet收到请求之后,如果有拦截器,会先调用拦截器,然后在调用处理器(Controller)
注:过滤器属于Servlet规范,用于拦截Servlet容器的调用过程,而拦截器属于spring框架,用于拦截DispatcherServlet的调用过程
2)如何写一个拦截器
第一步:写一个Java类,要实现HandlerInterceptor接口
第二步:在拦截器接口方法当中,实现拦截处理逻辑
这两步骤:public class SomeInterceptor implements HandlerInterceptor{
//DispatcherServlet收到请求之后会调用拦截器的prehandle方法
//如果这个方法的返回值为true,表示继续向后调用执行
//如果返回值为false,则不再向后调用
//handler:表示可以通过这个对象获得处理器方法的描述(比如方法名字,参数的类型)
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
System.out.println("哈哈哈哈");
return true;
}
//当处理器(controller)方法已经执行完毕 正准备将处理结果(ModelAndView)返回给DispatcherServlet之前
//会执行postHandle方法
//注:可以在这个方法里面修改 ModelAndView
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
ModelAndView modelAndView) throws Exception {
System.out.println("哦哦哦哦哦哦");
}
//请求处理完毕之后,最后执行这个方法
//注:ex 是处理器方法抛出的异常
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
throws Exception {
System.out.println("啊啊啊啊啊啊啊");
}
}
第三步:在applicationContext.xml配置文件中配置拦截器
<!-- 配置拦截器 -->
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**"/>
<mvc:exclude-mapping path="/toLogin.do"/> //这是要排除的请求地址,不要进行拦截的
<mvc:exclude-mapping path="/login.do"/>
<bean class="cn.tedu.netctoss.interceptors.SessionInterceptor"/>
</mvc:interceptor>
</mvc:interceptors>
阅读全文
1 0
- Spring中的拦截器
- Spring中的拦截器
- Spring中的拦截器
- spring中的拦截器
- spring拦截器中的事务管理
- spring拦截器中的事务管理
- spring中的事务拦截器
- spring中的事务拦截器
- Spring MVC中的拦截器
- Spring MVC学习-----------Spring中的拦截器
- spring mvc中的拦截器小结
- spring mvc中的拦截器小结
- spring mvc中的拦截器小结
- Spring mvc中的拦截器小结
- spring mvc中的拦截器小结
- spring拦截器中的事务管理(一)
- 谈谈spring中的拦截器interceptor
- 谈谈spring中的拦截器interceptor
- 如何掌握所有的程序语言
- Mybatis 输入映射和输出映射
- IPU相关知识(二)
- QT界面设计并保存到文件(以JSON格式)
- [日推荐]『初次见』这里有故事,还有诗和远方!
- spring中的拦截器
- zabbix3.4 监控tomcat多实例(二)
- 没有通过申硕考试怎么办?
- Android mvc,mvp , mvvm三种设计模式的选择实践
- Coursera deep learning 吴恩达 神经网络和深度学习 第四周 编程作业 Building your Deep Neural Network
- Servlet文件上传
- UE4场景太亮
- org.apache.hadoop.hive.serde2.SerDeException: Row is not a valid JSON Object
- ioctl返回-1解决方法