异常处理步骤: 1.新建maven web项目 2.加入依赖 3.创建Controller类 4.创建一个普通类,作为拦截器使用 ? 1)实现HandlerInterceptor接口 ? 2)实现接口中的三个方法
package com.bjpowernode.Handler;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class MyInterceptor implements HandlerInterceptor {
// preHandle预处理方法
// 参数
// onject handler:被拦截的控制器对象
// 返回值boolean
// true:
// false:
// 特点:
// 1.方法在控制器方法(MyController的dosome)之前先执行的
// 用户的请求首先到达此方法
/*2.在这个 方法中可以获取请求的信息,验证请求是否符合要求
可以验证用户是否登录,验证用户是否有权访问某个连接地址(url)
如果验证失败,可以截断请求,请求不能被处理
如果验证成功,可以放行请求,此时控制器方法才能执行
*/
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
System.out.println("拦截器,MyInterceptor 的preHandle()");
return true;
}
// postHandle()后处理方法
//
/*
*/
@Override
public void postHandle(HttpServletRequest request,
HttpServletResponse response,
Object handler,
ModelAndView modelAndView) throws Exception {
System.out.println("拦截器,MyInterceptor 的postHandle()");
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
System.out.println("拦截器,MyInterceptor 的afterCompletion()");
}
}
5.创建show.jsp 6.创建springmvc的配置文件 ? 1)组件扫描器 ,扫描@Controller注解 ? 2)声明拦截器,并指定拦截的请求uri地址
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd">
<!--声明组件扫描器-->
<context:component-scan base-package="com.bjpowernode.controller" />
<!--声明 springmvc框架中的视图解析器, 帮助开发人员设置视图文件的路径-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!--前缀:视图文件的路径-->
<property name="prefix" value="/WEB-INF/view/" />
<!--后缀:视图文件的扩展名-->
<property name="suffix" value=".jsp" />
</bean>
<!--声明拦截器-->
<mvc:interceptors>
<!-- 声明第一个拦截器-->
<mvc:interceptor>
<!-- **代表任意地址-->
<mvc:mapping path="/user/**"/>
<!-- 声明拦截对象-->
<bean class="com.bjpowernode.Handler.MyInterceptor"/>
</mvc:interceptor>
</mvc:interceptors>
</beans>

加入false拦截
?
?
?
|