基于Java的MVC框架很多,主流的是Spring MVC和Struts。因为Spring MVC可以与Spring无缝连接,所以Spring MVC发展很快,所占份额也比较大。
要使用Spring MVC只要在web.xml文件中配置一个DispatcherServlet。使用Spring MVC非常简单,只要扩展一个路径映射关系;定义一个视图解析器;再定义一个业务逻辑的处理流程规则。 DispatcherServlet类继承HttpServlet,在Servlet的init方法调用时DispatcherServlet执行Spring MVC的初始化工作 在Spring MVC框架中,有三个组件是用户必须要定义和扩展的:
定义URL映射规则实现业务逻辑的Handler实例对象渲染模板资源Spring MVC的Control主要由handlerMapping和HandlerAdapters两个组件提供。
HandlerMapping负责映射用户的URL和对应的处理类,在处理链中添加任意的HanderAdapters实例来处理这个URL对应的请求,类似于Servlet规范中的Filter处理类。可以完成URL与Handler的映射关系,那么HandlerAdapter可以帮助自定义各种Handler。
首先调用DispatcherServlet的doService方法开始,接着调用doDispatch方法。
Model通常在渲染页面和业务逻辑曾需要用到。 ModelAndView对象是连接业务逻辑层与View展现层的桥梁,对SpringMVC来说也是连接Handler与View的桥梁。
对Spring MVC的View的模块来说,有两个组件支持,分别是RequestToViewNameTranslator和ViewResolver。
RequestToViewNameTranslator支持用户自定义对ViewName的解析ViewResolver根据ViewName创建一个View对象,调用View对象的void render(Map model,HttpServletRequest request,HttpServiceResponse response)方法来渲染页面形成大体的结构每个人根据自己的需求去开发。大的逻辑已经定义,不同的实现方法的有所有不同