一、文件上传
-
准备:引依赖 commons-fileupload
-
开发步骤:
- form控件相关
- 在server上创建存放附件的目录 “upload”
注意:在本地创建好的目录 如果是空目录 则不会自动部署到server。(在空目录 中 创建空文件)
- 创建Controller实现文件上传
- 配置文件上传 在springmvc.xml
-
设置附件大小:
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="maxUploadSize" value="10000000000"/> </bean>
二、文件下载
开发步骤:
0) server上一定有要下载的文件
1) 定制文件下载的页面
2) 创建Controller,实现文件下载
三、验证码
作用:提高服务器性能的一种方式(减少与server的交互)。
准备:导入验证码插件。
开发:
-
生成验证码
- 创建Controller,生成验证码
- 网页中引用 验证码图片
-
登录时,进行验证码检查
四、拦截器
作用:对控制器中的冗余代码(和请求响应相关)进行提取,提取其利用性。 (同struts中有拦截器,javaweb中有过滤器)
注意:和struts中的拦截器一样,只能对controller拦截,不能拦截jsp。
自定义拦截器:
1.写代码 implements HandlerInterceptor
2.配置 在springmvc.xml
五、ModelAndView
作用:Model+View,即可以在request作用域中传数据,还包含view视图的信息。
可以用在Controller方法的返回值上。
六、全局异常处理
作用:对Controller中出现的异常进行统一处理。
开发步骤:1. 写代码 implements HandlerExceptionResolver
2.配置 springmvc.xml
七、springMVC对json的支持
7.1 java对象转json 代码实现
- #ajax解决日期问题
7.2 @ResponseBody注解
1) 使用
@ResponseBody注解:用在方法上或返回值类型上。
2) 注意
出错,No converter found for return value of type: class java.util.ArrayList
原因:@ResponseBody 把java对象 转 json字符时 出错,springmvc底层 使用 jackson.
解决:引入jackson的依赖
7.3 修改底层为fastjson
springmvc底层 使用 fastjson.
- 引入fastjson的依赖
- 修改底层为fastjson 在springmvc.xml
- 重置表单
- 清除table第一行以后的数据
- 序列表表格内容为字符串
- 日期处理
@JSONField :ajax结果显示 是显示界面用的
@DataTimeFormat: 输入界面写日期给MVC传数据用的