SpringMVC文件下载与JSON格式(七)
2018-10-03 17:57:56来源:博客园 阅读 ()
点击查看上一章
现在JSON这种数据格式是被使用的非常的广泛的,SpringMVC作为目前最受欢迎的框架,它对JSON这种数据格式提供了非常友好的支持,可以说是简单到爆。
在我们SpringMVC中只需要添加jackjson的jar包后RequestMappingHandlerAdapter会将MappingJacksonHttpMessageConverter装配进来。而我们使用也只需要使用注解修饰就可以完成JSON格式的转换
@ResponseBoy
//@ResponseBody @RequestMapping("/getJson") public @ResponseBody String getJson() { return "success"; }
我们只需要将方法使用注解@ResponseBody修饰就可以完成JSON格式自动转换,这个注解可以修饰在方法上,也可以修饰在返回值上。我们可以返回任意对象,他会自动转换成JSON格式返回给客户端。
ResponseEntity
除了使用@ResponseBody我们还可以使用ResponseEntity对象作为返回值,这两种方式效果是一样的。
@RequestMapping("/getJson2") public ResponseEntity<String> getJson2() { ResponseEntity<String> responseEntity = new ResponseEntity<>("<h1>ResponseEntity</h1>", HttpStatus.OK); return responseEntity; }
@RequestBody
该注解用于读取Request请求的body部分数据,使用系统默认配置的HttpMessageConverter进行解析,然后把相应的数据绑定到要返回的对象上,再把HttpMessageConverter返回的对象数据绑定到 controller中方法的参数上。
<form action="testRequestBody2" method="POST"> <input type="text" name="username"><br> <input type="password" name="userpass"><br> <input type="submit" value="登陆"> </form>
@RequestMapping("/testRequestBody") public String hello(@RequestBody String body) { System.out.println(body); return "hello"; }
他会将我们这个表单中的数据转换成字符串类型
HttpEntity
这个对象使用起来效果是与@RequestBody效果是一致的。
@RequestMapping("/testHttpEntity") public String getJson2(HttpEntity<String> entity) { System.out.println(entity.getBody()); return "hello"; }
文件下载功能
使用ResponseEntity<byte[]>来实现文件下载。文件下载只需要将文件输出类型该为可以被下载的文件类型设置为ResponseEntity<byte[]>即可。
@RequestMapping("/downFile") public ResponseEntity<byte[]> testdownFile(HttpSession session) throws IOException { ServletContext servletContext = session.getServletContext(); InputStream in = servletContext.getResourceAsStream("downloads/down.txt"); byte[] bytes = FileCopyUtils.copyToByteArray(in); HttpHeaders header = new HttpHeaders(); header.add("Content-Disposition", "attachment;filename=down.txt"); ResponseEntity<byte[]> entity = new ResponseEntity<byte[]>(bytes, header, HttpStatus.OK); return entity; }
filename这个属性是文件下载的文件名字。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- springboot2配置JavaMelody与springMVC配置JavaMelody 2020-06-11
- 蚂蚁金服这套SpringMvc面试题你懂多少(面试必刷) 2020-05-27
- Dubbo 2.7.7 发布,FastJson 升级了! 2020-05-25
- SpringMVC高级-拦截器如何正确运用?案例详解 2020-05-21
- 萌新学习SpringMVC 2020-05-20
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash