欢迎光临散文网 会员登陆 & 注册

后端 | SSM框架 | SpringMVC

2023-08-13 18:17 作者:朵宝特工007  | 我要投稿

笔记来源:黑马程序员SSM框架教程_Spring+SpringMVC+Maven高级+SpringBoot+MyBatisPlus企业实用开发技术

一、SpringMVC概述

SpringMVC技术与Servlet技术功能等同,均属于web层开发技术

SpringMVC是一种基于Java实现MVC模型的轻量级Web框架

优点:

  • 使用简单,开发便捷(相对于Servlet)。

  • 灵活性强。

入门注解:

  • @Controller:类注解,SpringMVC控制类定义上方,设定SpringMVC的核心容器bean。

  • @RequestMapping:方法注解,SpringMVC控制器方法定义上方,设置当前控制器方法请求的访问路径。

  • @ResponseBody:方法注解,SpringMVC控制器方法定义上方,设置当前控制器方法响应内容为当前返回值,无需解析。

  • @RequestParam:形参注解,SpringMVC控制器方法形参定义前面,用于接收url地址或表单传参。

  • @PathVariable:形参注解,SpringMVC控制器方法形参定义前面,绑定路径参数与处理器方法形参间的关系,要求路径参数与形参名一一对应。

  • @RestController:类注解,基于SpringMVC的RESTful开发控制器类定义上方,设置当前控制器类为RESTful风格,等同于@Controller与@ResponseBody两个注解组合功能。

  • @PostMapping、@DeleteMapping、@PutMapping、@GetMapping:方法注解,基于SpringMVC的RESTful开发控制器方法定义上方,设置当前控制器方法请求访问路径与请求动作,每种对应一个请求动作,例如@GetMapping对应GET请求。


二、REST风格

1、REST简介

  • REST(Representational State Transfer),表现形式状态转换

    • 传统风格资源描述形式:

  • REST风格资源描述形式:

  • 优点:

    • 隐藏资源的访问行为,无法通过地址得知对资源是何种操作。

    • 书写简化。

  • 按照REST风格访问资源时使用行为动作(GET、DELETE、PUT、POST)区分对资源进行了何种操作。

  • 根据REST风格对资源进行访问称为RESTful


三、SSM整合

1、异常处理器

  • 集中的、统一的处理项目中出现的异常。

  • @RestControllerAdvice

    • 类注解,Rest风格开发的控制器增强类定义上方,为Rest风格开发的控制器类做增强。

    • 此注解自带@ResponseBody和@Component注解。

  • @ExceptionHandler

    • 方法注解,专用于异常处理的控制器方法上方,设置指定异常的处理方案,功能等同于控制器方法,出现异常后终止原始控制器执行,并转入当前方法执行。

    • 此类方法可以根据处理的异常不同,制作多个方法分别处理对应的异常。


四、拦截器

1、拦截器简介

  • 拦截器(Interceptor)是一种动态拦截方法调用的机制,在SpringMVC中动态拦截控制器方法的执行。

  • 作用:

    • 在指定的方法调用前后执行预先设定的代码。

    • 阻止原始方法的执行。

2、拦截器与过滤器的区别

  • 归属不同:Filer属于Servlet技术,Interceptor属于SpringMVC技术。

  • 拦截内容不同:Filter对所有访问进行增强,Interceptor仅针对SpringMVC的访问增强。

3、拦截器入门案例

  • 声明拦截器的bean,并实现HandlerInterceptor接口。

  • 定义配置类,继承WebMvcConfigurationSupport,实现addInterceptor方法。

  • 添加拦截器并设定拦截器的访问路径,路径可以通过可变参数设置多个。

4、拦截器链

  • 当配置多个拦截器时,形成拦截器链。

  • 拦截器链的运行顺序参照拦截器添加顺序为准。

    • preHandle:与配置顺序相同,必定运行。

    • postHandle:与配置顺序相反,可能不运行。

    • afterCompletion:与配置顺序相反,可能不运行。

  • 当拦截器中出现对原始处理器的拦截,后面的拦截器均终止运行。

  • 当拦截器运行中断,仅运行配置在前面的拦截器的afterCompletion操作。



后端 | SSM框架 | SpringMVC的评论 (共 条)

分享到微博请遵守国家法律