一、Date类
日期类型spring是不会自动转换的,要写实现转换器接口的类
spring是不知道有这个转换器的,要配置
记得要配置mvc注解驱动
二、异常处理
Controller层的异常处理
2.1 之前的处理方法(java里最基本的方法)
- 同步
- 异步
2.2 框架中处理方法
2.2.1 写配置文件
- 统一异常配置
- 不同异常去不同页面
- 有具体对得上的异常,就去它的页面(npe.jsp),否则就去总的异常界面(error.jsp)
缺点:这是个兜底的配置,怎么样都不会看到500,但只能跳转,没法加逻辑代码,不能添加自定义日志代码
2.2.2 自定义异常处理器
也是个统一配置,只要controller发生异常,都会处理
- 实现handkerExceptionResolver
- spring框架无法识别,要进行扫包,加注解
2.2.3 每个controller中单独控制
在每个controller里单独加一个异常处理方法
缺点:只能针对特定controller
不写判断,分开写,一个方法针对解决一种异常
2.2.4 所有controller的统一控制异常
放在controller包中
注解驱动;包扫描
advice:通知 advisor:顾问
三、文件上传
上传的方式不同
不同框架对文件上传的具体实现都不同
文件上传对表单的统一要求:一定是post
默认application,文件上传要一定用multipart
3.1 jar包
3.2 web
3.3 controller
- multipartfile对象名字和表单文件name一致
- 使用IO完成文件操作,必须使用真实的磁盘物理路径,将虚拟路径转成绝对路径
- 解决同名覆盖:加一个uuid
- 路径加文件名构成一个完整的file对象
- 上传img.transfer(文件对象)
- 配置xml,因为你实现的MultipartFile是个接口,所以要配置它的实现类,注入核心对象;要配置mvc注解驱动
-
上传位置
开发阶段:临时存储目录
.war上线部署webapps:不会丢失,管理不方便,所以用图片服务器
- 图片服务器(图片就不会丢了)
模拟建一个图片网站
改文件对象路径
需要加载注解驱动
- Jackon
- 图片转换器
- 事务
- 控制所有controller异常
- date转换