首页 > 其他分享 >SpringMVC

SpringMVC

时间:2023-04-08 11:45:11浏览次数:32  
标签:SpringMVC json 视图 对象 JSON User DispatcherServlet

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

相关文章

  • SpringMVC 结合 Servlet 不成功问题集锦
    问题集锦question1:Tomcat10版本太高causeTomcat10版本..主要就是说:Tomcat10之前的用户如果使用Tomcat10就需要将javax.*的导入转变为jakarta.*。这样才能将代码在Tomcat10中部署,还给你了一个迁移工具migrationtool来帮助你迁移代码。resolve换Tomcat9......
  • 一个简单SpringMVC的实现
    之前学习时候,是使用老师的自定义的一个SpringMVC模式,今天突然好奇,官方的SpringMVC架构咋弄,于是带着好奇的心去实现完成它其实这个模式也比较简单1:首先,我们创建一个maven,web的网页项目,JDK选择1.8版本   2:在创建完之后,鼠标右键点击main目录,同时选择java和resource包按回车......
  • 如何进行SpringMVC异步编程
    前言SpringMVC是我们平时用的最多的异步编程框架,但是我们在使用的时候基本上只是用到了它的同步编程。一般情况下是够用的,但是在并发量比较大的时候可能就不会够用了,因为一个请求会占用一个tomcat线程,这个时候我们可以尝试使用异步编程的方式来提高吞吐量。环境准备maven依赖:......
  • Quarkus系列—— RESTEasy与SpringMVC(二)
    简述RestEasy在Quarkus中的作用跟SpringMVC在SpringBoot中类似。简介RESTEasy是JBoss的一个开源项目,提供各种框架帮助你构建RESTfulWebServices和RESTfulJava应用程序。我们以第一部分的代码为例来介绍如何通过RESTEasy的各种注解来开发Web应用,因为RESTEasy实现了JAX......
  • SpringMVC大文件上传解决方案支持分片断点上传
    ​ 以ASP.NETCoreWebAPI 作后端 API ,用 Vue 构建前端页面,用 Axios 从前端访问后端 API,包括文件的上传和下载。 准备文件上传的API #region 文件上传  可以带参数        [HttpPost("upload")]        publicJsonResultuploadProject(I......
  • springmvc中前端调用controller方法路径问题
          以前学习springmvc时没有理解前端访问controller中方法路径问题,做项目时刚好遇到,百度了一下没有找到想要的答案,后来突然就顿悟了。。。。。,虽然很基础但还是记录了一下,大佬请见谅。controller中主要用@RequestMapping注解来定义访问路径,一般定义一个类加载路径......
  • springmvc中前端调用controller方法路径问题
          以前学习springmvc时没有理解前端访问controller中方法路径问题,做项目时刚好遇到,百度了一下没有找到想要的答案,后来突然就顿悟了。。。。。,虽然很基础但还是记录了一下,大佬请见谅。controller中主要用@RequestMapping注解来定义访问路径,一般定义一个类加载路径......
  • SpringMVC 中常用注解
    1、控制器类的注解(1)@Controller作用:修饰类,一个类被它修饰,就成了控制器类,负责接收和处理HTTP请求,可以返回页面和数据;(2)@RestController(@Controller+@ResponseBody的组合注解)作用:修饰类,一个类被它修饰,就成了控制器类,只返回给用户数据,默认将返回的对象数据转换为jso......
  • SpringMVC 框架的介绍
    Java早期的MVC模型主要使用Servlet组件。用户的请求首先到达Servlet,Servlet作为控制器接收请求,然后调度JavaBean读写数据库的数据,最后将结果放到jsp中展现给用户。但是,Servlet组件功能有限,而且与jsp的耦合度过高,使得基于Servlet组件的MVC架构开发很不方便......
  • spring-MVC web.xml springmvc-servlet.xml 配置文件
    springMVC配置文件web.xml<?xmlversion="1.0"encoding="UTF-8"?><web-appxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns......