SpringMVC中各个部件简介
相对于同为MVC的Struts来说,它是一个轻量级的框架,但它能实现的内容有很多,例如:
拦截器 ,所有的请求都通过SpringMVC统一的入口DispatcherServlet,可以用其进行资源和权限的管理
过滤器,Filter可以检查用户请求、日志记录、对非标准编码的请求解码。
页面重定向,@RequestMapping(value = "/modifyInfo")此注解可以在控制器类中的函数前添加,以/modifyInfo结尾的URL链接将由SpringMVC处理并转到这个类。
视图渲染器:ModelAndView,具体使用方法为:return new ModelAndView("userInfo", "usermap",map);可以将名为usermap的变量map在渲染userInfo这个页面时返回给该页面。
总的来说SpringMVC的处理流程大致为用户的请求先传达给DispatcherServlet: 这一前段控制器,前端控制器再通过映射类HandlerMapping,分发给具体的控制器,控制器再建立相应的模型模型再通过DispatcherServlet传递给view。
DispatcherServlet: SpringMVC的前段控制器
前段的数据经过DispatcherServlet的分发,到达合适的控制器,然后控制器建立Model(模型),模型再通过DispatcherServlet传递给view(视图)
Controller: 控制器
HandlerAdapter :一个适配器模式(控制器的一种表现形式)
在DispatcherServlet内部使用的一个类,将各种不同类型的Handler(管理者)适配成前段控制器可以使用的Handler
HandlerInterceptor:拦截器
HandlerMapping:映射类
决定由哪个controller来相应请求
在HandlerMapping工作完毕之后,可以给DispatcherServlet分配一个适配器(HandlerAdapter)
HandlerExecutionChain:处理链
ModelAndView:视图渲染器,一个model的具体表现
ViewResolver:视图解析器
根据配置找出需要的视图对象(html、jsp。。。。。。)
各个模块功能图