Unit06: Spring对JDBC的 整合支持 、 Spring+JDBC Template 、Spring异常处理
我们可以将异常抛给spring框架,让spring来帮我们处理异常。
(1)使用简单异常处理器
step1. 配置简单异常处理器。
step2. 添加对应的异常处理页面。
注:该方式只适合处理简单异常的处理,如果要对异常做复杂处理,比如
记录日志等,则不合适了。
(2)使用@ExceptionHandler注解
step1. 在处理器类当中,添加一个异常处理方法, 该方法要使用@ExceptionHandler注解来标注。
step2.添加对应的异常处理页面。
2. SpringJdbc
(1)SpringJdbc是什么?
是spring框架中的一个模块,对jdbc api做了封装,简化了 jdbc的代码(比如,不用考虑获取连接与关闭连接了)
(2)编程步骤
step1. 导包。
step2. 添加spring配置文件。
step3. 添加JdbcTemplate配置。
注:JdbcTemplate对jdbc的api做了封装。
step4. 调用JdbcTemplate提供的方法。
注:通常将JdbcTemplate注入到DAO。
-
springmvc提供的异常处理机制代码
src/main/java
controller
package controller; import javax.servlet.http.HttpServletRequest; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class HelloController { @ExceptionHandler public String handler(Exception ex, HttpServletRequest request){ System.out.println("handler()"); /* * 依据异常类型,分别进行相应的处理。 * ex:就是方法所抛出的异常。 */ if(ex instanceof NumberFormatException){ request.setAttribute("msg", "亲,请输入正确的数字"); return "error"; }else if(ex instanceof StringIndexOutOfBoundsException){ request.setAttribute("msg", "下标越界了"); return "error"; }else{ //其它异常 return "sys_error"; } } @RequestMapping("/toHello.do") public String toHello(){ System.out.println("toHello()"); String str = "123a"; Integer.parseInt(str); return "hello"; } @RequestMapping("/toHello2.do") public String toHello2(){ System.out.println("toHello2()"); String str = "abcd"; str.charAt(10); return "hello"; } }