首先聊聊浏览器 服务器传输信息的协议
http协议中浏览器向服务器请求
:
服务器回复浏览器:
F12->network->all->点击具体的name的东西会显示对应的
url method ip地址 状态码 状态解释
请求头
响应头
浏览器和服务器之间的
浏览器(前端)向服务器(后台)请求数据
浏览器到服务器请求默认是GET方法的 浏览器从服务器获取数据
比如分页的获取数据 遍历集合显示页面
参数都是以再url后面用?拼接参数的形式传递的url?参数名1=值&参数名2=值
在控制器(Controller)的方法中的形参 如果和url后面拼接的参数名称保持一直 底层的DispatcherServlet是会一一对应然后赋值给形参 控制器的方法就可以CRUD前端传过来的参数了
- 方法中的参数就是请求对象 和 响应对象 在服务器可以直接用
request.getParameter(" 参数名")
; 获取浏览器的参数 - 如果是分页等 首次操作浏览器没有传参可以加@RequeseParam()设置默认值 其主要适合用拼接的形式传递参数的模式
- 如果参数成为路径的一部分 即
@RequestMapping("url/{参数名}")
方法的参数需要注解@PathVariable(“参数”) 参数类型 参数
意思是从路径当中得到这个变量赋值给方法的参数
POST请求方式 浏览器向服务器提交数据
比如表单
控制器方法的参数名字与表单的名字一致就可以传过来
还有delete put 这就是rest风格
下面了解以下spring提供的供前后端交互传递参数的注解
请一定一定要阅读此篇文章!!!
@RequestBody的使用
@RequestBody
@RequestParam 后端要求前端传递参数的注解
有两种形式
@RequestParam(`required=true/false defaultValue="1 "`) Integer PageIndex
@RequestParam("pageIndex") Integer PageIndex
有必须获取 和 默认初始的前端的内容等
比如页面前端还没操作的时候 我们默认就是第1页
public String commentListView(
@RequestParam(required = false, defaultValue = "1") Integer pageIndex,
@RequestParam(required = false, defaultValue = "10") Integer pageSize, Model model)
也有这种在里面value与前端对应的
@RequestParam("paramName") String paramName