springmvc04-文件上传-JSON数据
文件上传部分:
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数据的更多相关文章
- 移动商城第四篇【Controller配置、添加品牌之文件上传和数据校验】
Controller层配置 编写SpringMVC的配置文件 springmvc.xml <?xml version="1.0" encoding="UTF-8&q ...
- day060 ajax文件上传 json补充
请求头ContentType 文件上传时需要指定请求头,常见的类型有3种: 1.application/x-www-form-urlencoded(可以类比成在url后面拼接的形式发送,即a=1&am ...
- .Net文件上传--小数据--un
文件上传控件:FileUpload - 控件,界面+方法+属性Button/LinkButton/ImageButton FileUpload控件:1.SaveAs("要上传到服务器的绝对路 ...
- [iOS 多线程 & 网络 - 2.6] - 使用POST上传JSON数据 & 多值参数
A.上传JSON 1.思路: 必须使用POST方法才能上传大量JSON数据 设置请求头:设置Content-Type 设置请求体,JSON实际相当于字典,可以用NSDictionary NSJSONS ...
- POST 上传 JSON 数据
// // ViewController.m // 03-post上传json // // Created by jerry on 15/10/10. // Copyright (c) 2015年 j ...
- 使用bottle进行web开发(9):文件上传;json传递
1.文件上传 如果要完成文件上传,则需要对上文的form做一点改动,具体如下: <form action="/upload" method="post" ...
- springmvc笔记(基本配置,核心文件,路径,参数,文件上传,json整合)
首先导入jar包 大家注意一下我的springmvc,jackson,common-up的jar包版本.其他版本有可能出现不兼容. src文件: webroot目录: web.xml <?xml ...
- C语言采用socket实现http post方式上传json数据
1.按照HTTP协议发送请求: http POST 报文格式 http 报文是面向文本的. 报文分为:请求报文和响应报文 请求报文由:请求行,请求头部,空行和请求数据四个部分组成. <1.请求行 ...
- php curl 上传json数据
PUT $data = array('username'=>'dog','password'=>'tall'); $data_json = json_encode($data); $ch ...
随机推荐
- 深入解析Javascript异步编程
这里深入探讨下Javascript的异步编程技术.(P.S. 本文较长,请准备好瓜子可乐 :D) 一. Javascript异步编程简介 至少在语言级别上,Javascript是单线程的,因此异步编程 ...
- Andoird开发手机壁纸
Android 开发手机壁纸3种方法 首先使用WallpaperManager wpm = (WallpaperManager) getActivity().getSystemService(Cont ...
- 8.8.1 Super关键字
Super关键字 1.super不是引用类型,super中存储的不是内存地址,super指向的不是父类对象. 2.super代表的是当前子类对象中的父类型特征. //通过子类的构造方法去调用父类的构造 ...
- 用IO流中的File类来创建文件及目录
题目如下: 设计一个命令窗口程序,要求按照如下的格式显示 例如:===利用命令窗口完成文件的操作===(1)创建目录 (2)创建文件 (3)删除目录 (4)删除文件 ===现在正在做创建目录的操作== ...
- hr用法
定义和用法 <hr> 标签在 HTML 页面中创建一条水平线. 水平分隔线(horizontal rule)可以在视觉上将文档分隔成各个部分. HTML 与 XHTML 之间的差异 在 H ...
- MyBatis --- 动态SQL、缓存机制
有的时候需要根据要查询的参数动态的拼接SQL语句 常用标签: - if:字符判断 - choose[when...otherwise]:分支选择 - trim[where,set]:字符串截取,其中w ...
- django框架(Model)
-------------------使用MySql数据库-------------------1.进行对应mysql-python包的下载 pip install mysql-python 2.在m ...
- MySQL(九)之数据表的查询详解(SELECT语法)二
上一篇讲了比较简单的单表查询以及MySQL的组函数,这一篇给大家分享一点比较难得知识了,关于多表查询,子查询,左连接,外连接等等.希望大家能都得到帮助! 在开始之前因为要多表查询,所以搭建好环境: 1 ...
- Tomcat session生成算法
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt396 修改TOMCAT 默认的生成SESSION ID的算法和字符长度非常简 ...
- 汇编指令-CMP、TEQ(5)
cmp:(compare)指令进行比较两个操作数的大小 格式: cmp oprd1,oprd2 比较oprd1和oprd2操作数,然后通过助记符来实现想要的判断. teq: (test equal ...