SpringMVC基础知识整合(一)

本文详细介绍了SpringMVC的基础知识,包括DispatcherServlet前端控制器、处理器映射器如BeanNameUrlHandlerMapping和SimpleUrlHandlerMapping、处理器适配器如SimpleControllerHandlerAdapter和HttpRequestHandlerAdapter的使用。此外,还探讨了注解开发如@Controller和@RequestMapping的运用,以及如何配置处理器和视图解析器。SpringMVC的核心组件和注解映射器、适配器的配置与工作原理是理解其运作的关键。


1.springmvc是什么?
springmvc是spring的一个模块,提供web层解决方案(基于mvc设计架构)
在这里插入图片描述2.mvc在b/s系统的应用
mvc是一个设计模式,在b/s系统的应用:
在这里插入图片描述3.SpringMVC框架
在这里插入图片描述DispatcherServlet:前端控制器,由springmvc提供

HandlerMappting:处理器映射器,由springmvc提供

HandlerAdapter:处理器适配器,由springmvc提供

Handler:处理器,需要程序员开发

ViewResolver:视图解析器,由springmvc提供

View:真正视图页面需要由程序编写


1.入门程序
需求:实现商品列表查询
需要的jar包:使用spring5.0.2(带springwebmvc模块)
在这里插入图片描述注意:springmvc默认支持jstl
2.前端控制器
在这里插入图片描述3.springmvc.xml
在springmvc.xml中配置springmvc架构三大组件(处理器映射器、适配器、视图解析器)

  1. 处理器映射器
    在springmvc.xml中配置:
    BeanNameUrlHandlerMapping: 根据请求url(XXXX.action)匹配spring容器bean的 name
    找到对应的bean(程序编写的Handler)
<bean
	class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" />

所有处理器映射器都实现HandlerMapping接口。

  1. 处理器适配器
    在springmvc.xml配置:处理器映射器

    所有的适配器都是实现了HandlerAdapter接口。

程序编写Handler根据适配器的要求编写。
SimpleControllerHandlerAdapter适配器要求:
通过supports方法知道Handler必须要实现哪个接口:在这里插入图片描述
3. Handler编写
1.实现Controller接口
在这里插入图片描述 2.注解开发
在这里插入图片描述
4. 配置handler
在springmvc.xml配置Handler由spring管理Handler。
1 单个实现Controller接口的handler配置在这里插入图片描述2.单个注解开发handler的handler配置
在这里插入图片描述5.配置视图解析器
在这里插入图片描述6.其它非注解处理器映射器和适配器
1.BeanNameUrlHandlerMapping(映射器)
根据请求url(XXXX.action)匹配spring容器bean的 name
找到对应的bean(程序编写的Handler)
2.SimpleUrlHandlerMapping(映射器)
在这里插入图片描述注意:在springmvc.xml配置了多个处理器映射器,多个处理器映射器可以共存。
3.SimpleControllerHandlerAdapter(适配器)
要求程序编写的Handler(Controller)需要实现 Controller接口。
4.HttpRequestHandlerAdapter(适配器)
在springmvc.xml配置:HttpRequestHandlerAdapter
要求Handler 实现 HttpRequestHandler接口

事例:开发Handler
在这里插入图片描述7.DispatcherServlet.properoties
DispatcherServlet前端控制器加载 DispatcherServlet.properoties 配置文件,从而默认加载各各组件,

如果在springmvc.xml中配置了处理器映射器和适配器,以sprintmvc.xml中配置的为准

注解映射器和适配器

(重点掌握)
注解映射器
spring3.1之前默认加载映射器是
org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping,3.1之后要使用:
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping

在springmvc.xml中配置RequestMappingHandlerMapping:

使用RequestMappingHandlerMapping需要在Handler 中使用@controller标识此类是一个控制器,使用@requestMapping指定Handler方法所对应的url。
注解适配器
spring3.1之前默认加载映射器是
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter,3.1之后要使用:
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter

RequestMappingHandlerAdapter,不要求Handler实现任何接口,它需要和RequestMappingHandlerMapping注解映射器配对使用,主要解析Handler方法中的形参。
注解开发Hanlder
在这里插入图片描述配置handler
在这里插入图片描述

小结
DispatcherServlet:前端控制器,相当于中央调度器,可以降低组件之间的耦合度。

HandlerMapping:处理器映射器,负责根据url查找Handler

HandlerAdapter:处理器适配器,负责根据适配器要求的规则去执行处理器。可以通过扩展适配器支持不同类型的Handler。

viewResolver:视图解析器,根据逻辑视图名解析成真正的视图
在这里插入图片描述真正视图地址==前缀+逻辑视图名+后缀

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值