SpringMVC基础知识

SpringMVC

底层是servlet

特点

  • 轻量级
  • 基于spring

MVC

  • Model:数据模型层,连接数据库,控制数据持久化
  • View:视图层,用于前端展示
  • Controller:控制层,用于接收请求调用后端服务进行业务处理

DispatchServlet

适配器模式

用于进行调度,处理请求分发,将不同的请求分发到不同的servlet。

spring-mvc配置文件

正式环境中使用注解只需配置视图解析器,开启drivern即可

  • 配置处理器映射器

    ​ 常用:BeanNameUrlHandlermapping

    ​ 根据请求url找到处理该请求的controller

  • 配置处理器适配器

    ​ SimpleControllerHandlerAdapter

    ​ 到对应的controller执行业务逻辑

  • 配置视图解析器

    ​ 处理返回的ModleAndView进行页面跳转

一次请求的处理

  1. 前端访问url,提交请求到后台
  2. dispatchServlet拦截请求进行处理,交给HandlerMapping将url与controller进行匹配
  3. 将请求交给HandlerAdapter到对应的controller进行处理。
  4. 将处理结果ModelAndView交给视图解析器进行解析
  5. 将发挥结果返回到前端

注解

  • @controller

    作用和实现controller接口相同,定义一个控制器方法返回是String,都会被视图解析器解析

  • @ResponseBody

    用于向前端传递字符串数据,在方法前添加该注解,返回值不经过视图解析器解析。

  • @RestConntroller

    相当于@Controller和@ResponseBody注解的结合,可以省略@ResponseBody

  • @RequestMapping

    设置真实的访问地址,将url和对应的controller方法对应,可以设置url和请求方法【post,get,delete】

    GetMapping :请求方式为get

    PostMapping :请求方式为post

    PutMapping :请求方式为put

    PatchMapping:请求方式为patch

  • @PahtVariable

    路径变量,用于前端将数据通过url传递到controller

  • @RequestParam

    匹配前端传过来的参数名

拦截器

AOP思想的实现

拦截器和过滤器的区别

img

截器指挥拦截访问controller的请求,过滤器会拦截所有请求

拦截器自带静态资源过滤,效率更高

拦截器触发时机是请求controller方法之前,过滤器触发时机是在请求进入servlet之前

拦截器可以使用spring中的任何资源

使用

实现HandlerInterceptor三个方法

  • preHandle:处理前
  • postHandle:处理后
  • afterHadle:清理后

RESTFUL

一种涉及风格

URL和URI

URI包括URL和URN

所有的URL都是URI

使用restful api的好处

只需要注意资源在互联网中的位置

使用http method方法进行规范,简单易懂

使用http method方法方便进行权限控制处理

使用URI【统一资源定位符】确定资源(不含资源类型后缀)

常用的http动词

GET:取出资源(一个或多个)

POST:新建一个资源

PUT:更新资源(客户端提供完整资源属性)

PATCH:更新资源(客户端提供部分资源属性)

DELETE:删除资源

不常用的http动词

HEAD:获取资源元数据

OPTIONS:获取信息

示例

http://localhost:8080/test/add?a=1&b=2
http://localhost:8080/test/add/1/2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值