MVC
一种设计模式:模型,视图,控制器
模型:保存数据状态的Java Bean :实体类
保存业务逻辑的Java Bean:Service Dao
视图:用户与应用程序交互的界面
控制器:解耦视图层和模型层
接收客户端请求
委托模型层处理业务逻辑
响应客户端的请求
Spring MVC
Spring MVC是建立在Servlet API之上的Web框架,从一开始就包含在Spring框架中
正式名:Spring Web MVC
Spring MVC的核心组件:
前端控制器DispatcherServlet: Spring核心控制器,负责整个Spring MVC项目的执行逻辑
处理器映射器HandlerMapping: 根据请求的URL查找处理器
处理器适配器HandlerAdapter 调用处理器方法
处理器 需要开发者编写业务逻辑(Controller)
视图解析器: 解析逻辑视图ModelAndView,创建View对象
拦截器,文件上传的解析器,异常处理器解析器
SpringMVC执行流程图
客户端发送请求到DispatcherServlet==>DispatcherServlet请求映射器查找处理器==>找到之后,返回一个处理器执行链对象给DispatcherServlet==>
DispatcherServlet请求处理器适配器执行处理器==>处理器执行完后返回逻辑视图ModelAndView逻辑视图给处理器适配器==>处理器适配器再把逻辑视图ModelAndView返回给DispatcherServlet==>
DispatcherServlet请求视图解析器去解析逻辑视图ModelAndView==>解析完成后返回View对象给DispatcherServlet==>DispatcherServlet使用View对象和模型数据渲染界面,响应客户端请求
Spring项目总结
通过web.xml文件的形式引入前端控制器DispatcherServlet,如果不设置init属性那么DispatcherServlet默认使用Web-Info下的[servlet-name]-servlet.xml作为SpringMVC容器,加了init属性(classpath)就找到resource文件夹下的spring-mvc.xml,这个文件中通过xml的方式引入映射器(BeanName通过处理器找到name属性为/hello的文件执行返回执行链对象给DispatcherServlet==>),适配器去执行我们写的Controoler(继承了适配器的Controller接口,返回逻辑视图给DispatcherServlet,Dispatcher接到返回的逻辑视图交给视图解析器
InternalResourceViewResolver==>请求视图解析器解析完返回给DispatcherServlet最后渲染到hello.jsp页面
)