springmvc圖片上傳及json數(shù)據(jù)轉(zhuǎn)換過(guò)程詳解
springmvc的圖片上傳
1.導(dǎo)入相應(yīng)的pom依賴
<dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.3</version> </dependency>
2.添加springmvc-servlet.xml里面的配置
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- 必須和用戶JSP 的pageEncoding屬性一致,以便正確解析表單的內(nèi)容 --> <property name="defaultEncoding" value="UTF-8"></property> <!-- 文件最大大小(字節(jié)) 1024*1024*50=50M--> <property name="maxUploadSize" value="52428800"></property> <!--resolveLazily屬性啟用是為了推遲文件解析,以便捕獲文件大小異常--> <property name="resolveLazily" value="true"/> </bean>
3.前臺(tái)文件上傳表單
<%-- Created by IntelliJ IDEA. User: ASUS Date: 2019/10/5 Time: 10:25 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>文件上傳</title> </head> <body> <form action="${pageContext.request.contextPath}/upload" method="post" enctype="multipart/form-data"> 上傳的文件:<input type="file" name="img" id=""> <button type="submit">提交</button> </form> </body> </html>
HelloController
/** * 文件上傳 * @param img * @return */ @RequestMapping("/upload") public String upload(MultipartFile img){ try { FileUtils.copyInputStreamToFile(img.getInputStream(),new File("F:/xxx/"+img.getOriginalFilename())); } catch (IOException e) { e.printStackTrace(); } return "forward:hello3"; }
json數(shù)據(jù)轉(zhuǎn)換
注解格式轉(zhuǎn)換@ResponseBody
工具類JSONResult
package com.liuwenwu.util; public class JSONResult { // 響應(yīng)業(yè)務(wù)狀態(tài) private Integer status; // 響應(yīng)消息 private String msg; // 響應(yīng)中的數(shù)據(jù) private Object data; private String ok; // 不使用 public static JSONResult build(Integer status, String msg, Object data) { return new JSONResult(status, msg, data); } public static JSONResult ok(Object data) { return new JSONResult(data); } public static JSONResult ok() { return new JSONResult(null); } public static JSONResult errorMsg(String msg) { return new JSONResult(500, msg, null); } public static JSONResult errorMap(Object data) { return new JSONResult(501, "error", data); } public static JSONResult errorTokenMsg(String msg) { return new JSONResult(502, msg, null); } public static JSONResult errorException(String msg) { return new JSONResult(555, msg, null); } public JSONResult() { } public JSONResult(Integer status, String msg, Object data) { this.status = status; this.msg = msg; this.data = data; } public JSONResult(Object data) { this.status = 200; this.msg = "OK"; this.data = data; } public Boolean isOK() { return this.status == 200; } public Integer getStatus() { return status; } public void setStatus(Integer status) { this.status = status; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public Object getData() { return data; } public void setData(Object data) { this.data = data; } public String getOk() { return ok; } public void setOk(String ok) { this.ok = ok; } }
HelloController
@ResponseBody @RequestMapping("/jsonData3") public JSONResult jsonData3(){ return JSONResult.ok("成功:這里可以存放字符串、對(duì)象、數(shù)組、集合都行,這樣可以節(jié)省拼接map結(jié)合的過(guò)程"); } @ResponseBody @RequestMapping("/jsonData4") public JSONResult jsonData4(){ return JSONResult.errorMsg("失?。哼@里可以存放字符串、對(duì)象、數(shù)組、集合都行,這樣可以節(jié)省拼接map結(jié)合的過(guò)程"); }
效果:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java面向?qū)ο蟪绦蛟O(shè)計(jì)多態(tài)性示例
這篇文章主要介紹了Java面向?qū)ο蟪绦蛟O(shè)計(jì)多態(tài)性,結(jié)合實(shí)例形式分析了java多態(tài)性的概念、原理、定義與使用方法及相關(guān)注意事項(xiàng),需要的朋友可以參考下2018-03-03springboot集成測(cè)試最小化依賴實(shí)踐示例
這篇文章主要為大家介紹了springboot集成測(cè)試最小化依賴實(shí)踐示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06Java代碼統(tǒng)計(jì)網(wǎng)站中不同省份用戶的訪問(wèn)數(shù)
這篇文章主要介紹了Java代碼統(tǒng)計(jì)網(wǎng)站中不同省份用戶的訪問(wèn)數(shù) 的相關(guān)資料,非常具有參考借鑒價(jià)值,感興趣的朋友一起學(xué)習(xí)吧2016-05-05在已有spring的基礎(chǔ)上集成hibernate的實(shí)例講解
下面小編就為大家?guī)?lái)一篇在已有spring的基礎(chǔ)上集成hibernate的實(shí)例講解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-11Java 重載、重寫、構(gòu)造函數(shù)的實(shí)例詳解
這篇文章主要介紹了Java 重載、重寫、構(gòu)造函數(shù)的實(shí)例詳解的相關(guān)資料,希望通過(guò)本文大家能理解掌握java 面向?qū)ο蟮姆椒?,需要的朋友可以參考?/div> 2017-09-09Java JDK與cglib動(dòng)態(tài)代理有什么區(qū)別
這篇文章主要介紹了Java JDK動(dòng)態(tài)代理和cglib動(dòng)態(tài)代理的區(qū)別文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2023-03-03Spring中@Controller和@RestController的區(qū)別詳解
這篇文章主要介紹了Spring中@Controller和@RestController的區(qū)別詳解,@RestController?是?@Controller?和?@ResponseBody?的結(jié)合體,單獨(dú)使用?@RestController?的效果與?@Controller?和?@ResponseBody?二者同時(shí)使用的效果相同,需要的朋友可以參考下2023-10-10深入解析Java中的編碼轉(zhuǎn)換以及編碼和解碼操作
這篇文章主要介紹了Java中的編碼轉(zhuǎn)換以及編碼和解碼操作,文中詳細(xì)解讀了編碼解碼的相關(guān)IO操作以及內(nèi)存使用方面的知識(shí),需要的朋友可以參考下2016-02-02最新評(píng)論