做网站前期费用,看电视免费直播频道,网站页脚版权信息,wordpress插件是什么文章目录SpringMVC1.概念2.常用注解请求与响应1.请求参数2.JSON传输3.常用注解响应1.响应页面2.响应JSON数据Rest风格1.介绍2.常用注解SpringMVC
1.概念
#xff08;1#xff09;定义 SpringMVC是一种基于Java实现MVC模型的轻量级Web框架。
#xff08;2#xff09;为什…
文章目录SpringMVC1.概念2.常用注解请求与响应1.请求参数2.JSON传输3.常用注解响应1.响应页面2.响应JSON数据Rest风格1.介绍2.常用注解SpringMVC
1.概念
1定义 SpringMVC是一种基于Java实现MVC模型的轻量级Web框架。
2为什么要引入SpringMVC
回顾之前Web开发流程——MVC三层架构
controller负责请求和数据的接收接收后将其转发给service进行业务处理service根据需要会调用dao对数据进行增删改查比如组合数据访问层中基本功能完成复杂的业务逻辑功能如注册功能dao负责对数据库的CRUD基本操作把数据处理完后将结果交给serviceservice再交给controllercontroller根据需求组装成Model和ViewModel和View组合起来生成页面转发给前端浏览器 上面的是同步调用但是随着互联网发展性能逐渐跟不上需求于是就有了下面的异步调用 因为是异步调用所以后端不需要返回view视图将其去除
前端如果通过异步调用的方式进行交互后台就需要将返回的数据转换成json格式进行返回
3SpringMVC主要作用
controller如何接收请求和数据如何将请求和数据转发给业务层如何将响应数据转换成json发回到前端
相比 Servlet, SpringMVC 使用更简单开发更便捷
2.常用注解
名称类型位置作用Controller类注解SpringMVC控制器类定义上方设定SpringMVC的核心控制器beanRequestMapping类注解或方法注解SpringMVC控制器类或方法定义上方设置当前控制器方法请求访问路径ResponseBody类注解或方法注解SpringMVC控制器类或方法定义上方设置当前控制器方法响应内容为当前返回值无需解析
请求与响应
1.请求参数
前端发送请求参数后端该如何接收和返回
通常这些有GET请求方式POST请求方式等
GET请求如 http://localhost/commonParam?nameitcastage15 Contorller接收如
Controller
public class UserController {RequestMapping(/commonParam)ResponseBodypublic String commonParam(String name,int age){System.out.println(普通参数传递 name name);System.out.println(普通参数传递 age age);return {module:commonParam};}
}POST请求一般是表单类型
普通参数 url地址传参地址参数名与形参变量名相同定义形参即可接收参数。如果形参与地址参数名不一致该如何解决?
如 此时需要采用形参
public String commonParamDifferentName(RequestParam(name) String userName , int age){2.JSON传输
目前前后台常用异步方式进行交换传输的数据使用的是JSON那么前端该如何传输后端该如何接收
JSON数据一般有三种
json普通数组[“value1”,“value2”,“value3”,…]json对象{key1:value1,key2:value2,…}json对象数组[{key1:value1,…},{key2:value2,…}]
EnableWebMvc——开启json数据类型自动转换
3.常用注解
名称类型位置作用RequestParam形参注解SpringMVC控制器方法形参定义前面将请求中请求体所包含的数据传递给请求参数此注解一个处理器方法只能使用一次RequestBody形参注解SpringMVC控制器方法形参定义前面绑定请求参数与处理器方法形参间的关系主要接收JSONEnableWebMvc配置类注解SpringMVC配置类定义上方开启SpringMVC多项辅助功能包含了将JSON转换成对象的功能
响应
1.响应页面
设置返回页面
2.响应JSON数据
常用注解
名称类型位置作用ResponseBody方法\类注解SpringMVC控制器方法定义上方和控制类上设置当前控制器返回值作为响应体,写在类上该类的所有方法都有该注解功能
当方法上有ReponseBody注解后
方法的返回值为字符串会将其作为文本内容直接响应给前端方法的返回值为对象会将对象转换成JSON响应给前端
Rest风格
1.介绍
1简介
RESTRepresentational State Transfer表现形式状态转换它是一种软件架构风格
2为什么要引入Rest风格
当表示一个网络资源时传统风格资源描述形式
http://localhost/user/getById?id1 查询id为1的用户信息http://localhost/user/saveUser 保存用户信息
而REST风格描述形式
http://localhost/user/1http://localhost/user
优点隐藏资源的访问行为无法通过地址得知对资源是何种操作书写简化
3如何区分某请求是什么操作?
一个相同的url地址即可以是新增也可以是修改或者查询所以该怎么区分
按照REST风格访问资源时使用行为动作区分对资源进行了何种操作
资源描述作用行为动作http://localhost/users查询全部用户信息GET查询http://localhost/users/1查询指定用户信息GET查询http://localhost/users添加用户信息POST新增/保存http://localhost/users修改用户信息PUT修改/更新http://localhost/users/1删除用户信息DELETE删除
总结一下常见的请求方式GET, POST, PUT, DELETE。
2.常用注解
名称类型位置作用PathVariable形参注解SpringMVC控制器方法形参定义前面绑定路径参数与处理器方法形参间的关系要求路径参数名与形参名一一对应RestController类注解基于SpringMVC的RESTful开发控制器类定义上方设置当前控制器类为RESTful风格等同于Controller与ResponseBody两个注解组合功能GetMapping PostMapping PutMapping DeleteMapping方法注解基于SpringMVC的RESTful开发控制器方法定义上方设置当前控制器方法请求访问路径与请求动作每种对应一个请求动作例如GetMapping对应GET请求
三种形参注解RequestBody、RequestParam、PathVariable 的区别和应用分别是什么? 区别 RequestParam用于接收url地址传参或表单传参RequestBody用于接收json数据PathVariable用于接收路径参数使用{参数名称}描述路径参数 应用 发送请求参数超过1个时以json格式为主RequestBody应用较广如果发送非json格式数据选用RequestParam接收请求参数采用RESTful进行开发当参数数量较少时例如1个可以采用PathVariable接收请求路径变量通常用于传递id值