问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

springmvc怎么设置相应头信息

发布网友 发布时间:2022-05-26 11:44

我来回答

1个回答

热心网友 时间:2023-10-15 13:20

我们知道response 的content type主要有:
text/html
text/plain
application/json;charset=UTF-8
application/octet-stream

先举一个例子,spring mvc中可以通过如下方式返回json字符串:
Java代码
@ResponseBody
@RequestMapping(value = "/upload")
public String upload(HttpServletRequest request, HttpServletResponse response,String contentType2)
throws IOException {
String content = null;
Map map = new HashMap();
ObjectMapper mapper = new ObjectMapper();

map.put("fileName", "a.txt");
try {
content = mapper.writeValueAsString(map);
System.out.println(content);
} catch (JsonGenerationException e) {
e.printStackTrace();
} catch (JsonMappingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

return content;

}
虽然访问时返回的确实是json字符串,但是response 的content type是"

text/html

"这不是我们期望的,我们期望的response content type是"application/json"或者"application/json;charset=UTF-8",那么如何实现呢?
通过注解@RequestMapping 中的proces
用法如下:
Java代码
@RequestMapping(value = "/upload",proces="application/json;charset=UTF-8")
spring MVC官方文档:
Procible Media Types
You can narrow the primary mapping by specifying a list of procible media types. The request will be matched only if the Accept request header matches one of these values. Furthermore, use of the proces condition ensures the actual content type used to generate the response respects the media types specified in the procescondition. For example:
@Controller@RequestMapping(value = "/pets/{petId}", method = RequestMethod.GET, proces="application/json")@ResponseBodypublic Pet getPet(@PathVariable String petId, Model model) { // implementation omitted}

Just like with consumes, procible media type expressions can be negated as in !text/plain to match to all requests other than those with an Accept header value oftext/plain.
Tip

The proces condition is supported on the type and on the method level. Unlike most other conditions, when used at the type level, method-level procible types override rather than extend type-level procible types.
springmvc实现文件的上传和下载

1、设置 response 响应头 2、读取文件 -- InputStream 3、写出文件 -- OutputStream 4、执行操作 5、关闭流 (先开后关)代码实现:RequestMapping(value="/download")public?String?downloads(HttpServletResponse?response?,HttpServletRequest?request)?throws?Exception{???//要下载的图片地址???Stri...

SSM系列——SpringMVC请求数据day3-3

表示服务器成功的表示服务器成功处理了客户端的请求。客户端的请求成功,响应消息返回正常的请求结果。(2)302 表示请求的资源临时从不同的URI响应请求,但请求者应继续使用原有位置来进行以后的请求。例如,在请求重定向中,临时URI应该是响应的Location头字段所指向的资源。(3)304 状态码304表示客户端...

请简述Spring MVC方法返回值3中不同类型的区别?

1.View类型:表示返回一个视图,通常是一个JSP页面或Thymeleaf模板。在方法中可以设置模型数据,并且返回一个逻辑视图名,Spring MVC会根据逻辑视图名查找相应的物理视图,并将模型数据传递给它。例如:GetMapping("/user")public ModelAndView getUser() { User user = userService.getUser();ModelAndView...

java后端怎么发送json文件给客户端?

```2. 将字符串设置为响应体,设置响应头为JSON格式,例如:```response.setContentType("application/json");response.setCharacterEncoding("UTF-8");response.getWriter().write(jsonString);```3. 发送响应,例如:```response.flushBuffer();```另外还可以使用一些框架,如Spring MVC的`@Respons...

Spring Boot 开发工具的使用

Spring Boot 中的一些库会通过缓存来提升性能。比如:模块引擎缓存已编译的模板,已避免重复解析模板文件;Spring MVC 在响应静态资源时设置 HTTP 缓存头。 启用缓存在开发环境中非常有用,但是在生产环境下却适得其反。因此 spring-boot-devtools 默认会为我们禁用掉缓存,而不用再去手动禁用了。

烧脑巨作,Spring Boot请求处理(常用参数注解使用)

该注解主要用于获取请求头header中的数据,客户端请求之后可以拿到一些头部携带的参数。支持传统的SpringMVC,也支持WebFlux响应式。如果方法参数是一个Map<String, String>将会包含所有的请求头与值 测试:主要用于获取请求参数名称,设置参数是否可有可无以及默认值。RequestParam注解详解地址: blog.csdn.net/...

如何优雅的写 Controller 层代码?

玩你个头啊完美,这么呆瓜的操作springboot不知道吗?spring mvc当然知道拉,所以给我们提供了一个@RestControllerAdvice来增强所有@RestController,然后使用@ExceptionHandler注解,就可以拦截到对应的异常。这里我们就拦截BindException.class就好了。最后在返回之前,我们对异常信息进行包装一下,包装成ResultVo,...

springboot怎么用(springboot怎么用在web上又用在微信小程序上)_百 ...

比如:模块引擎缓存已编译的模板,已避免重复解析模板文件;SpringMVC在响应静态资源时设置HTTP缓存头。 启用缓存在开发环境中非常有用,但是在生产环境下却适得其反。因此spring-boot-devtools默认会为我们禁用掉缓存,而不用再去手动禁用了。 同时,开发工具还会将Web日志的等级设置为DEBUG,这样就可以看到更加详细的请求和...

spring mvc 的详细流程

Spring MVC 的运行流程 ①. 在整个 Spring MVC 框架中, DispatcherServlet 处于核心位置,负责协调和组织不同组件以完成请求处理并返回响应的工作 ②. SpringMVC 处理请求过程:> 若一个请求匹配 DispatcherServlet 的请求映射路径(在 web.xml 中指定),WEB 容器将该请求转交给 DispatcherServlet 处理 > ...

springbootcloud组件

基于SpringBoot的logback输出,默认debug级别 设置项:feign.client.config.微服务id.loggerLevel 微服务id:default代表全局默认配置 2.通信日志输出格式 NONE:不输出任何通信日志 BASIC:只包含URL、请求方法、状态码、执行时间 HEADERS:在BASIC基础上,额外包含请求与响应头 FULL:包含请求与响应内容最完整的信息 3.OpenFeign...

mvc与springmvc的区别 spring mvc是什么 springmvc是什么框架 java spring mvc spring mvc注解 spring mvc教程 spring mvc流程 springmvc理解 spring mvc原理
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...之九=二十五分之() 十二分之五=六十分之()=二十四分之() ...之三x=二十分之九 八分之一x=三十二分之五 四十四分之二十一x=十一... 动脑筋,找规律,再填空。(1)三十二分之五、八分之五、( )、10 八分之五等于三十二分之几等于几分之二十五? 学的专业不是电气自动化,想成为电气工程师但是我不知道怎么入手,谁能... 卓应教育咨询有限公司的就业保障措施如何? ai画板怎么改大小ai画板怎么改大小快捷键 我以前在农牧站上班,现己被开除,己上了十二年,现在交社保,十二年工龄可 ... 84年行政事业单位被除名的职工(22年工龄,但现已经超过退休年龄,没有... ...里插曲"你是不可不飘荡的清风 我是芒草倾入你怀中" 请问是什么歌... 风水讲门不门装玄关通透好吗? 我国科学家将二氧化碳人工合成葡萄糖和脂肪酸,这一突破有何意义? 有关灯泡不亮的疑难问题: 侠盗猎车手3夏川明日香和米格尔怎么死的? 黑手党的亚裔黑手党 克劳德·斯平德的犯罪记录 日文在线翻译名字 夏川明 日文怎么写,然后罗马音是什么 拜托谢谢~ 家里吊灯上的灯突然全都不亮了? 玄关感应灯开关和手动开关控制线并在一起对不? vivoy3怎样截图? 蛋清加白糖为什么打不出奶油呢蛋清加白糖打不出奶油的原因 西红柿怎么能去皮 那个NVIDIA控制面板是啥子?可不可以把它卸载了?还有那个图形属性可不可以卸载了,卸载了会有什么 QQ加人太频繁怎么办 相片可以复印吗? 附睾炎物理治疗 睾丸炎会引发什么病? 附睾炎如何预防 附睾炎的必知事项有哪些 如何设置问卷以免账号被封锁? 夏川里美 苏州夜曲的歌词 我使用springmvc的时候发现在produces注解没有 如何彻底解决SpringMVC4.0下使用解决@ResponseBody 中文乱码问题 spring mvc中,RestController如何自定义返回的HTTP状态 springmvc的@responsebody注解怎么指定返回json还是xml 吃什么可以调节肤色呢?? 猪颈肉到底能不能吃? 飞机安检能带80g发蜡吗 我想问发胶发蜡可以托运飞机吗? 怎样关注京东众包公众号 哪些专业就业率高,十年后都难失业? 十大就业率最高专业 哪些专业就业率较高 请问一下江苏农林职业技术学院中各个系的就业率是多少 学校微机室电脑怎么设置开放模式 怎样使微机室的电脑不在还原? 学校微机室学生电脑拷贝文件教室电脑能看出来吗? 学生把学校微机室电脑设上密码怎么办? 虎扑为什么不出ipad版本? 火狐浏览器虎扑分版无法显示,症状如图。浏览器版本14.0.1,使用IE浏览无异常。 虎扑体育手机app闪退,只有我是这样么