SpringMVC学习16-springmvc拦截器

1.定义拦截器

定义拦截器,实现HandlerInterceptor接口。接口中提供三个方法。

public class HandlerInterceptor1 implements HandlerInterceptor {

//进入 Handler方法之前执行

//用于身份认证、身份授权

//比如身份认证,如果认证不通过表示当前用户没有登陆,需要此方法拦截不再向下执行

@Override

public boolean preHandle(HttpServletRequest request,

HttpServletResponse response, Object handler) throws Exception {

//return false表示拦截,不向下执行

//return true表示放行

return false;

}

//进入Handler方法之后,返回modelAndView之前执行

//应用场景从modelAndView出发:将公用的模型数据(比如菜单导航)在这里传到视图,也可以在这里统一指定视图

@Override

public void postHandle(HttpServletRequest request,

HttpServletResponse response, Object handler,

ModelAndView modelAndView) throws Exception {

}

//执行Handler完成执行此方法

//应用场景:统一异常处理,统一日志处理

@Override

public void afterCompletion(HttpServletRequest request,

HttpServletResponse response, Object handler, Exception ex)

throws Exception {

}

}

2.拦截器配置

针对HandlerMapping配置

springmvc拦截器针对HandlerMapping进行拦截设置,如果在某个HandlerMapping中配置拦截,经过该 HandlerMapping映射成功的handler最终使用该拦截器。

<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping">

<property name="interceptors">

<list>

<ref bean="handlerInterceptor1"/>

<ref bean="handlerInterceptor2"/>

</list>

</property>

</bean>

<bean id="handlerInterceptor1" class="springmvc.intercapter.HandlerInterceptor1"/>

<bean id="handlerInterceptor2" class="springmvc.intercapter.HandlerInterceptor2"/>

一般不推荐使用。

类似全局的拦截器

springmvc配置类似全局的拦截器,springmvc框架将配置的类似全局的拦截器注入到每个HandlerMapping中。

<!--拦截器 -->

<mvc:interceptors>

<!--多个拦截器,顺序执行 -->

<mvc:interceptor>

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

<bean class="filter.HandlerInterceptor1"></bean>

</mvc:interceptor>

<mvc:interceptor>

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

<bean class="filter.HandlerInterceptor2"></bean>

</mvc:interceptor>

</mvc:interceptors>

时间: 2024-10-07 08:53:17

SpringMVC学习16-springmvc拦截器的相关文章

springmvc学习笔记(20)-拦截器

springmvc学习笔记(20)-拦截器 springmvc学习笔记20-拦截器 拦截定义 拦截器配置 针对HandlerMapping配置 类似全局的拦截器 拦截测试 拦截器应用实现登陆认证 需求 登陆controller方法 登陆认证拦截实现 本文主要介绍springmvc中的拦截器,包括拦截器定义和的配置,然后演示了一个链式拦截的测试示例,最后通过一个登录认证的例子展示了拦截器的应用 拦截定义 定义拦截器,实现HandlerInterceptor接口.接口中提供三个方法. public

SpringMVC学习记录(七)--拦截器的使用

SpringMVC的请求如下面这种图所示: 可以看出所有的请求都要通过Dispatherservlet来接收,然后通过Handlermapping来决定使用哪个控制器,再根据ViewResolver来决定返回哪个视图.从流程来看,Handlermapping就是我们可以实现拦截器的第一种方法.另外还有一种是实现WebRequestInterceptor接口,或者继承其子类. 一.实现HandlerInterceptor接口 实现HandlerInterceptor接口或者继承HandlerInt

springMVC学习(12)-使用拦截器

一.拦截器配置和测试: 1)定义两个拦截器,(要实现HandlerInterceptor接口) HandlerInterceptor1: 1 package com.cy.interceptor; 2 3 import javax.servlet.http.HttpServletRequest; 4 import javax.servlet.http.HttpServletResponse; 5 6 import org.springframework.web.servlet.HandlerIn

SpringMVC 中的Interceptor 拦截器

1.配置拦截器 在springMVC.xml配置文件增加: <mvc:interceptors>  <!-- 日志拦截器 -->  <mvc:interceptor>   <mvc:mapping path="/**" />   <mvc:exclude-mapping path="/static/**" />   <bean class="拦截器java代码路径" />  

springmvc之RestFul和拦截器

一:什么是Restful? Restful就是开发人员都默认和准守的一种对于url请求的一种规范:因为随着HTML5的兴起,数据的提交已经不仅仅局限在表单了,如果需要多个终端来公用一个后端,一般来说主流的设计方案就是使用json数据来传递. 在Restful中: 1,一个url操作一个资源: 2,使用http的请求方式来描述请求的行为:例如: GET(查) http://localhost:8080/book/1 查询id为1的书POST(增) http://localhost:8080/boo

SpringMVC中使用Interceptor拦截器

SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理.比如通过它来进行权限验证,或者是来判断用户是否登陆,或者是像12306 那样子判断当前时间是否是购票时间. 一.定义Interceptor实现类 SpringMVC 中的Interceptor 拦截请求是通过HandlerInterceptor 来实现的.在SpringMVC 中定义一个Interceptor 非常简单,主要有两种方式,第一种方式是要定义的Intercep

SpringMVC中使用Interceptor拦截器详解

SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理.比如通过它来进行权限验证,或者是来判断用户是否登陆,或者是像12306 那样子判断当前时间是否是购票时间. 一.定义Interceptor实现类 SpringMVC 中的Interceptor 拦截请求是通过HandlerInterceptor 来实现的.在SpringMVC 中定义一个Interceptor 非常简单,主要有两种方式,第一种方式是要定义的Intercep

springMVC之mvc:interceptors拦截器的用法

1.配置拦截器 在springMVC.xml配置文件增加: <mvc:interceptors> <!-- 日志拦截器 --> <mvc:interceptor> <mvc:mapping path="/**" /> <mvc:exclude-mapping path="/static/**" /> <bean class="拦截器java代码路径" /> </mvc:

基于Springmvc的登录权限拦截器

1.什么是拦截器 拦截器是指通过统一拦截从浏览器发往服务端的请求来完成功能的增强. 使用场景:解决请求的共性问题(如:乱码问题,权限验证问题等) 2.拦截器的基本工作原理 springmvc可以通过配置过滤器来解决乱码问题 拦截器的工作原理和过滤器非常相似 3.实现拦截器 (1)编写拦截器类实现HandlerInterceptor接口 (2)将拦截器注册进Springmvc框架中 4.拦截器的方法介绍 (1)preHandle方法,在请求被处理之前进行调用(返回值:表示我们是否需要将当前的请求拦

springMVC3学习(七)--Interceptor拦截器

Spring为我们提供了:org.springframework.web.servlet.HandlerInterceptor接口, org.springframework.web.servlet.handler.HandlerInterceptorAdapter适配器, 实现这个接口或继承此类,能够很方便的实现自己的拦截器. 有下面三个方法: Action之前运行 public boolean preHandle(HttpServletRequest request, HttpServletR