web后端-请求响应

概述

我们之前在Spring写的
Java类,因为没有继承任何的接口
所以tomcat其实是不识别的,也不能直接运行
web后端-请求响应_第1张图片
但是tomcat识别JavaEE的一项规范-Servlet,因为tomcat就相当于一个Servlet容器

SpringBoot底层提供了一个DisPatcherServlet类(实现了servlet接口)
称为前端控制器
web后端-请求响应_第2张图片

我们把接收到的数据(浏览器发送到服务端的)封装到一个HttpServletRequest对象
而服务器发送到浏览器的对象封装到HttpServletResponse

这种称为
1.BS架构-用户只需要一个浏览器就和服务端对应
全部数据都在服务器
2.还有一种为CS架构(不同系统客户端是不同的)
客户端和服务端,比如qq,需要下载指定app的就成为CS架构
有的数据在服务器有点在本地

对于我们来说
最终要的就是Controller程序
web后端-请求响应_第3张图片
学习路线

web后端-请求响应_第4张图片

请求

web后端-请求响应_第5张图片

Postman

由于前后端分离开发的方式
我们我们后端程序员写完程序员,没有前端页面,需要测试的时候
不好测试,so需要一个工具
这个工具就是postman
web后端-请求响应_第6张图片
postman可以发送各种类型的请求来进行测试
web后端-请求响应_第7张图片

测试界面
web后端-请求响应_第8张图片
1.输入url
2.可以在左侧选择请求方式
3.下面有各种请求头,请求体的编写
4.点击send
5.下方的respone会返回测试的结果
web后端-请求响应_第9张图片

简单参数

我们在请求的时候发送两个参数
1.name2.age
现在我们看服务端怎么获取这个请求参数

原始方式

通过httpServletRequest对象
使用getParameter方法获取对应参数
web后端-请求响应_第10张图片
controller里类面
形参加个httpServletRequest对象来获取参数
最后return是返回给浏览器的数据
而内部的操作是在服务端运行的
web后端-请求响应_第11张图片
由于我们接收的都是字符串所以还要类型转换
web后端-请求响应_第12张图片
这种方式比较繁琐

SpringBoot方式

而在SpringBoot中
我们只需要在形参声明我们想传的形参即可(保证 请求参数名和形参变量名一致即可)

web后端-请求响应_第13张图片

假如是post请求的话,请求参数是在请求体中的
也是保证参数名和形参名称一致即可
web后端-请求响应_第14张图片
web后端-请求响应_第15张图片

参数名和形参名不对应

web后端-请求响应_第16张图片
就会接收不到参数
会显示null

如果你就是想用一个别的形参名接收对应参数
可以
在对应形参名前加一个注解
@RequParam(name=“参数名”)形参类型 形参名

这样就ok如下图
web后端-请求响应_第17张图片
注意:有该注解的参数必须传递
不传递会报错,或者将对应的required属性换为false
web后端-请求响应_第18张图片

小结

web后端-请求响应_第19张图片

实体参数

简单参数需要一个个写
如果传参不止两个,如果是20个呢,那就太麻烦了
所以
我们封装一个实体类,来用对象传参,对象的属性就是接收参数的
也是需要保持属性名字和参数名字保持一致才能接收
web后端-请求响应_第20张图片
浏览器端-get
web后端-请求响应_第21张图片
服务器端-实体
web后端-请求响应_第22张图片

复杂的实体参数-传的参数是一个对象这种(参数里面还有属性)
web后端-请求响应_第23张图片
写完pojo类和user类和controller类
进行一个请求的发送

postman-复合的话里面就 对象.属性这样传参
web后端-请求响应_第24张图片
idea-服务端
web后端-请求响应_第25张图片

你可能感兴趣的:(JavaWeb,前端,servlet,java)