异常的处理
将异常拋给spring框架(实际上抛给前端控制器DispatcherServlet的),由Spring来帮我们处理的
处理的方式:1)配置简单异常处理器
在applicationContext.xml这个配置文件中添加配置
<!-- <bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="exceptionMappings">
<props>
<prop key="java.lang.NumberFormatException">error1</prop> //这个边的key是报错的名字, error1是报错的时候转发到的那个页面
<prop key="java.lang.StringIndexOutOfBoundsException">error2</prop>
</props>
</property>
</bean> -->
2)可以使用@ExceptionHandler这个注解
第一步:添加一个异常处理的方法
注:在处理器Controller添加一个方法,该方法需要添加@@ExceptionHandler这个注解。该方法用来处理其他方法所抛出的异常
例如:@ExceptionHandler
public String helloex(Exception e,HttpServletRequest req){
//依据异常的类型,做相应的处理
if(e instanceof NumberFormatException){
req.setAttribute("mengssage", "请输入正确的数字,晒比");
return "error3";
}else if(e instanceof StringIndexOutOfBoundsException){
req.setAttribute("mengssage", "请输入正确位置,晒比");
return "error3";
}
return "error";
}
将异常拋给spring框架(实际上抛给前端控制器DispatcherServlet的),由Spring来帮我们处理的
处理的方式:1)配置简单异常处理器
在applicationContext.xml这个配置文件中添加配置
<!-- <bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="exceptionMappings">
<props>
<prop key="java.lang.NumberFormatException">error1</prop> //这个边的key是报错的名字, error1是报错的时候转发到的那个页面
<prop key="java.lang.StringIndexOutOfBoundsException">error2</prop>
</props>
</property>
</bean> -->
2)可以使用@ExceptionHandler这个注解
第一步:添加一个异常处理的方法
注:在处理器Controller添加一个方法,该方法需要添加@@ExceptionHandler这个注解。该方法用来处理其他方法所抛出的异常
例如:@ExceptionHandler
public String helloex(Exception e,HttpServletRequest req){
//依据异常的类型,做相应的处理
if(e instanceof NumberFormatException){
req.setAttribute("mengssage", "请输入正确的数字,晒比");
return "error3";
}else if(e instanceof StringIndexOutOfBoundsException){
req.setAttribute("mengssage", "请输入正确位置,晒比");
return "error3";
}
return "error";
}