jsp中 controller做所有的事情
在Spring MVC中,controller不在做所有事
MVC的核心思想是将业务逻辑从UI中分离出来,时他们能够独立地更改且互不影响。
Spring web MVC 框架利用Spring框架的AOP和DI特性来创建松散耦合的应用程序。
SpringMVC框架在处理用户请求时使用了以下组件:
处理程序映射(handler mapping)
controller
视图解析器 (view resolver)
视图 (view)
Spring MVC 处理请求的过程(周期):
1.将请求发送给前端控制器(dispatcher servlet),控制器中其中一个servlet将处理请求发送给其他组件。这些请求的实际处理在Spring MVC 中。
2.前端控制器查询一个或多个handler Mapping,handler mapping是一个Spring MVC组件,它会检查URL并选择合适的控制器。一旦选定了控制器,dispatcher会将请求传递给所选的控制器。
3.dispatcher将传入的请求转发给控制器(controller)。等待controller处理它。
4.然后controller将请求连同包含的视图名称和视图上要显示的数据对象一起发送给dispatcher。此对象不携带对实际JSP网页的引用。他只是携带一个逻辑名称,用于搜索实际视图,以便在浏览器屏幕上生成HTML内容
5.Dispatcher 请求视图解析器(view resolver)将逻辑视图名称解析为实际的JSP视图。
6.请求的最后一步是试图实现,它在视图实现中交付模型数据。