常用功能
- Controller为中心完成对系统流程的控制管理
- 从请求中搜集数据
- 对传入的参数进行验证
- 将结果返回给视图
- 针对不同的视图提供不同的解决方案
- 针对jsp视图技术提供标签库
- 拦截器
- 上传文件
1、Controller为中心完成对系统流程的控制管理
系统流程控制:指的是WEB端发送请求到服务器端,服务器端接收并解析请求,将不同的请求转发给对应的处理类,处理类经过查询数据库等操作,获得结果集,处理类将结果集返回给响应程序。响应程序将结果集传递给WEB端的流程。简单的说也就是M、V、C各层次间的传递流程。
SpringMVC 中的controller就是负责对这样的流程进行控制的。
2、从请求中搜集数据
普通情况下我们都通过request.getParamerter()方法来收集数据,(Struts2中通过模型驱动来收集)
SpringMVC收集数据的方式?
3、对传入的参数进行验证
这里的验证指的是服务器端的验证。开发过程中客户端写js的校验,服务端写Ajax的校验。
4、将结果返回给视图
也就是将Service层的数据返回给WEB端的过程。
5、针对不同的视图提供不同的解决方案
即对JSP视图、PDF、Excel、FreeMaker等视图提供不同的处理
6、针对jsp视图技术提供标签库
针对JSP视图提供标签库可以极大的减轻开发者的学习难度。JSTL、EL都是熟知的技术。
7、拦截器
即对不同的请求进行相应的拦截
8、上传文件
-
核心组件
- DispatcherServlet
- Controller
- handlerMapping
- ModelAndView
- ViewResolver
- Interceptors
DispatcherServlet
把请求拦截下来,然后转发的具体的Controller。
Controller
相当与Struts2中的Action,做具体的请求处理。
handlerMapping
负责维护不同的request与不同的controller之间的映射关系。
ModelAndView
把返回数据和要展示的视图封装成对象,方便直接使用。
ViewResolver
试图解析器,负责对ModelAndView进行解析,将数据解析成JSP等视图进行展示。
Interceptors
拦截器,主要应用在权限的控制上。
以上组件中 Controller、ModelAndView、Interceptors需要自行创建。