SpringMVC是一个什么?
SpringMVC是spring的一个模块, 提供了web层的解决方案【基于MVC的设计结构】
图解springMVC的框架流程图【11步】
文字解析springMVC的架构模型:
第一步:用户发送reqeust请求,请求至DispatcherServler前端控制器
第二步:DispatcherServler前端控制器请求HandlerMapping处理器映射器去查找handler
DispatcherServler相当于中央调度器,各个组件和前端控制器进行交互,
降低了组件之间的耦合度
第三歩:handlerMapping处理器映射器,更具url及一些配置规则(xml,注解id/name)去查找handler,找到后将handler返回给控制器
第四步:DispatcherServler前端控制器调度适配器执行Handler,有了适配器通过适配器去扩展,不同的Handler执行的方式【注解/原始的servlet】
第五步:适配器执行Handler Handler是后端的执行器【相当于action】
第六步:Handler执行完成返回ModelAndView
ModelAndView是springMVC的一个对象 对Model和view的封装
第七步:适配器将ModelAndView返回给DispatcherServler
第八步:DispatcherServler调用视图解析器,进行视图的解析,解析完后生成view
视图解析器会更具逻辑视图名真正的解析对应的视图
View:springMVC的视图封装的对象,提供了许多view【jsp/freemarke,pdf,excel】
第九步:viewResolver视图解析器给前端控制器返回view
第十步:DispatcherServler调用view的渲染视图的方法,将数据模型填充到reqeust域
第十一步:DispatcherServler向用户响应结果【jsp页面/json数据……..】
总结哪些是springMVC自己有的/哪些需要程序员编写的
DispatcherServler 前端控制器 由springMVC提供
HandlerMapping 处理器映射器 由springMVC提供
HandlerAdapter 处理器适配器 由springMVC提供
Handler 处理器 需要程序员开发
HandlerResolver 视图解析器 由springMVC提供
View 真正的视图页需要程序员编写
入门程序
需求:实现商品的列表展示【静态数据】
1.导入jar包
2.配置前端控制器
<!-- 前端控制器 --> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- 加载springmvc配置 --> <init-param> <param-name>contextConfigLocation</param-name> <!-- 配置文件的地址 如果不配置contextConfigLocation, 默认查找的配置文件名称classpath下springmvc-serlvet.xml--> <param-value>classpath:springmvc.xml</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <!-- 可以配置/ ,此工程 所有请求全部由springmvc解析,需要特殊处理对静态文件的解析不能由springmvc解析 可以配置*.do或*.action,所有请求的url扩展名为.do或.action由springmvc解析,此种方法常用 不可以/*,如果配置/*,返回jsp也由springmvc解析,这是不对的--> <url-pattern>*.action</url-pattern> </servlet-mapping> |
3.配置 springMVC的配置文件[springmvc.xml]
在springmvc中配置spring的三大组件(处理器映射器 处理器适配器 视图解析器)
1.处理器映射器【所有的映射器都实现 HandlerMapping】
<!-- 处理器映射器 BeanNameUrlHandlerMa |