1.MVC
MVC:是模型(Model)视图(View)控制器(Controller)的简写,是一种软件设计规范
- 将业务逻辑,数据和显示分离
- MVC是一种架构模式
模型(dao,service):数据模型,提供要展示的数据,包含数据和行为
视图(jsp):负责进行数据的展示
控制器(servlet):接收用户的请求,委托给模型进行处理
1.1 SpringMVC框架特点:
1.轻量级,简单易学
2.高效,基于请求响应的MVC框架
3.与Spring兼容性好,无缝结合
4.约定优于配置
5.功能强大:restful、数据验证、格式化、本地化
6.简洁灵活
1.2 SpringMVC执行过程:
1.用户发送请求
2.前端控制器(DispatcherServlet)调用HandlerMapping(处理器映射),它会根据url查找handler
3.HandlerExecution表示具体的Handler,根据url查找控制器
4.HandlerExecution将解析后的信息传递给DispatcherServlet,如解析控制器映射等
5.HandlerAdapter表示处理器适配器,其按照特定的规则执行Handler
6.Handler让具体的controller执行
7.Contoller将具体的执行信息返回给HandlerAdapter
8.HandlerAdapter将视图逻辑名传递给DispatcherServlet
9.DispatcherServlet调用视图解析器解析逻辑视图
10.视图解析器将逻辑视图名传递给DispatcherServlet
11.DispatcherServlet根据解析结果调用具体的视图
12.最终视图呈现给用户
@RequestMapping注解用于映射url到控制器类或一个特定处理程序的方法,可用于类或方法上,用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。
@RestController注解标注的类所有方法都会返回字符串,等价于@Controller+@Responbody
@Controller会走视图解析器
1.3 JSON
前后端分离:
后端部署后端,提供接口,提供数据
前后端通过JSON进行数据交互
前端独立部署,负责渲染后端的数据
- JSON(javascript object notation,js对象标记)是一种轻量级的数据交换格式
- 采用完全独立于编程语言的文本格式进行存储数据
- 简洁和清晰的层次结构使得JSON成为理想的数据交互语言
JSON键值对是用来保存JavaScript对象的一种方式,键值对组合中的键名写在前面并用双引号包裹,使用冒号分割,紧接着值;
前端自带JSON
JSON和Javascript对象转换
- JSON转换为Javascript对象,使用JSON.parse()
- Javascript对象转换为JSON字符串,使用JSON.stringify()
后端需要导入第三方的jar包进行使用,例如Jackson,fastjson
- fastjson,阿里专门用于java开发的包,可以方便实现json对象与javabean对象的转换,javabean对象与json字符串的转换,json对象与json字符串的转换
fastjson主要有3个类
JSONObject代表json对象
JSONArray代表json对象数组
JSON代表JSONObject和JSONArray的转换
JSON.toJSONString() :java对象转json字符串
JSON.parseObject(): json字符串转Java对象
JSON.toJson() : Java对象转JSON对象
JSON.toJavaObject(): JSON对象转Java对象
User user = new User("bwp",28,"男");
String str1 = JSON.toJSONString(user);
System.out.println(str1);
User user2=JSON.parseObject(str1,User.class);
System.out.println(user2);
JSONObject jsonObject= (JSONObject)JSON.toJSON(user2);
System.out.println(jsonObject);
User user3 = JSON.toJavaObject(jsonObject,User.class);
System.out.println(user3);
标签:SpringMVC,json,视图,对象,JSON,User,DispatcherServlet
From: https://www.cnblogs.com/bobstudyjava/p/17281829.html