内容正文:
第14章Spring MVC高级功能
·文件上传下载
·Spring MVC实现JSON交互
·Spring MVC实现RESTfulj风格
学习目标
LEARNING OBJECTIVES
理解文件的上传实现和文件下载
掌握SON格式数据交互
D04
掌握RESTFu风格接▣开发
理解静态资源方问的问题
初心至善匠心育人
14.1文件上传下载
14.1.1
利用Spring MVC上传文件
目录
Contents
14.1.2
利用Spring MVC下载文件
14.1文件上传下载
14.1.1利用Spring MVC上传文件
·SpringMVC:实现文件上传功能是通过Apache的commons-fileupload实现的,
但是SpringMVC默认并没有文件上传解析器,因此,需要自己动手配置。
·实现文件上传的步骤:
·1)准备jar包
cenene-fllsuplead-1.3.1.fa
-10-2,千,31
·2)创建控制器
·在控制器类中写出映射方法,实现文件上传的保存操作,新建一个
FileUpController类,具体代码如书中例14-1所示.
·上述实现了文件上传保存的功能代码中,有几个地方需要注意,分别是:
初心至善匠心育人
14.1文件上传下载
14.1.1利用Spring MVC上传文件
·(1)请求方式。文件上传的数据接口只能接收post请求,否则将获取不到上传文件
的内容。因此,在发送文件上传请求时,设置请求方式为ost,否则直接导致请
求异常的发生。
·(2)参数类型。Spring MVC实现文件上传使用的是Apache:提供的APl,其中把文
件上传的部分封装为MultipartFile,使用时注意参数名称是否与请求上传的file标
签的name名称一致,如果不一致需要使用@RequestParami进行标记。上传的表
单需要设置enctype="multipart/,form-data",并且发起上传请求时需要将文件
的内容也上传到服务器,否则将无法读取到文件内容。
初心至善匠心育人
14.1文件上传下载
14.1.1利用Spring MVC上传文件
·3)文件存储
·在方法内部完成上传文件的存储,首先需要获取到上传的文件名称及其后缀名,
然后调用transferTo方法将文件存储到服务器的某一路径下。这里的路径是指真实
路径,也就是项目的发布路径。
·4)创建配置文件
·在项目的WEB-lNF目录下创建springMVC-config.xml,如书中例14-2所示。
·由于Spring MVC默认是没有文件上传解析器的,因此,在上传接口编写完成之后
需要在配置文件中配置上传解析器,即添加:
bean id-"multiFartResolver'
class="org.springframework.web.multipart.commons.CommonsMultip
artResolver"/>这样才能实现对上传文件的类型做自动转换处理。
初心至善匠心育人
14.1文件上传下载
14.1.1利用Spring MVC上传文件
·最后,配置Web.xml,配置信息的内容如书中例14-3所示。
·5)创建上传页面
·在上传页面中使用表单通过<input type="file”>完成文件上传,其中,有三个
地方需要注意:
(1)请求方式为post。
·(2)设置表单的enctype属性。
·(3)input标签的类型为file。
·上传页面page01,jsp的具体代码如书中例14-4所示。
初心至善匠心育人
14.1文件上传下载
14.1.1利用Spring MVC.上传文件
·运行项目,在浏览器地址栏中输入上传页面的地址,氵
浏览器中显示的上传页面如
图所示。
国
0上情
在页面中选择要上传的文件,文件上传成功后会在浏览器中显示文件存储的路径,
如图所示。
a面
初心至善匠心育人
4.1文件上传下载
14.1.1利用SpringMVC上传文件
·在浏览器地址栏中输入上图中显示的文件存储路径,即可查看上传的文件内容,
如图所示。∘______
·注意:文件上传时,如果input标签fle属性的name值和控制器对应的参数名不一
致,需要使用@RequestPara加注解。
初心至善匠心育人:
14.1文件上传下载
14.1.2利用Spring MVC下载文件
·实现文件的下载功能,实际上就是通过流读取文件的内容,并且通过response输
出流将文件的内容输出即可。
·1)创建控制器
新建文件下载控制器类FileDownController,代码如书中例14-5所示。
·注意:必须设置消息头,目的是为了使浏览器获取到这是内容下载。
·2)测试
上
·在浏览器地址栏中输入实现下载
功能的控