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

国内 上市网站建设公司排名公司建站费用

国内 上市网站建设公司排名,公司建站费用,做网站设计需要哪些软件,网页制作教程教程文章目录一、传统同步业务数据响应1. 请求资源转发2. 请求资源重定向3. 响应模型数据4. 直接回写数据二、前后端分离异步业务数据响应一、传统同步业务数据响应 Spring响应数据给客户端,主要分为两大部分: ⚫ 传统同步方式:准备好模型数据&am…

文章目录

  • 一、传统同步业务数据响应
    • 1. 请求资源转发
    • 2. 请求资源重定向
    • 3. 响应模型数据
    • 4. 直接回写数据
  • 二、前后端分离异步业务数据响应

一、传统同步业务数据响应

Spring响应数据给客户端,主要分为两大部分:
⚫ 传统同步方式:准备好模型数据,在跳转到执行页面进行展示,此方式使用越来越少了,基于历史原因,一些旧项目还在使用;
⚫ 前后端分离异步方式:前端使用Ajax技术+Restful风格与服务端进行Json格式为主的数据交互,目前几乎都是此种方式了。

传统同步业务在数据响应时,SpringMVC又涉及如下四种形式:
⚫ 请求资源转发;
⚫ 请求资源重定向;
⚫ 响应模型数据;
⚫ 直接回写数据给客户端;

1. 请求资源转发

在这里插入图片描述

2. 请求资源重定向

在这里插入图片描述

3. 响应模型数据

响应模型数据本质也是转发,在转发时可以准备模型数据

@GetMapping("/forward5")
public ModelAndView forward5(ModelAndView modelAndView){// 准备JavaBean模型数据User user = new User();user.setUsername("haohao");// 设置模型modelAndView.addObject("user",user);// 设置视图modelAndView.setViewName("/index.jsp");return modelAndView;
}

4. 直接回写数据

直接通过方法的返回值返回给客户端的字符串,但是SpringMVC默认的方法返回值是视图,可以通过@ResponseBody 注解显示的告知此处的返回值不要进行视图处理,是要以响应体的方式处理的

@GetMapping("/response2")
@ResponseBodypublic String response2() throws IOException {return "Hello haohao!";
}

二、前后端分离异步业务数据响应

其实此处的回写数据,跟上面回写数据给客户端的语法方式一样,只不过有如下一些区别:
⚫ 同步方式回写数据,是将数据响应给浏览器进行页面展示的,而异步方式回写数据一般是回写给Ajax引擎的,即谁访问服务器端,服务器端就将数据响应给谁
⚫ 同步方式回写的数据,一般就是一些无特定格式的字符串,而异步方式回写的数据大多是Json格式字符串

回写普通数据使用@ResponseBody标注方法,直接返回字符串即可,此处不在说明;

回写Json格式的字符串,即将直接拼接Json格式的字符串或使用工具将JavaBean转换成Json格式的字符串回写

@GetMapping("/response3")
@ResponseBody
public String response3(HttpServletResponse response) {return "{\"username\":\"haohao\",\"age\":18}";
}
@GetMapping("/response4")
@ResponseBody
public String response4() throws JsonProcessingException {// 创建JavaBeanUser user = new User();user.setUsername("haohao");user.setAge(18);// 使用Jackson转换成json格式的字符串String json = new ObjectMapper().writeValueAsString(user);return json;
}

在讲解SringMVC接收请求数据时,客户端提交的Json格式的字符串,也是使用Jackson进行的手动转换成JavaBean

当我们使用了@RequestBody时,直接用JavaBean就接收了Json格式的数据,原理其实就是SpringMVC底层帮我们做了转换,此处@ResponseBody也可以将JavaBean自动给我们转换成Json格式字符串回响应

@GetMapping("/response5")
@ResponseBody
public User response5() throws JsonProcessingException {// 创建JavaBeanUser user = new User();user.setUsername("haohao");user.setAge(18);// 直接返回User对象return user;
}

@ResponseBody注解使用优化,在进行前后端分离开发时,Controller的每个方法都是直接回写数据的,所以每个方法上都得写@ResponseBody,可以将@ResponseBody写到Controller上,那么该Controller中的所有方法都具备了返回响应体数据的功能了

@Controller
@ResponseBody
public class UserController{@GetMapping("/response7")public ResultInfo response7() {// 省略其他代码return info;}@GetMapping("/response5")public User response5() throws JsonProcessingException {//省略其他代码return user;}// ... 省略其他方法 ...
}

进一步优化,可以使用@RestController替代@Controller和@ResponseBody,@RestController内部具备的这两个注解的功能

@RestController
public class UserController{@GetMapping("/response7")public ResultInfo response7() {// 省略其他代码return info;}@GetMapping("/response5")public User response5() throws JsonProcessingException {//省略其他代码return user;}// ... 省略其他方法 ...
}
http://www.yayakq.cn/news/419708/

相关文章:

  • 做机械有什么兼职网站泰州建设工程信息网
  • 网站改版策划wordpress添加视频插件吗
  • 网站被入侵后需做的检测 1怎么做营销策划方案
  • 扬州国土资源局网站开发区分局展示型网站建设报价
  • 莱芜网站开发网站后台文章栏目
  • 济南大型网站制作wordpress 搜索 自定义字段
  • 个性化的个人网站江苏质量员证在哪个网站做的
  • 自建电商网站有哪些建网站价格网
  • 云南网站建设快速排名设计制作公益广告牌教案
  • 18款禁用网站app直播什么语言建手机网站
  • 网站配色 蓝绿wordpress美化版
  • 高端网站制作网站建设高端网络
  • 网站空间托管电脑培训网上免费课程
  • 酒业公司网站模板个人网站可以做咨询吗
  • 做服装要看国外哪些网站溜冰鞋 东莞网站建设
  • 现在可以做网站么官网网站源码
  • 精选微信网站建设培训如何优化网站
  • 网站怎么注销主体wordpress 自定义post
  • 浏览器怎么打开网站服务器设置wordpress怎么在首页调用easing-slider
  • 做网站要多少钱联系方式做的最好的理财网站
  • 做app和做网站区别myeclipse网站开发
  • 网站建设数据收集方法网站开发形式有哪些
  • 青岛做教育的网站建设美工做图片网站
  • 投资网站建设公司多少钱微分销官网
  • 推荐上海网站建站品牌.net开发的网站 能做成app吗
  • 网站 前台 设计要求建立网站有免费的吗
  • 房地产公司网站建设与推广方案整合营销的概念
  • 网站建设报价明细及方案wordpress 站长主题
  • 协会网站信息平台建设网站开发老是弹广告
  • 兰州做网站哪个平台好wordpress手机不方便