当前位置:首页 >> 开发者生态 >> 【SpringMVC】 参数传递,国外主机导购

【SpringMVC】 参数传递,国外主机导购

cpugpu芯片开发光刻机 开发者生态 1
文件名:【SpringMVC】 参数传递,国外主机导购 【SpringMVC】 参数传递 一.项目目录

SpringBoot项目创建之后会生成很多目录

删除不需要的这四个文件/目录

目录

二.Spring MVC 和 MVC 

Spring MVC(Spring Web MVC)

Spring Web MVC 是⼀个 Web 框架

MVC : Model View Controller

它是一种思想 , 它把一个项目分成了三个部分. 

View视图层

界面显示 , 人机交互

Controller 控制器

选择处理模型 ,选择视图

Model模型层

处理业务逻辑 , 处理数据 .

总结:

MVC是一种思想, 而Spring实现了这种思想, 称为Spring MVC.

请求会直接到Controller.

SpringBoot是创建SpringMVC项目的一种方式 .  还有其他方式.

现状:

由于现在的项目都实现了前后端分离,后端开发人员不必编写前端页面,所以也就没有了view视图层.

因此,view又有了新的解释,之前返回的是试图,现在返回的是视图所需要的数据.

三.Spring MVC

学习Spring MVC,主要学习这几个方面 . 

1.建立连接 (客户端和服务器)

2.请求

3.响应

@RequestMapping 路由映射

1.可以修饰方法

方法名和注解value没有关系,建议一致.

浏览器127.0.0.1:8080/sayhi访问

2.也可以修饰类

访问路径:类的路径+方法路径

浏览器 127.0.0.1:8080/hello/sayhi 访问

开发中建议加上类路径 : 避免重复/方便查找代码

注意:

注解里的斜杠可以写多层(第一个斜杠可以省略,但是不建议 )

注解不写属性名,默认是value

默认情况下 get 和 post 请求都是支持的 ; 也可以用method属性限制请求方式

参数的传递 1.传递单个参数

发送请求:

要求参数的名字一致

底层逻辑:从请求的参数中获取参数名为name的值,并给name赋值

2.传递多个参数

发送请求:


3.传递对象

开发中,接口的参数通常定义为对象

4.后端参数重命名

如果进行了重命名,必须使用重命名之后的名字name的传递传参 .

使用了重命名注解之后,就是一个必传的参数,否则会报错. 但是也可以设置required为false来设置该参数为非必传.

5.传递数组

传递数组有两种方式.

用同一个参数名

当请求中同一个参数有多个时,浏览器就会帮我们把这个参数封装成一个数组 .

使用逗号,分割传递

6.传递集合

需要添加注解我为非必传

7.传递JSON

JavaScript Object Notation (JS对象说明) , 是一种轻量级的数据交互格式 , 本质是一个对象字符串.

@RequestBody

添加注解@RequestBody将请求中的JSON转化为Person对象

(JSON数据在body中添加)

通过Fiddler抓包,查看发送的请求的确是jason数据.

8.获取URL中的参数 @PathVariable

添加@PathVariable注解

9.上传文件 @RequestPart

 

注意: 传参时参数的名字需要一致. 如果使用基本数据类型,必须要传值,否则会报错.

如果使用包装类,如果未传参,会使用默认值null

5开头的错误通常是服务端错误    --- 查看日志

        4开头的错误通常是客户端错误

状态码

http状态码   

不是后端定义的.

2xx:成功               3xx:重定向   

4xx:客户端错误    5xx服务端错误

业务状态吗

http响应成功的情况下,业务的响应分为不同的状态.

四.Cookie 和 Session

两者是会话机制.

cookie是客户端机制

问题:可以伪造

session是服务端机制

问题:分布式(部署在多个机器上)

4.1获取cookie

1.servlet方式

参数是请求里的内置对象.每个请求都有内置对象,如果需要就可以写,不需要就可以不写 .

2.注解方式 @CookieValue

4.2获取session

1.servlet原始方式

2.注解@SessionAttribute

该注解为必传参数,如果此时没有session,就会直接报错.

3.HttpSession 作为参数

红框部分等同于HttpSession session = request.getSession( false ) ;

4.3.获取header

1.servlet原始

2.注解 @RequestHeader

 

协助本站SEO优化一下,谢谢!
关键词不能为空
同类推荐
«    2025年12月    »
1234567
891011121314
15161718192021
22232425262728
293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接