本文主要是介绍秋招突击——第三弹——Java的SSN框架快速入门——SpringMVC,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 说明
- SpringMVC简介
- 入门案例
- 入门案例的工作流程
- 配置环境的问题
- 步骤总结
- 注释学习
- 开发模式
- Severlet容器类配置
- 入门案例工作流程分析
- Bean加载控制
- Postman工具请求
- 请求和响应
- 请求映射路径
- 请求参数
- 普通参数
- 设置过滤器,对输入进行处理
- Json数据传递参数
- 注释学习
- 日期型参数传递
- 响应数据
- 响应的不同内容
- REST风格(重要)
- 风格简介
- 入门案例
- 注解学习
- 总结
- 快速开发
- 案例:SSM整合
- 表现层和前端数据数据传输协议实现
- SSM整合——异常处理
- 统一集中异常
- 统一抛出异常
- SSM整合——前后台协议联调
- 列表功能
- 添加功能
- 修改功能
- 删除功能
- 汇总
- 拦截器
- 拦截器的概念
- 入门案例
- 拦截器的参数
- 拦截器链配置
- 总结
说明
- 不能看过就跳过,截图可以,但是如果提到了不会的概念,要回去翻一下,然后,把翻到的东西,在粘贴到当前的目录下方,住打一个快捷。
SpringMVC简介
- web开发技术,和serverlet相类似
- 基于Java实现的MVC模型的轻量级web框架

学习目标


- 数据层
- MyBatis
- 表现层
- SpringMVC
入门案例
-
下述实在pom中定义坐标

-
然后是spring技术,就需要创建对应的bean,需要使用注解进行说明
-
什么是bean

- 这里是使用注解进行开发的,web应用是标注在表现层的,所以需要使用Controller体现

-
相关说明
- RequestMapping说明访问路径
- 函数是执行对应路径的时候,执行的函数

-
SpringMVC的配置类,具体有两个操作,分别如下
- 指明是Spring的配置类,所以要增加@Configuration说明
- 指明Bean的搜索路径,所以要增加@ComponentScan


- Spring的环境启动了,需要要求Tomcat加载Spring启动的东西
- 告诉Tomcat容器,加载Spring的配置
- 配置拦截所有请求,说明那些请求交给SpringMVC处理
入门案例的工作流程
-
导入坐标

-
创建对应的controller对象

-
创建对应的配置类,加载对应的bean,并加载扫描空间

- 创建对应的tomcat的配置类,说明容器的对象
- 定义一个servlet容器启动的配置类,在里面加载spring的配置

配置环境的问题
- 这里出现了配置环境的问题,原来下载的是java10,jdk22,然后对应的tomcat是10.0,跑不起来,这里换成java 8,然后jdk1.8,重新下载新的tomcat就行了。
- 最终的运行结果如下

步骤总结




注释学习


开发模式

Severlet容器类配置


入门案例工作流程分析
- 本质是将springmvc的配置,加载到tomcat的容器中,然后由tomcat统一进行处理。

- 所有的请求都是由Springmvc完成的。

Bean加载控制

- 要求是springmvc加载controller中的bean,然后要求spring加载业务层的bean,互不干扰。
具体解决办法

精确配置,适配所有数据库技术
- 这一种主要使用
@ComponentScan({"com.itheima.service","com.itheima.dao"})
尽量扩大范围,但是排除部分内容
- 过滤掉使用controller注解的bean
@ComponentScan(value="com.itheima",excludeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION,classes = Controller.class)
)
将spring和springmvc两个配置都加载到tomcat中

- 或者使用如下的方式,简化开发

Postman工具请求


请求和响应
请求映射路径


请求参数
后台不区分post请求和get请求
正常就是名称对名称,如果对不上,就是用@RequestParam
普通参数

- 如果get请求中的参数和形参的名称不一样,就要使用RequestParam进行标记,保证请求中的变量名赋值给形参

- 如果传入对象,只需要和对象的成员数据类型相同,会自动构成对应的成员





设置过滤器,对输入进行处理
- 过滤器是在配置文件中设置的

Json数据传递参数
-
在pom中添加坐标

-
设置发送json的请求

-
在config中增加对应的EnableWebMvc注释

@EnableWebMvc // 开启有json数据转换为对象的功能
- 接受数据的追求

- json对象的格式

- json集合对象的格式

注释学习
- RequestBody学习

日期型参数传递
-
自己定义格式,使用注释@DateTimeFormat

-
使用convert接口实现

响应数据
- 响应页面
- 响应数据
- 文本数据
- json数据
响应的不同内容
- 什么都不加,默认是返回页面
- 加上responseBody是返回对应文本信息



使用HTTPMessageConverter二接口实现
- 将jackson数据进行转换

REST风格(重要)
风格简介



入门案例
- 设置http请求动作

- 设置形参

注解学习

总结

快速开发



案例:SSM整合
表现层和前端数据数据传输协议实现


- 通过controller返回的数据

SSM整合——异常处理
统一集中异常
- 在运行会出现异常

-
常见的异常类型

-
异常处理方式——所有异常抛出到表现层进行处理,使用切面思想AOP进行处理
- 这里使用spring已经统一实现的异常处理模块统一处理

- 对应的注解


统一抛出异常
- 常见的异常种类

- 每一类的具体处理方式

编码实现
- 分类定义对应的异常处理类型

- 定义异常码

- 触发自定义异常

- 拦截并处理异常

- 异常情况对比

SSM整合——前后台协议联调
列表功能
- 首先这里回顾一下,要增加网页返回功能,让部分网络请求过渡到对应路径中,通过springmvcsupprt进行过滤

- 并在对应配置类中增加组件扫描配置

books页面分析
- 下述是列表页的相关分析,create创建页面是调用的函数,调用getall函数,然后在发送get请求,然后将结果使用datalist进行显示

添加功能
- 这里是根据添加的结果判是否返回成功,并给出对应的操作界面变化,这里需要改变一下对应save,update结构

- 前端处理具体操作
- 这里要求弹出小窗时,就把数据删除,保证数据清空

- 在下述操作中,根据后台返回的操作,前台给出对应界面操作

修改功能
- 先弹出编辑窗口,然后在添加数据
- 点击编辑按钮时,查询数据,发送ajax请求
- 这里是核心,传入请求参数,并将结果进行返回
- 编辑后添加数据,并进行保存
- 点击编辑按钮时,查询数据,发送ajax请求

删除功能
- 具体操作流程
- 弹出提示框
- 做删除业务
- 取消删除操作

汇总

拦截器
拦截器的概念

- 作用
- 在指定操作的前后执行预先设定的代码
- 阻止原始方法的执行

- 注意拦截器和过滤器的区别,拦截器是在springmvc框架下的,但是过滤器是在springmvc之前的,是在serverlet之前的。
入门案例
编程流程
- 制作拦截器的功能类
- 配置拦截器的执行位置
拦截器是给表现层是个用的,需要定义在controller中使用
在controller中声明一个拦截器类,声明为组件
- 实现handlerinterceptor方法

在config中配置拦截器对应配置类,自动装配组件,并指定使用方法



简化开发的方式

执行流程

拦截器的参数
- 主要是request应用的比较多


拦截器链配置

- 用的少

总结
这里过得比较快,最多在学一周,这个就得过一遍,然后再根据项目具体的开始封装。
这篇关于秋招突击——第三弹——Java的SSN框架快速入门——SpringMVC的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!