SpringMVC学习
SpringMVC文件上传
文件上传相关
操作步骤:
a.在pom.xml中添加文件上传相关jar包
b.配置文件解析器(在核心配置文件springmvc.xml、相关jsp文件中进行配置)
c.根据提交的数据在Controller层完成文件的上传
a.在pom.xml中添加文件上传相关jar包
![v2-d3ea2b786569afedf5fcc969c43f1666_b.jpg](http://img-02.proxy.5ce.com/view/image?&type=2&guid=01657293-202f-eb11-8da9-e4434bdf6706&url=https://pic3.zhimg.com/v2-d3ea2b786569afedf5fcc969c43f1666_b.jpg)
b.配置文件解析器(在核心配置文件springmvc.xml、相关jsp文件中进行配置)
![v2-85c4244d80ce80b83f5994fddd8a3af9_b.jpg](http://img-01.proxy.5ce.com/view/image?&type=2&guid=01657293-202f-eb11-8da9-e4434bdf6706&url=https://pic2.zhimg.com/v2-85c4244d80ce80b83f5994fddd8a3af9_b.jpg)
![v2-6d699a7583dda53c787972f634d5c8f6_b.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=01657293-202f-eb11-8da9-e4434bdf6706&url=https://pic3.zhimg.com/v2-6d699a7583dda53c787972f634d5c8f6_b.jpg)
![v2-afd559d6b9021fb0fc29e3ff08d69f4f_b.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=01657293-202f-eb11-8da9-e4434bdf6706&url=https://pic4.zhimg.com/v2-afd559d6b9021fb0fc29e3ff08d69f4f_b.jpg)
c.根据提交的数据在Controller层完成文件的上传
![v2-d7af54870475a12881875744e6155ec9_b.jpg](http://img-02.proxy.5ce.com/view/image?&type=2&guid=01657293-202f-eb11-8da9-e4434bdf6706&url=https://pic2.zhimg.com/v2-d7af54870475a12881875744e6155ec9_b.jpg)
问题解决:测试的时候发现图片数据不能够回显,考虑将存储路径修改为当前工程路径下目录再进行测试
![v2-55417dca6a6b5ec030b7b8a4de58735e_b.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=01657293-202f-eb11-8da9-e4434bdf6706&url=https://pic3.zhimg.com/v2-55417dca6a6b5ec030b7b8a4de58735e_b.jpg)
![v2-43956682ce7e09b5180219d5b8b7e7d6_b.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=01657293-202f-eb11-8da9-e4434bdf6706&url=https://pic3.zhimg.com/v2-43956682ce7e09b5180219d5b8b7e7d6_b.jpg)
![v2-90b074383687e90124af1382193e3e98_b.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=01657293-202f-eb11-8da9-e4434bdf6706&url=https://pic1.zhimg.com/v2-90b074383687e90124af1382193e3e98_b.jpg)
SpringMVC与JSON数据的交互
JSON数据格式在接口调用中 。html中比较常见,json的格式也比较简单,解析比较方便
User
Xml和json是两种不同的数据格式 ,json的数据格式更为简单,也更为容易解析
SpringMVC进行JSON的交互流程
![v2-d60c28f8d32d537ff2fc7127402ae378_b.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=01657293-202f-eb11-8da9-e4434bdf6706&url=https://pic1.zhimg.com/v2-d60c28f8d32d537ff2fc7127402ae378_b.jpg)
@RequestBody
作用:@RequestBody注解用于读取HTTP请求,请求的内容通过SpringmVC提供的HttpMessageConverter接口 把读取到的内容转换为JSON, 并把数据绑定到Controller方法的形参上。
@ResponseBody
作用:该注解是用于把Controller的方法返回的对象通过HttpMessageConvter接口转换为指定的JSON格式,xml的数据,通过Response对象响应到客户端。
请求是JSON,响应是JSON
环境准备
springMVC默认是用org.springframework.http.converter.json.MappingJackson2HttpMessageConverter对json数据转换,需要在相应工程的pom.xml文件下导入json相关jar包
![v2-bbef9650003420b1571b50ffe426659b_b.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=01657293-202f-eb11-8da9-e4434bdf6706&url=https://pic4.zhimg.com/v2-bbef9650003420b1571b50ffe426659b_b.jpg)
配置JSON转换器
![v2-9543fd402ad4f43742b02504f7a46e08_b.jpg](http://img-02.proxy.5ce.com/view/image?&type=2&guid=01657293-202f-eb11-8da9-e4434bdf6706&url=https://pic1.zhimg.com/v2-9543fd402ad4f43742b02504f7a46e08_b.jpg)
编写JS代码进行测试
![v2-07a2f099cc6ccf8b7332741dfdf4e58f_b.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=01657293-202f-eb11-8da9-e4434bdf6706&url=https://pic4.zhimg.com/v2-07a2f099cc6ccf8b7332741dfdf4e58f_b.jpg)
Controller代码
![v2-4a9d65a614f6093317f3b3248081d150_b.jpg](http://img-01.proxy.5ce.com/view/image?&type=2&guid=01657293-202f-eb11-8da9-e4434bdf6706&url=https://pic1.zhimg.com/v2-4a9d65a614f6093317f3b3248081d150_b.jpg)
测试代码
![v2-239180f71f0ee0b6bcf1eb2e831ee4f0_b.jpg](http://img-02.proxy.5ce.com/view/image?&type=2&guid=01657293-202f-eb11-8da9-e4434bdf6706&url=https://pic1.zhimg.com/v2-239180f71f0ee0b6bcf1eb2e831ee4f0_b.jpg)
请求的数据格式
![v2-ce10a1dd545252e13f01839e8fe3587e_b.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=01657293-202f-eb11-8da9-e4434bdf6706&url=https://pic3.zhimg.com/v2-ce10a1dd545252e13f01839e8fe3587e_b.jpg)
响应的数据格式
![v2-243066e03d2e03464ef660bd62b01019_b.jpg](http://img-02.proxy.5ce.com/view/image?&type=2&guid=01657293-202f-eb11-8da9-e4434bdf6706&url=https://pic2.zhimg.com/v2-243066e03d2e03464ef660bd62b01019_b.jpg)