文章目录
- 【技术详解】SpringMVC框架全面解析:从入门到精通(SpringMVC)
-
- SpringMVC概述
- 1. 三层架构与MVC架构区别
-
- 1.1 三层架构
- 1.2 MVC架构
- 1.3前后端分离开发模式
- 2. SpringMVC环境搭建
-
- 2.1 注解启动方式
- 2.2 xml启动方式
- 2.3 SpringMVC PostMan工具使用
- 3. SpringMVC 请求与响应
-
- 3.1 springmvc 5种接受参数类型
- 3.2 springmvc接受json数据
- 3.3 springmvc响应json数据
- 3.4使用HttpServletRequest 获取参数
- 3.5 springmvc restful简单介绍
- 3.6 springmvc 整合jsp技术(过时 了解该技术)
- 4. spring+springmvc+mybatis整合
-
- 4.1SSM环境的整合之提供增删改查
- 4.2 SSM环境的整合之配置整合
- 4.3 接口响应状态码
- 4.4 整合全局捕获异常
【技术详解】SpringMVC框架全面解析:从入门到精通(SpringMVC)
SpringMVC概述
- SpringMVC 是一种基于 Java 实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架,它和 Struts2 都属于表现层的框架,属于 Spring FrameWork 的后续产品,Spring MVC 分离了控制器、模型对象、过滤器以及处理程序对象的角色,这种分离让它们更容易进行定制。
- SpringMVC 已经成为目前最主流的 MVC 框架之一,并且随着 Spring3.0 的发布,全面超越 Struts2,成 为最优秀的 MVC 框架,它通过一套注解,让一个简单的 Java 类成为处理请求的控制器,而无须实现任何接口。同时它还支持 RESTful 编程风格的请求。
简单总结:SpringMVC是一种基于Java实现MVC模型轻量级框架, 底层基于Servlet封装
1. 三层架构与MVC架构区别
1.1 三层架构
表示层:主要对用户的请求接受,以及数据的返回,为客户端提供应用程序的访问。 servlet层
业务逻辑层:对我们数据实现业务逻辑的封装 service层
数据访问层:对数据库访问操作 dao层
----表示层
----业务逻辑层
----数据库访问层
1.2 MVC架构
- M 代表 模型(Model)(业务逻辑层+数据库访问组合)
模型就是数据,就是 dao,bean
模型是应用程序中用于处理应用程序数据逻辑的部分。
通常模型对象负责在数据库中存取数据。 - V 代表 视图(View)(前端)
视图就是网页, JSP,用来展示模型中的数据
视图是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的。 - C 代表 控制器(controller)
控制器的作用就是把不同的数据(Model),显示在不同的视图(View)上,Servlet 扮演的就是这样的角色。
控制器是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
- 三层是基于业务逻辑来分的,而MVC是基于页面来分的
- 三层是软件架构,通过接口实现编程;MVC模式是一种复合设计模式,一种解决方案
- 三层模式是体系结构模式,MVC是设计模式
- 三层模式又可归于部署模式,MVC可归于表示模式
1.3前后端分离开发模式
体现 让专业的人做专业的事情,前端代码由前端来完成,后端代码由我们后端来完成,后端程序只需要将接口数据提供给前端调用即可。
前端:vue、饿了么UI、网页数据 例如 html、js、css
后端:接口中数据 springmvc+mybatis
将前端和后端代码分开的
View视图层—jsp、ftl、js、css
----控制层springmvc 底层基于servlet封装 控制页面跳转、控制页面展示数据
----返回json 给前端
----业务逻辑层
----数据库访问层
2. SpringMVC环境搭建
2.1 注解启动方式
创建maven工程
Maven依赖
创建控制器层
创建配置类
注册配置类
maven tomcat插件运行
之后运行要是没有反应 先点击
之后再运行项目
在添加 servlet 依赖
看到这样就是运行成功了
搭建环境常见问题
2.2 xml启动方式
Maven依赖
创建控制器层
spring-mvc.xml 配置
这是配置 spring-mvc.xml 的模板可以直接粘贴
注意粘贴时将这一段代码替换掉
web.xml配置
所有请求过来都是先达到我们的DispatcherServlet
springmvc 基于 Servlet封装
这是配置 web.xml 的模板可以直接粘贴
注意粘贴时将这一段代码替换掉
外部tomcat运行
需要将这些jar包存入 tomcat的lib目录 否则将会报错找不到类该类
2.3 SpringMVC PostMan工具使用
PostMan简介
一 简介 Postman 是一款功能超级强大的用于发送 HTTP 请求的 Chrome插件 。做web页面开发和测试的人员会使用到该工具其主要特点 特点: 创建 + 测试:创建和发送任何的HTTP请求,使用PostMan发送 Get、Post、Delete请求等。
3. SpringMVC 请求与响应
注解是一个用来处理请求地址映射的注解,可用于映射一个请求或一个方法,可以用在类或方法上。
如果加载方法上就是具体访问路径 如果加载类上就是我们访问的前缀
springmvc 定义url路径是不允许重复
报错原因是因为 /add 这个url 路径在UserController类和 orderController类中都有
接受Get/Post请求参数
和Controller层方法的形参同名,那么可以直接通过参数名接收值即可
3.1 springmvc 5种接受参数类型
普通参数、对象参数、嵌套对象参数、数组参数、集合普通参数
1. 普通参数
- url地址传参,地址参数名与形参变量名相同,定义形参即可接收参数;
- 如果发生url地址传参,地址参数名与形参变量名不同,使用@RequestParam绑定参数关系;
参数:
:是否为必传参数
:参数默认值
报错原因:未传递 name 值
2.对象参数
请求参数名与形参对象属性名相同,定义对象类型形参即可接收参数
3.嵌套对象参数
嵌套对象参数:请求参数名与形参对象属性名相同,按照对象层次结构关系即可接收嵌套对象属性参数
报错原因:没有传递嵌套对象的值
4.数组参数
请求参数名与形参属性名相同且请求参数为多个,定义数组类型形参即可接收参数
5.集合保存普通参数
请求参数名与形参集合对象名相同且请求参数为多个,绑定参数关系
:同名请求参数可以使用注解映射到对应名称的集合对象中作为数据
报错原因:没在 前面加上
3.2 springmvc接受json数据
开启接受json数据
maven依赖
1.以实体类方式接收
实体类
2.以Map接收
数据 是为 的 的
需要注意数据与集合类型保持一致否则报错
3.以List接收
3.3 springmvc响应json数据
- 在接口上加上 根据该方法返回值 返回对应json数据 底层 根据返回值 序列化成数据。
- 标记该控制类所有接口都是返回json数据
3.4使用HttpServletRequest 获取参数
底层基于
获取三种方式
3.5 springmvc restful简单介绍
什么是restful
Restful就是一个资源定位及资源操作的风格。不是标准也不是协议,只是一种风格规范。基于这个风格设计的软件可以更简洁,更有层次。
资源操作:使用POST、DELETE、PUT、GET,使用不同方法对资源进行操作。
传统方式操作资源:通过不同的参数来实现不同的效果,post 和 get。
查询,GET 用户id是为1信息
新增,POST
更新,POST
删除,GET
(查询、删除)get 写操作(新增、修改)Post
使用RESTful操作资源 :可以通过不同的请求方式来实现不同的效果
例如:请求地址一样,但是实现的效果不一样 例如
发送请求get 执行查询、 发送POST 执行新增、发送PUT执行更新、发送DELETE执行删除
查询,GET
新增数据,POST
更新,PUT
删除,DELETE
根据发送不同的类型 判断 访问不同的接口
restful案例演示
在的中使用({变量名}),然后在注解方法的需要绑定的参数前,使用指定变量名(如果变量名和参数名一致也可以不指定),从而将中的值绑定到参数上。
组合注解
3.6 springmvc 整合jsp技术(过时 了解该技术)
核心配置
webapp 目录下创建 WEB-INF/jsp 存放jsp
定义控制器
定义jsp页面
4. spring+springmvc+mybatis整合
项目技术需求分析
使用ssm+layui技术开发 对用户表数java基础项目mvc据实现增删改查
采用前后端分离架构模式
4.1SSM环境的整合之提供增删改查
整合数据库表结构
整合maven依赖
实体类层
数据库访问层
业务逻辑层
控制层
4.2 SSM环境的整合之配置整合
JdbcConfig
MybatisConfig
SpringConfig
SpringMVCConfig
ServletConfig
4.3 接口响应状态码
查询到数据
前端 ajax技术
Api Code状态码
服务器收到请求,需要请求者继续执行操作
操作被成功接收并处理
重定向,需要进一步的操作以完成请求
客户端错误,请求包含语法错误或无法完成请求
服务器错误,服务器在处理请求的过程中发生了错误
如何封装接口响应状态码
4.4 整合全局捕获异常
当系统发生错误时,统一将系统错误日志 返回输出
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/h6javajc/19678.html