一、静态块相关的执行顺序
1、静态属性隶属于静态块
2、非静态属性隶属于块
3、构造器
4、继承体系下的类的加载顺序
Person:static { }
student:static { }
Person:{ }
Person()
student:{ }
Student()
二、Spring异常处理的局部异常处理:
只针对当前action控制器有效
1、使用:在当前控制器中添加一个方法即可
@Controller public class UserAction { @Autowired private UserService userService; @RequestMapping("findAll") public String findAll(HttpServletRequest request){ request.setAttribute("users", userService.findAll()); return "index"; } @ExceptionHandler public String error(RuntimeException e,HttpServletRequest request){ request.setAttribute("e", e); return "error"; } }
2、页面中直接打印 ,打印控制传递过来的e对象
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> </head> <body> ${e} </body> </html>
三、spring的全局异常处理(针对当前所有控制器有效)
1、需要在spring核心配置文件中写
<!-- 配置全局异常 --> <bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> <property name="exceptionMappings"> <props> <prop key="java.lang.RuntimeException">error</prop> </props> </property> </bean>
2、页面打印
注意:打印的是exception; 使用全局异常时spring底层已经将信息封装到exception中
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> </head> <body> ${exception } </body> </html>
四、spring静态资源的引入
注意顺序
<mvc:resources location="/static/" mapping="/static/**"/> <mvc:annotation-driven/>