- 创建拦截器的类实现接口
- 配置Spring.xml文件
拦截器,只能拦截请求,不拦截页面
测试
创建拦截器
Interceptor.java
//Interceptor 拦截器
public class Myutil implements HandlerInterceptor {
@Override //覆盖
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
System.out.println("处理方法执行前");
return true;
//return true表示继续往后执行,false表示不继续执行
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
System.out.println("方法结束执行");
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
System.out.println("最终执行");
}
}
index.jsp:
<a href="getjson">getjson对象测试</a>
<a href="getjson1">getjson1集合测试</a>
test.java
@Controller
public class JsonTest {
@RequestMapping("getjson")
@ResponseBody //标记返回的信息转换成json格式
public Users g1(){
Users u=new Users("hah",3);
System.out.println(u);
return u;
}
@RequestMapping("getjson1")
@ResponseBody
public List a2(){
List<Users> list=new ArrayList<>();
Users u1=new Users("hah",3);
Users u2=new Users("hah",3);
Users u3=new Users("hah",3);
Users u4=new Users("hah",3);
list.add(u1);
list.add(u2);
list.add(u3);
list.add(u4);
return list;
}
}
spring.xml:
<context:component-scan base-package="com"></context:component-scan>
<mvc:annotation-driven></mvc:annotation-driven>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
<!--配置拦截器 拦截所有请求
<mvc:interceptors>
<bean class="com.fdk.util.Myutil"></bean>
</mvc:interceptors>
-->
<!--指定拦截的请求-->
<mvc:interceptors>
<mvc:interceptor>
<!--顺序不能颠倒-->
<mvc:mapping path="/getjson" />
<bean class="com.fdk.util.Myutil"></bean>
</mvc:interceptor>
</mvc:interceptors>