当前位置: 首页 > news >正文

兰州市城市建设设计院官方网站校园网站建设培训体会

兰州市城市建设设计院官方网站,校园网站建设培训体会,问卷调查网站怎么做,青岛官网优化收费标准响应 Http响应的结果可以是数据也可以是静态页面可以针对响应设置状态码 Header信息 返回静态页面注解RestController和Controller 我们创建一个前端页面 package com.example.demo.demos.web.controller;import org.springframework.web.bind.annotation.RequestMapping; i…

响应
Http响应的结果可以是数据也可以是静态页面可以针对响应设置状态码 Header信息

返回静态页面注解@RestController和@Controller

我们创建一个前端页面
在这里插入图片描述

在这里插入图片描述

package com.example.demo.demos.web.controller;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class ReturnController {@RequestMapping("index")public Object index(){return "index.html";}
}

当我们发起请求时发现页面返回的是一个字符串而不是刚刚的html静态界面
在这里插入图片描述
这时我们需要把注解@RestController 改成 注解@Controller就能正确返回想要显示的静态界面了
在这里插入图片描述
@Responsebody返回数据:定义返回的数据格式为⾮视图,返回⼀个text/html信息
@Controlle返回试图:定义⼀个控制器,Spring框架启动时加载,把这个对象交给Spring管理
@RestController=@Controlle+@Responsebody
但是随着MVC的概念发生变化View不再返回视图而是返回显示试图时需要的数据
我们可以查看@RestController的源码

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Controller
@ResponseBody
public @interface RestController {@AliasFor(annotation = Controller.class)String value() default "";
}

其中这三个是元注解

@Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME)
@Documented

@Target这个注解的作用是表示注解修饰的对象
@Retention表示注解的生命周期
@Documented表示在使用 javadoc 工具为类生成帮助文档时是否要保留其注解信息。

@Controller
@ResponseBody

这表示注解@RestController由这两个注解组成

返回数据注解@ResponseBody
可以修饰类也可以修饰方法
修饰类的时候表示这个类下的所有方法返回的都是数据
修饰方法时表示该方法返回的是数据

@RequestMapping("/return")
@Controller
public class ReturnController {@RequestMapping("/index")public Object index(){return "index.html";}@RequestMapping("/returnData")@ResponseBodypublic String returnData(){return "返回数据";}}

在这里插入图片描述
也可以返回Html片段

@RequestMapping("/return")
@Controller
public class ReturnController {@RequestMapping("/index")public Object index(){return "index.html";}@RequestMapping("/returnData")@ResponseBodypublic String returnData(){return "返回数据";}@RequestMapping("/returnHtml")@ResponseBodypublic String returnHtml(){return "<h1>返回Html代码片段<h1>";}}

在这里插入图片描述
返回JSON
当我们返回接口的是String是conten-Type就是text/html
当我们返回接口时对象时这个注解就会自动设置为application/json Map

@RequestMapping("/returnJson")@ResponseBodypublic Person returnJson(){Person person = new Person();person.setAge(18);person.setId(2021);person.setName("张三");return person;}
@RequestMapping("returnMap")@ResponseBodypublic Map<String,String> returnMap(){Map<String,String> kv = new HashMap<>();kv.put("k1","k1");kv.put("k2","k2");kv.put("k3","k3");return kv;}

在这里插入图片描述
可以看到回自动定义为json格式
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
设置状态码

@RequestMapping("setStatus")@ResponseBodypublic String setStatus(HttpServletResponse response){response.setStatus(401);return "设置状态码";}

通常是200但是这里设置为401
状态码不影响页面显示
在这里插入图片描述

在这里插入图片描述
设置Header
我们可以通过@RequestMapping注解来实现http报头传递一些附加信息
比如

我们查看@RequestMapping的源码

@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Mapping
public @interface RequestMapping {String name() default "";@AliasFor("path")String[] value() default {};@AliasFor("value")String[] path() default {};RequestMethod[] method() default {};String[] params() default {};String[] headers() default {};String[] consumes() default {};String[] produces() default {};
}

value: 指定映射的URL method:指定请求的method类型,如GET,POST等
consumes:指定处理请求(request)的提交内容类型(Content-Type),例如application/json,
text/html; produces: 指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回
Params:设置request(响应)中必须包含某些参数值时,才让该⽅法处理
headers:
指定request中必须包含某些指定的header值,才能让该⽅法处理请求

设置其他Header

@RequestMapping(value = "/r1" , produces = "application/json;charset=utf-8")@ResponseBodypublic String r1(HttpServletResponse response){//设置headerresponse.setHeader("myhead","myhead");return "{'OK':1}";}

在这里插入图片描述
在这里插入图片描述

http://www.yayakq.cn/news/246648/

相关文章:

  • 大连市建设工程集团有限公司做网站优化哪家好
  • 网站设计工作内容上海网站建设专业公司
  • 经济研究院网站建设方案旅游电子商务的网站建设
  • 站长工具使用方法wordpress创意主题店铺
  • 织梦茶叶网站模板购物网站
  • 唐山制作手机网站中国网站设计师
  • 软件定制开发一般多少钱网络优化的工作内容有哪些
  • 新手做淘宝客网站教程专业网站建设公司在线咨询
  • e站注册网站营销型网站建设推荐
  • eclipes 网站开发房地产网站建设需求说明书
  • 绵阳市建设银行网站资阳自贡网站建设平台
  • 网站开发组织架构图哈尔滨网站seo
  • 网站开发公司方案报价连云港百度推广总代理
  • 海南网站建设介绍深圳住房建设局网站申报
  • 网页设计素材网站温州手机网站制作哪家便宜
  • 网站中的滑动栏怎么做的商城网站建设套餐报价
  • 控制网站的大量访问怎么做钓鱼网站生成器
  • gis做图网站论坛怎样发帖推广
  • 在家建设一个网站需要什么门户网站 销售
  • 支付网站建设要求郑州网站建设hndream
  • 中国城乡与建设部网站ppt模板大全免费下载网站
  • 网站制作论文5000字嘉兴房产网站建设
  • 网站后台上传图片不显示wordpress png
  • 电脑网站 源码建站用帝国还是wordpress
  • 唐山市做网站衡水搜索引擎优化
  • 律师推广网站排名做班级网站的实训报告
  • 企业网站建设推广含义网络平台建设管理制度
  • 网站官网域名要多少钱龙岩做网站公司
  • 江苏城乡建设网站专门做qq小工具的网站
  • 微信公众号登录wordpress网站所有网站的名字大全