一、SpringMVC框架
二、入门程序
三、SpringMVC与Mybatis整合
四、SpringMVC注解开发
五、SpringMVC与structs2的区别
post17
SpringMVC框架
什么是SpringMVC
springmvc是spring框架的一个模块,springmvc和spring无需通过中间整合层进行整合。
springmvc是一个基于mvc的web框架。

MVC在b/s系统下的应用
MVC就是一个设计模式

SpringMVC框架

第一步:发起请求到前端控制器(DispatcherServlet)
第二步:前端控制器请求HandlerMapping查找 Handler
可以根据xml配置、注解进行查找
第三步:处理器映射器HandlerMapping向前端控制器返回Handler
第四步:前端控制器调用处理器适配器去执行Handler
第五步:处理器适配器去执行Handler
第六步:Handler执行完成给适配器返回ModelAndView
第七步:处理器适配器向前端控制器返回ModelAndView
ModelAndView是springmvc框架的一个底层对象,包括 Model和view
第八步:前端控制器请求视图解析器去进行视图解析
根据逻辑视图名解析成真正的视图(jsp)
第九步:视图解析器向前端控制器返回View
第十步:前端控制器进行视图渲染
视图渲染将模型数据(在ModelAndView对象中)填充到request域
第十一步:前端控制器向用户响应结果
组件:
前端控制器DispatcherServlet(不需要程序员开发)
作用接收请求,响应结果,相当于转发器,中央处理器。
有了DispatcherServlet减少了其它组件之间的耦合度。处理器映射器HandlerMapping(不需要程序员开发)
作用:根据请求的url查找Handler处理器适配器HandlerAdapter
作用:按照特定规则(HandlerAdapter要求的规则)去执行Handler处理器Handler(需要程序员开发)
注意:编写Handler时按照HandlerAdapter的要求去做,这样适配器才可以去正确执行Handler视图解析器View resolver(不需要程序员开发)
作用:进行视图解析,根据逻辑视图名解析成真正的视图(view)视图View(需要程序员开发jsp)
View是一个接口,实现类支持不同的View类型(jsp、freemarker、pdf…)
入门程序
准备
需求:SpringMVC和Mybatis的商品订单案例模型
开发环境:Java 1.7
ide:idea
数据库环境:四个表,items、orderdetail、orders、user
spingmvc版本:3.2
需求将spring3.2所有jar一起加进去
配置前端控制器
在web.xml中配置
1 | <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>springmvcfirst1208</display-name> |
配置处理器适配器
在classpath下的springmvc.xml中配置处理器适配器
1 | <!-- 处理器适配器 所有处理器适配器都实现 HandlerAdapter接口 --> |
通过查看原代码:1
2
3public boolean supports(Object handler) {
return handler instanceof Controller;
}
此适配器能执行实现 Controller接口的Handler。
1 | public interface Controller { |