SpringMVC

一:MVC

MVC是模型(Model),视图(View),控制器(Controller)的简写
1.Model封装了应用程序数据,一般来说,它们将由POJO组成。
2.View负责渲染模型数据,一般来说,它生成客户端浏览器可以解释的HTML输出。
3.Controller负责处理用户请求和构建合适的模型,并将其传递给视图进行渲染。

二:Spring MVC

Spring MVC框架提供了模型-视图-控制器架构和现成的组件,可用于开发灵活且松散耦合的 Web 应用程序。MVC 模式导致分离应用程序的不同方面(输入逻辑、业务逻辑和 UI 逻辑),同时在这些元素之间提供松散耦合。

三:常用组件

1.DispatcherServlet
Spring Web 模型-视图-控制器 (MVC) 框架是围绕处理所有HTTP请求和响应的DispatcherServlet设计的
2.HandlerMapping
处理器映射器,由框架提供。作用:根据请求的 url、method等信息来查找具体的Handler(一般来讲是Controller)
3.Handler
处理器,这个需由工程师自己开发。作用:在 DispatcherServlet的控制下,Handler对具体的用户请求进行处理
4.HandlerAdapter
处理器适配器,由框架提供。作用:根据映射器找到的处理器Handler信息,按照特定的规则去执行相关的处理器 Handler。
5.ViewResolver
视图解析器,由框架提供。作用:ViewResolver负责将处理结果生成View视图
6.View
视图,工程师自己开发,作用:View接口的职责就是接收model对象、Request对象、Response对象,并渲染输出结果给Response对象。

四:SpringMVC的工作流程

SpringMVC_第1张图片
1.收到 HTTP 请求后,DispatcherServlet 会咨询 HandlerMapping 以调用适当的 Controller。
2.控制器接受请求并根据使用的 GET 或 POST 方法 调用适当的服务方法。服务方法将根据定义的业务逻辑设置模型数据,并将视图名称返回给 DispatcherServlet。
3.DispatcherServlet 将获得 ViewResolver 的帮助来获取请求的定义视图。
4.一旦视图完成,DispatcherServlet 将模型数据传递给视图,最终在浏览器上呈现。

五:Springmvc配置

1.相关包引入
maven在pom.xml中引入
2.web.xml配置
在web.xml里面添加DispatcherServlet的配置
3.spring-mvc.xml配置
4.日志配置

六:Postman工具

1.介绍
postman是一款支持http协议的接口调试与测试工具,其主要特点就是功能强大,使用简单且易用性好
2.功能
(1)基础功能
常见类型的接口请求
接口响应数据的解析
接口管理(Collection)
批量执行接口请求
日志调试
断言
变量
请求前置脚本
接口关联
常见的返回值获取
(2)便捷功能快
速填写查询参数
快速填写请求头信息
快速实现添加一个请求
如何继承集合认证
批量断言
快速查询和替换
(3)高级功能
读取文件进行参数化
生成测试报告
代码中发送请求
编写接口文档
mock服务
监控
使用工作空间
代码同步与分支管理
连接数据库
apis
3.使用
拟发送单个请求的创建的步骤 :
(1)选择请求方式
(2)然后输入请求的URL
(3)然后切换到Body选项,选择Content-Type,选择以后postman会自动 把Content-Type填写的headers(请求头信息)中
(4)在body中填写请求参数(GET例外,GET请求没有请求主体)
(5)点击“Send”按钮模拟发送请求

七:常用注解

1.@Controller
@Controller注解在类上,表明这个类是Spring MVC里的Controller,将其声明为Spring的一个Bean,
Dispatch Servlet会自动扫描注解了此注解的类,并将Web请求映射到注解了@RequestMapping的方
法上。
2.@RequestMapping
@RequestMapping注解是用来映射Web请求(访问路径和参数)、处理类和方法的。它可以注解在类和方法上。注解在方法上的@RequestMapping路径会继承注解在类上的路径,@RequestMapping支持Servlet的request和response作为参数,也支持对它们的媒体类型进行配置。
@RequestMapping标识一个类:设置映射请求的请求路径的初始信息
@RequestMapping标识一个方法:设置映射请求请求路径的具体信息
(1)value属性
@RequestMapping注解的value属性通过请求的请求地址匹配请求映射
@RequestMapping注解的value属性是一个字符串类型的数组,表示该请求映射能够匹配多个请求地址所对应的请求
@RequestMapping注解的value属性必须设置,至少通过请求地址匹配请求映射
(2)method属性
@RequestMapping注解的method属性通过请求的请求方式(get或post)匹配请求映射
@RequestMapping注解的method属性是一RequestMethod类型的数组,表示该请求映射能够匹配多种请求方式的请求 若当前请求的请求地址满足请求映射的value属性,但是请求方式不满足method属性,则浏览器报错405:Request method ‘POST’ not supported
3.@ResponseBody
该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。
4.@RequestBody
@RequestBody允许request的参数在request体中,而不是在直接链接在地址后面。此注解放在参数前。
@RequestBody接收的参数是来自requestBody中,即请求体。
5.@ResController
@RestController是一个组合注解,组合了@Controller和@ResponseBody,意味着当只开发一个和页面交互数据的控制的时候,需要使用此注解。若没有此注解,要想实现上述功能,则需自己在代码中加@Controller和@ResponseBody两个注解
6.@PathVariable
当方法中带有参数时,可以采用@PathVariable将URL中的占位符参数传入到方法参数变量中
7.@RequestParam
@RequestParam用于将请求参数区数据映射到功能处理方法的参数上,它是把请求中的指定名称的参数传递给控制器中的形参赋值
属性:
value/name:请求参数中的名称 (必写参数)
required:请求参数中是否必须提供此参数,默认值是true,true为必须提供
defaultValue:默认值
8.@Resource
@Resource默认按照ByName自动注入,由J2EE提供,需要导入包javax.annotation.Resource。
@Resource有两个重要的属性:name和type,而Spring将@Resource注解的name属性解析为bean的名字,而type属性则解析为bean的类型。
9.@Service
注解属于org.springframework.stereotype包,会将标注类自动注册到 Spring 容器中,在配置文件中需要添加元素来扫描依赖基础包

八:ModelAndView

ModelAndView类用来存储处理完后的结果数据,以及显示该数据的视图,其中Model代表模型,View代表视图。业务处理器调用模型层处理完用户请求后,把结果数据存储在该类的model属性中,把要返回的视图信息存储在该类的view属性中,然后让该ModelAndView返回该Spring MVC框架。框架通过调用配置文件中定义的视图解析器,对该对象进行解析,最后把结果数据显示在指定的view页面

你可能感兴趣的:(SpringMVC)