首页 > 其他分享 >SpringMvc的基础

SpringMvc的基础

时间:2022-12-15 23:34:17浏览次数:44  
标签:SpringMvc 基础 然后 json 参数 设置 注解

  首先SpringMvc是一款实现MVC模型的轻量级web框架,主要用在写那个controller也就是控制器,也就是表现层代码的书写,以前使用Servlet来写这个表现层,现在的话使用SpringMvc就更加简洁。

 

 

 创建SpringMvc主要有三步:先导入一下依赖的jar包(tomcat服务器的包也需要导入)

 

 

 

,然后创建一个SpringMvc控制器类,这个相当于servlet功能,就是在里面设置访问的资源,然后资源的路径,响应的数据。所以需要在类上面使用@Controller注解来标明这是SpringMvc核心控制器类,然后再用@ResponseBody来标记返回值类型,@requestmapping注解来设置访问路径

 

 

 然后设置一个SpringConfig类来加载这个SpringMvc控制器类,就是初始化胡SpringMVc的bean

 

 

 然后创建一个类,这个类实现要继承AbstractionDis...这个抽象类,然后重写这个接口中的3个方法,这个类他可以初始化那个SpringMvcconfig那个类,其中的三个方法,一个时候加载SpringMvcConfig

,一个是加载SpringConfig,还有一个是设置访问路径,这里表名只要是带”/“都会被SpringMvc加载,还有一种更加简洁的方法

     

 

 

 

 

 

 然后简单介绍一下用到的三个注解:

    

 

 

 还有那个初始化servlet容器的抽象类

 

 

 下面就是SpringMvc的工作流程:

 

 

 然后还要避免SpringConfig加载到SpringMvc的bean,

 

 

 有两种方法,第一种是在SpringConfig类中扫描的时候排除调controller中的SpringgMvc类,还有一种是把SpringConfig扫描时精准定位,定位到service包和 dao包

  

 

 

 然后就是请求,首先需要设置请求映射路径,这里在@RequestMapping注解中写上路径就好

  

 

 

 之后就是请求参数的传递,其中分为简单参数和json参数,后面大部分用的是json来传递参数,我们先说简单参数的传递,简单参数分为普通参数,数组参数,pojo(实体类)参数,集合参数,

 

 

 

 这是普通参数传递:这里这个请求参数名与形参明不一样,所以使用了@RequestParam注解

    

 

 

 然后因为有时候h传进来的参数是中文会出现乱码,所以需要设置utf-8的字符编码

 

 

 

 然后是实体类参数的传递,实体类参数分为普通的实体类参数传递和嵌入式实体类参数传递:

        

 

 

 数组请求参数的传递:

 

 

 

 集合参数传递:

  

 

接下来就是json数据的传递:

首先需要导入json需要的jar包:

 

 

 然后json请求参数与也有几种类型:数组,pojo,pojo数组

   

 

 

 在postman中发送json数据是这样的:这是数组的,如果是pojo的话就用{  “name”:"",... }

 

 

 然后使用@EnableWebMvc注解,可以开启json的数据转化功能 ,可以把接受的json类型的请求参数转为 类中的需要的形式

 

 

 

 最后使用@RequestBody注解可以接受json请求参数

 

 

 介绍一下几个用到的注解:

  

还有RequestPram和Requestbody的区别:

 

 

 

 

 还有日期类型的参数传递:

 

 

 

之后就是响应就是springMvc控制器传给网页的数据:其中分为响应页面(也就是跳转到 另一个页面)和响应数据(分为json数据和文本数据),响应数据不需要做什么,只要在方法上面设置@ResponeBody就可以

  

 

 

   

 

 

  再次介绍一下@Requestbody注解:

 

 

 

 之后是REST风格简介:它是一种更加简洁的风格,简化SpringMvc中的开发:虽然有的资源的地址也就是资源的描述形式是一样的,但是可以通过动作(也就是请求方式)的不一样设定来确定访问的资源

 

 

 REST的动作:

 

 

 具体在方法中的使用,是在@RequestMapping中定义value来设置路径,method来设置请求方式

 

 

 具体步骤如下;

   

 

 

 然后说一下两个注解:

 

  

 说一下@RequestBody和@RequestParam和@PathVariable的区别:

 

 因为每个RequestMapping中都要写value=。。。,都要写Reponsbody,为了简化可以把它们写到前面,而且responsebody可以和Controller合体,写成RestController

 

 具体如下:

    

 

 还有一个需要设置的是,给不是Spring中的资源放行,比如说一些html,css ,jsp文件的,因为我们在哪个初始化servlet类中的一个方法中设定了所有资源都给SpringMvc处理,

 

 

 

所以需要设置给一些资源放行。怎么设置放行呢,需要再从创建一个类,具体如下

     

 

 然后下面是一个案例:静态资源放行就写上面了,不重复写了

    

 

标签:SpringMvc,基础,然后,json,参数,设置,注解
From: https://www.cnblogs.com/y-258/p/16986239.html

相关文章

  • 深度学习笔记第一门课第二周:神经网络的编程基础(下)
    本文是吴恩达老师的深度学习课程[1]笔记部分。作者:黄海广[2]主要编写人员:黄海广、林兴木(第四所有底稿,第五课第一二周,第三周前三节)、祝彦森:(第三课所有底稿)、贺志尧(第五课第......
  • 计算机和操作系统基础知识
    计算机和操作系统基础知识  1、操作系统(OperatingSystem,简称OS),是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石 操作系统需要处理如管理与配置......
  • Vue基础(2)
    1、v-model(双向数据绑定)(1)通过绑定input实现双向绑定</head><body><divid="app"><!--div、input标签同时绑定data中input_value--><div>{{i......
  • T-SQL语言基础 - 第一章笔记
    sql逻辑顺序1. FROM 指定要查询的表名,以及对这些表进行操作的表运算符2.WHERE指定一个谓词或逻辑表达式,从而过滤由FROM阶段返回的行。对查询性能有重要的影响,在......
  • springMVC07(REST风格)
    一、REST风格的解释:(资源的访问形式)二、总结:2.1-REST:资源访问形式2.2-4个动作(GET、POST、PUT、DELETE)2.3-用"REST"风格开发,我们就叫"RESTful"......
  • 【机器学习基础】获取机器学习和深度学习的练习数据
    0.导语初学者学习机器学习和深度学习的时候,经常会找不到练习的数据,本文提供了获取数据的一些方法。一、scikit-learn自带数据集Scikit-learn内置了很多可以用于机器学习的数......
  • 网络基础知识问答
    常用的状态码​​1XX​​ -临时消息。服务器收到请求,需要请求者继续操作。​​2XX​​ -请求成功。请求成功收到,理解并处理。​​3XX​​ -重定向。需要进一步的操......
  • Docker基础
    一、Docker概述1、Docker的概念•Docker是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源•Docker是在Linux容器里运行应用的开源工具,是一种轻量级......
  • springMvc23-配置maven环境和创建maven项目(建议收藏,超全超详细)
    1本次歌谣就对如何创建一个maven项目做一个详细的讲解,毕竟卡了我三天,久久不能入眠,也搜了网上很多的博客都没有顺利的解决maven项目的创建。这篇建议大家收藏,总会用到的。不......
  • 防火墙基础之思科实验防病毒安全防护​网络架构
    防火墙基础之思科实验防病毒安全防护​网络架构原理概述:​防火墙(英语:Firewall)技术是通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络于其内、外网之间构......