zoukankan      html  css  js  c++  java
  • Springmvc 文件上传和json处理

    SpringMVC文件上传

    1.相关依赖

    <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属性一致,以便正确解析表单的内容 -->
            <property name="defaultEncoding" value="UTF-8"></property>
            <!-- 文件最大大小(字节) 1024*1024*50=50M-->
            <property name="maxUploadSize" value="52428800"></property>
            <!--resolveLazily属性启用是为了推迟文件解析,以便捕获文件大小异常-->
            <property name="resolveLazily" value="true"/>
    </bean>

    3.upload.jsp:

    <%--
      Created by IntelliJ IDEA.
      User: Admin
      Date: 2019/9/29
      Time: 20:28
      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" >
            <button type="submit">提交</button>
        </form>
    
    
    </body>
    </html>

    HelloController:

    @RequestMapping("/upload")
        public String upload(MultipartFile img) throws IOException {
            FileUtils.copyInputStreamToFile(img.getInputStream(),new File("D:/yyy/"+img.getOriginalFilename()));
            return "forward:upload";
        }

    json处理

    在方法上面加上@ResponseBody这个注解就好了

    @ResponseBody
        @RequestMapping("/jsonData1")
        public List<Map> jsonData1(){
            return bookservice.listPager(new Book(),new PageBean());
        }
    
        @ResponseBody
        @RequestMapping("/jsonData2")
        public Map jsonData2(){
            return bookservice.listPager(new Book(),new PageBean()).get(0);
        }

    工具类JSONResult:

    package com.psy.util;
    
    public class JSONResult {
    
        // 响应业务状态
        private Integer status;
    
        // 响应消息
        private String msg;
    
        // 响应中的数据
        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;
        }
    
    }
    @ResponseBody
        @RequestMapping("/jsonData3")
        public JSONResult jsonData3(){
            Map map = new HashMap();
    
            return JSONResult.ok("成功:这里可以存放字符串、对象、数组、集合都行,这样可以节省拼接map集合的过程");
        }
    
        @ResponseBody
        @RequestMapping("/jsonData4")
        public JSONResult jsonData4(){
            return JSONResult.errorMsg("失败:这里可以存放字符串、对象、数组、集合都行,这样可以节省拼接map集合的过程");
        }

  • 相关阅读:
    经常让程序员恼火的一些事情你是否也遇到过一些?
    CRC文件解压缩问题
    你在淘宝买件东西背后的复杂技术 技术普及帖
    程序员需要戒骄戒躁
    IT路上的应该注意自我规划 学习规划与自我修炼
    腾讯,我最恨别人用枪顶着我的头(转)
    软件管理,软件生命周期,软件过程名词解释
    程序员需要掌握的最终技术是什么? “终极技术”:应对困境的方法和信念
    程序员如何缓解“电脑病”
    新浪微博XSS攻击事件
  • 原文地址:https://www.cnblogs.com/psyu/p/11610234.html
Copyright © 2011-2022 走看看