没有合适的资源?快使用搜索试试~ 我知道了~
SSM-SpringMVC
需积分: 0 0 下载量 44 浏览量
2023-03-11
14:26:00
上传
评论
收藏 379KB PDF 举报
温馨提示
试读
14页
SSM-SpringMVC
资源推荐
资源详情
资源评论
内容:
理解SpringMVC相关概念
完成SpringMVC的入门案例
学会使用PostMan工具发送请求和数据
掌握SpringMVC如何接收请求、数据和响应结果
掌握RESTful风格及其使用
完成基于RESTful的案例编写
SpringMVC 隶属于 Spring 框架的一部分,主要用来进行 Web 开发,是对 Servlet 进行了封装。
1、SpringMVC 概述
SpringMVC 是一种基于 Java 实现 MVC 模型的轻量级 Web 框架
优点:
使用简单、开发便捷
灵活性强
2、SpringMVC 入门案例
springmvc 是一个 web 框架,用来替换 servlet
原始 web 工程的创建:
导入插件和坐标(tomcat、javax.servlet-api)
定义处理请求的功能类(UserServlet)
设置请求映射(请求路径)
springmvc 的制作过程和上述流程几乎一致:
导入插件和坐标(tomcat、javax.servlet-api、spring-webmvc)
定义处理请求的功能类(UserController)
设置请求映射(请求路径)
将 springmvc 设定加载到 tomcat 容器中
2.1 入门案例步骤
创建 maven web 项目、补全目录结构
导入插件和坐标(tomcat、javax.servlet-api、spring-webmvc)
javax.servlet-api 坐标为什么要添加作用范围?
坐标的默认作用范围是 compile ,在编译、运行、测试时都有效
provided 表示该包只能作用在编译和测试阶段
如果运行阶段 javax.servlet-api 也有效的话,就会和 tomcat 中的 servlet-api 发生冲
突,导致启动报错
创建 springmvc 配置类(SpringMvcConfig)
1.
2.
a.
i.
ii.
iii.
3.
为了更好的使用SpringMVC,我们将SpringMVC的使用过程总共分两个阶段来分析,分别是 启动
服务 器初始化过程 和 单次请求过程
创建功能类(UserController)
使用配置类替换 web.xml (ServletContainersInitConfig)
注意事项:
springmvc 是基于 spring 的,在pom.xml只导入了 spring-webmvc jar 包的原因是它会自动
依赖 spring 相关坐标
AbstractDispatcherServletInitializer类是SpringMVC提供的快速初始化Web3.0容器的抽象
类
AbstractDispatcherServletInitializer提供了三个接口方法供用户实现
createServletApplicationContext 方法,创建Servlet容器时,加载SpringMVC对应 的
bean并放入WebApplicationContext对象范围中,而WebApplicationContext的作用 范
围为ServletContext范围,即整个web容器范围
getServletMappings 方法,设定 SpringMVC 对应的请求映射路径,即SpringMVC拦截
哪些 请求
createRootApplicationContex t方法,如果创建 Servlet 容器时需要加载非 SpringMVC
对应的bean,使用当前方法进行,使用方式和 createServletApplicationContext 相同。
createServletApplicationContext 用来加载 SpringMVC 环境
createRootApplicationContext 用来加载 Spring 环境
知识点:
@Controller:设定 springmvc 的核心控制器 bean
@RequestMapping:
类注解或方法注解
设置当前类或方法的请求访问路径
@ResponseBody
类注解或方法注解
设置当前类或方法响应的内容为当前返回值,无需解析
2.2 工作流程解析
2.2.1 启动服务器初始化过程
服务器启动。执行 ServletContainersInitConfig 类,初始化 web 容器
执行 createServletApplicationContext 方法,创建了 WebApplicationContext 对象
方法加载 SpringMVC 的配置类 SpringMvcConfig 来初始化 SpringMVC 的容器
加载 SpringMvc 配置类
4.
5.
1.
2.
a.
3.
执行 @ComponentScan 加载对应的 bean
加载 UserController,每个 @RequestMapping 的名称对应一个具体的方法
这就建立了 /save 和 save 方法的对应关系
执行 getServletMappings 方法,设定 SpringMVC 拦截请求的路径规则
2.2.2 单次请求过程
发送请求 http://localhost/save
web容器发现该请求满足 SpringMVC 拦截规则,将请求交给 SpringMVC 处理
解析请求路径 /save
由 /save 匹配并执行对应的方法 save()
检测到有 @ResponseBody 直接将 save() 方法的返回值作为响应体返回给请求方
2.3 Bean 加载控制
入门案例的内容已经做完了,在入门案例中我们创建过一个 SpringMvcConfig 的配置类,再回想
前面 咱们学习 Spring 的时候也创建过一个配置类 SpringConfig 。这两个配置类都需要加载资
源,那么它 们分别都需要加载哪些内容?
springmvc 加载表现层(controller)的 bean
spring 加载数据层(dao)和业务层(service)的 bean
因此可以更改 spring 和 springmvc 的扫描范围:
springmvc:@ComponentScan("com.zmc.controller")
spring 扫描范围设置有三种方式:
方式一:设定精准扫描范围:@ComponentScan({"com.zmc.dao","com.zmc.service"})
真正在做开发的时候,因为Dao最 终是交给 MapperScannerConfigurer 对象来进行
扫描处理的,我们只需要将其扫描到service包即 可
方式二:排除掉表现层的扫描:@ComponentScan(value="com.itheima",
excludeFilters=@ComponentScan.Filter( type = FilterType.ANNOTATION, classes =
Controller.class )
方式三:不区分 spring 和 springmvc 的环境,都加载到同一个环境(了解即可)
ServletContainersInitConfig 配置类可以进行简
化!!!!!!!!!!!!!!!!!!!!!!
3、PostMan 工具的使用
代码编写完后,我们要想测试,只需要打开浏览器直接输入地址发送请求即可。发送的是 GET 请
求可 以直接使用浏览器,但是如果要发送的是 POST 请求呢
如果要求发送的是post请求,我们就得准备页面并且在页面上准备 form 表单,测试起来比较麻
烦。所以我 们就需要借助一些第三方工具,如 PostMan
4.
5.
a.
6.
1.
2.
3.
4.
5.
剩余13页未读,继续阅读
资源评论
MengchongZhang
- 粉丝: 0
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- mybatis动态sql及其JAVA示例
- 微软常用运行库 游戏运行库 VC++各个版本
- 微信小程序开发教程.pptx
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- 锐捷网络认证中心网络管理.pdf
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- SD8233LF是一款用于单按键触摸及接近感应开关,其用途是替代传统的机械型开关芯片IC
- 基于YOLOv5的烟雾火焰检测算法研究
- 基于STM32的联合调试侦听设备解决方案原理图PCB源文件调试工具视频(大赛作品)
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功