Springmvc框架介绍
Springmvc是spring框架的一个模块,springmvc和spring不需要通过中间层进行整合,这样使用起来方便许多,springmvc是一个基于mvc的web框架。
工作原理
原理图:
步骤:
1、 request请求
2、 前端控制器dispatceServlet接收请求
3、 查找handler(通过处理器映射器handleMapper)
4、 返回一个执行链(包含handler)
5、 请求处理器适配器执行handler
6、 处理器适配器执行handler
7、 返回处理器适配器moderandview
8、 处理器适配器再返回给前端控制器
9、 前端控制器请求视图解析
10、视图解析器返回view
11、前端控制器将模型数据填充到request域(渲染)后响应。
包含组件:
1、 前端控制器DispactherServlet:
作用是接收请求,响应结果,相当于转发器或者中央处理器
2、 处理器映射器HandlerMapping
作用:根据url查找用户的handler
3、 处理器适配器HandlerAdapter
作用:根据特定的规则执行handler
4、 处理器handler
处理模型数据
5、 视图解析器View resolver
根据逻辑视图名解析成真正的视图
6、 视图view
View是一个接口,实现类支持不同的View类型(jsp、freemarker、pdf…)
重要部分配置
一、非注解开发
1、 按照springmvc的处理流程首先配置web.xml,这里只需要配置两个,一个servlet和servlet的映射。
Servlet采用前端控制器dispatcherservlet。
图中的spring-servlet.xml是我们的springmvc的配置文件。然后配置映射:
2、编写springmvc的配置文件和controller类
处理器适配器配置:
可以看到这个处理器适配器实现了总的处理器适配器的接口。然后里面有个support方法,此方法表示支持的handler需要实现Controller接口的。再看controller接口:
可以看到这个接口里面又有个方法,和我们之前变servlet的方法差不多。
然后按照这个规则编写handler(也就是我们的controller)。
controller方法配置好后再配置处理器映射器:
然后配置我们的handle映射:
最后配置视图解析器:
这样便可以部署运行了。默认是还有其他的处理器适配器的,方法和这个类似,这里就不试了。
二、注解开发
1、同样是编写web.xml文件(同上)
2、编写springmvc的配置文件及编写controller
处理器适配器和处理器映射器:
通过这一句话即可配置。同样我们还需要配置视图解析器:
编写controller:
实现controller的映射:
controller内容同上。最后在xml文件中配置controller类的扫描即可:
<!-- 加载handle -->
<context:component-scan base-package="com"></context:component-scan>
这样便可以完成访问,可以看到不论是注解方式和非注解方式都是按照原理来实现配置的,只是注解更加简便。最后分享一下本文测试所用到的工程。
http://download.csdn.net/download/liuyuanq123/10146992