您的位置:首页 > 编程语言 > Java开发

2015.6.15(nut-console结合SpringMVC)

2015-08-27 09:48 393 查看
Nut-Cosole项目初识(结合SpringMVC框架):

用户Request经DispatchServlet(前端控制器),通过映射处理器(HandelMapping)映射到具体的处理程序(Controller),Controller类调用Service层方法处理用户的具体业务,Service调用Dao存取数据(期间会用到Bean和Mapper),Controller处理完请求后,将处理结果(模型和view)返回给DispatchServlet,DispatchServlet对接收到的模型和view进行解析和渲染,最后将渲染结果(模型+视图)返回给用户。

再探SpringMVC(结合Nut_Console新建集群业务):

下面是一个SpringMVC处理请求的流程图,下面结合流程图阐述一下SpringMVC的具体执行流程:

具体执行步骤如下:

1) 首先用户发送请求—>前端控制器,前端控制器根据请求信息(如URL)决定选择哪一个页面控制器进行处理并把请求委托给它;

2) 页面控制器接收到请求后,进行功能处理,首先需要收集和绑定请求参数到一个对象,这个对象在SpringMVC中叫命令对象,并进行验证,然后将命令对象委托给业务对象进行处理;处理完毕后返回一个ModelAndView;

3) 前端控制器收回控制权,然后根据返回的逻辑视图名,选择相应的视图进行渲染,并把模型数据传入以便视图渲染;

4) 前端控制器再次收回控制权,将响应返回给用户,至此整个流程结束。

3. 结合nut_console的新增集群业务谈一下SpringMVC的具体流程:

1) 首先用户发送请求http://localhost:8080/admin/cluster/create(带有POST参数-集群创建信息)——>web容器,web容器根据“/ admin/cluster/create”路径映射到DispatcherServlet(url-pattern为/)进行处理;

2) DispatcherServlet——>BeanNameUrlHandlerMapping进行请求到处理的映射,BeanNameUrlHandlerMapping将“/admin/cluster/create”路径直接映射到名字为“/admin/cluster/create”的Bean进行处理,即ClusterController中的CreateCluster方法,BeanNameUrlHandlerMapping将其包装为HandlerExecutionChain返回给DispatchServlet;

3) DispatcherServlet——> SimpleControllerHandlerAdapter,SimpleControllerHandlerAdapter将HandlerExecutionChain中的处理器(CreateCluster)适配为SimpleControllerHandlerAdapter;

4) SimpleControllerHandlerAdapter——> CreateCluster处理器功能处理方法的调用,SimpleControllerHandlerAdapter将会调用处理器的handleRequest方法进行功能处理,并执行创建集群方法的业务逻辑,该处理方法返回一个ModelAndView(此处为“admin/cluster/”)给DispatcherServlet;

5) “admin/cluster/”(ModelAndView的逻辑视图名)——>InternalResourceViewResolver, InternalResourceViewResolver使用JstlView,具体视图页面在/WEB-INF/views/admin/cluster/index.jsp;

6) JstlView(/WEB-INF/jsp/hello.jsp)——>渲染,将在处理器传入的模型数据(clList=cluterList)在视图中展示出来;

7) 返回控制权给DispatcherServlet,由DispatcherServlet返回响应给用户,集群创建成功后返回到集群列表首页,到此一个流程结束。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring mvc 框架