文件上传部分:

1, 导入commons-fileupload-1.2.2.jar commons-io-2.4.jar 两个jar包.

2, 在主配置文件中,添加如下信息

    <!-- 文件上传-->
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <!-- 配置上传的最大字节数 -->
        <property name="maxUploadSize" value="10000000"/>
        <property name="defaultEncoding" value="UTF-8"/>
        <property name="maxInMemorySize" value="102400"/>
        <!-- 貌似上传到的路径无法配置-->
    </bean>

3, 在上传文件的表单中一定要设置 enctype="multipart/form-data"

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>

<%@ taglib prefix="sf" uri="http://www.springframework.org/tags/form" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>上传文件演示</title>
</head>
<body>

 <sf:form method="post" action="upload" enctype="multipart/form-data">
     <input type="file" name="attach" />

     <!--  多个文件上传时,这样使用即可
         <input type="file" name="attachs" />
         <input type="file" name="attachs" />
         <input type="file" name="attachs" />
      -->
     <input type="submit" value="提交" />
 </sf:form>
</body>
</html>

  后台中的action的处理

  /**
     * 如果上传多个文件,使用 @RequestParam MultipartFile[] attachs,然后遍历,一个个上传即可
     * 单个文件使用 MultipartFile attach,不需要那个注解
     */
    public String upload( MultipartFile attach,HttpServletRequest request) throws IOException{

        //getName()得到的是属性名
        //getOriginalFilename() 得到的是上传过来的文件名
        System.out.println(attach.getName()+","+attach.getOriginalFilename()+","+attach.getContentType());

        String realPath=request.getSession().getServletContext().getRealPath("/resources/upload");
        //默认上传到了--> D:\workspace-esb\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\springmvc\resources\upload

        File file = new File(realPath+"/"+attach.getOriginalFilename());

        FileUtils.copyInputStreamToFile(attach.getInputStream(), file);

        return "redirect:/user/users";  //这个返回的视图是随便写的.
    }
    

 返回json数据部分:

  

/**
     * @PathVariable:路径中的变量
     *
     */
    @RequestMapping(value="/{name}",method=RequestMethod.GET)
    public String show(@PathVariable String name,Model model){

        model.addAttribute(users.get(name));

        return "/user/show";
    }

    /**
     * 返回Json类型数据:
     * 1, 导入jackson-all-1.9.11.jar
     * 2, 直接返回对象即可
     * 3, 使用注解@ResponseBody
     * 3,为了区别上面的show()方法的requestMapping,加入params属性
     */
    @RequestMapping(value="/{name}",method=RequestMethod.GET,params="json")
    @ResponseBody
    public User show(@PathVariable String name){

        return users.get(name);

    }
    

  第一个show()方法是普通的返回jsp页面的视图,第二个show()方法就是返回json格式的数据

springmvc04-文件上传-JSON数据的更多相关文章

  1. 移动商城第四篇【Controller配置、添加品牌之文件上传和数据校验】

    Controller层配置 编写SpringMVC的配置文件 springmvc.xml <?xml version="1.0" encoding="UTF-8&q ...

  2. day060 ajax文件上传 json补充

    请求头ContentType 文件上传时需要指定请求头,常见的类型有3种: 1.application/x-www-form-urlencoded(可以类比成在url后面拼接的形式发送,即a=1&am ...

  3. .Net文件上传--小数据--un

    文件上传控件:FileUpload - 控件,界面+方法+属性Button/LinkButton/ImageButton FileUpload控件:1.SaveAs("要上传到服务器的绝对路 ...

  4. [iOS 多线程 & 网络 - 2.6] - 使用POST上传JSON数据 & 多值参数

    A.上传JSON 1.思路: 必须使用POST方法才能上传大量JSON数据 设置请求头:设置Content-Type 设置请求体,JSON实际相当于字典,可以用NSDictionary NSJSONS ...

  5. POST 上传 JSON 数据

    // // ViewController.m // 03-post上传json // // Created by jerry on 15/10/10. // Copyright (c) 2015年 j ...

  6. 使用bottle进行web开发(9):文件上传;json传递

    1.文件上传 如果要完成文件上传,则需要对上文的form做一点改动,具体如下: <form action="/upload" method="post" ...

  7. springmvc笔记(基本配置,核心文件,路径,参数,文件上传,json整合)

    首先导入jar包 大家注意一下我的springmvc,jackson,common-up的jar包版本.其他版本有可能出现不兼容. src文件: webroot目录: web.xml <?xml ...

  8. C语言采用socket实现http post方式上传json数据

    1.按照HTTP协议发送请求: http POST 报文格式 http 报文是面向文本的. 报文分为:请求报文和响应报文 请求报文由:请求行,请求头部,空行和请求数据四个部分组成. <1.请求行 ...

  9. php curl 上传json数据

    PUT $data = array('username'=>'dog','password'=>'tall'); $data_json = json_encode($data); $ch ...

随机推荐

  1. 项目记事【SpringMVC-1】:后台接收前端传来的JSON,并转成对象

    背景: 最近项目中使用SpringMVC,需要从前端接收JSON格式的请求,在后端自动转成一个与JSON格式相同的对象. 由于是一个老项目,Spring的版本是3.2.7. 问题1:POST or G ...

  2. 利用css实现页面加载时旋转动画

    有时浏览一些网站时在刚加载页面时候会出现一个滚动动画如下图,特别是对于一些移动端的站点或者混合应用来说应该用户体验会好很多,扒了下页面发现是用css样式控制的,于是把页面以及css样式赋值了下来, h ...

  3. Linux桌面环境GNOME实用技巧

    GNOME是Linux桌面上主流的集成桌面环境之一,GNOME桌面以其风格简洁.操作便捷而受到Linux用户的欢迎.这里将介绍Linux桌面环境GNOME的操作技巧,在这里拿出来和大家分享一下. 下面 ...

  4. linux虚拟机ip地址更改

    在虚拟机模式下 进入 cd /etc/sysconfig/network-scripts/ vim ifcfg-eth0 编辑 IPADDR=新的内网ip PREFIX  = 24 (对应255.25 ...

  5. 鸟瞰spring

    一.spring框架概述: Spring框架主要提供了Ioc容器.AOP.数据访问.Web开发.消息.测试等相关技术的支持. 1.Spring的模块 1)核心容器 Spring-Core:核心工具类, ...

  6. django开发总结

    首先我用的是虚拟机,python3.6+django1.11.0: 为了版本的一致,以及在环境种更好的体验,我们需要的是先用虚拟环境virtualenv其命令有: 1.创建环境(name是虚拟环境名字 ...

  7. java --jfree报表

    ---恢复内容开始--- 1.使用的报表工具: jfree报表 2.下载网址: http://www.jfree.org/ 下载之后先解压:如下图 下载后:需要的jar包!如下图: 打开:找到以下的两 ...

  8. 解析:type t_string is table of varchar2(32767) index by binary_integer

    @ 理解一: table 相当于是数组,这里定义了一个数组类型t_string; INDEX BY BINARY_INTEGER这里是定义数组下标是整数,因为ORACLE中下标可以是字符串. VARC ...

  9. jquery.tmplate使用心得

    jquery.tmplate使用心得 jquery.tmpl.js,是与jquey共同使用的html模板插件.该插件可通过简单的语法将数据放入到html模板中,可以很好的将数据渲染到页面上.该插件在本 ...

  10. BZOJ 3379: [Usaco2004 Open]Turning in Homework 交作业

    Description     贝茜有C(1≤C≤1000)门科目的作业要上交,之后她要去坐巴士和奶牛同学回家. 每门科目的老师所在的教室排列在一条长为H(1≤H≤1000)的走廊上,他们只在课后接收 ...