demo

下载demo

配置:

springmvc.xml加上配置:

<!-- 在这个demo中缺少此配置提交表单后会出现415的错误 -->
<mvc:annotation-driven />
<!-- 配置json -->
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
	<property name="messageConverters">
		<list>
			<ref bean="mappingJacksonHttpMessageConverter" />
		</list>
	</property>
</bean>
<!-- 配置响应类型 -->
<bean id="mappingJacksonHttpMessageConverter"
	class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
	<property name="supportedMediaTypes">
		<list>
			<value>application/json;charset=UTF-8</value>
		</list>
	</property>
</bean>

获取提交的内容:

页面:

<form action="home/request" method="POST" enctype="multipart/form-data">
	File: <input type="file" name="file"/>
	<br/>
	Desc: <input type="text" name="name" value="aabbcc"/>
	<br/>
	<input type="submit" value="获取request的信息"/>
</form>

blob.png

控制器:

/**
 * 获取request的信息
 */
@ResponseBody
@RequestMapping("/request")
public String request(@RequestBody String body){
	System.out.println("请求的内容\n" + body);
	return body;
}

响应:

blob.png

读取文件并响应到浏览器:

控制器:

/**
 * 读取文件并响应到浏览器(下载)
 */
@RequestMapping("/responseEntity")
public ResponseEntity<byte[]> responseEntity(HttpSession session) throws IOException{
	byte [] body = null;
	ServletContext servletContext = session.getServletContext();
	InputStream in = servletContext.getResourceAsStream("/tmp/tmp.txt");
	body = new byte[in.available()];
	in.read(body);
	
	HttpHeaders headers = new HttpHeaders();
	headers.add("Content-Disposition", "attachment;filename=abc.txt");
	
	HttpStatus statusCode = HttpStatus.OK;
	
	ResponseEntity<byte[]> response = new ResponseEntity<byte[]>(body, headers, statusCode);
	return response;
}

响应:

blob.png

你可能感兴趣的文章