自己做抽奖网站违法吗,搜索引擎营销怎么做,广告联盟没网站可以做吗,互联网推广代理甩开膀子#xff0c;继续干活。 
今天开始Spring Framework中的另外一部分重头戏#xff1a;Spring Web MVC#xff0c;借助Spring Web MVC#xff0c;Spring Framework可以通过Servlet API轻松构建基于web的应用。 
在开始Spring Web MVC之前#xff0c;我们还是要简单了…甩开膀子继续干活。 
今天开始Spring Framework中的另外一部分重头戏Spring Web MVC借助Spring Web MVCSpring Framework可以通过Servlet API轻松构建基于web的应用。 
在开始Spring Web MVC之前我们还是要简单了解一下MVC的前世今生。 
MVC vs 三层架构 
比较古老了简单说一下即可。 
三层架构 三层架构是为了实现应用程序的“高内聚低耦合”思想把各功能模块划分为表示层UI、业务逻辑层BLL、数据访问层DAL。各层之间通过接口互相访问并通过数据实体在各层之间传递数据。 
三层之间分工明确各负其责UI层负责数据展示BLL负责业务逻辑的处理DAL负责数据的访问和存储。 
新生代程序员不太容易理解为什么还需要进行这样的定义因为目前的java框架天生就是三层架构的各种变体在三层架构的基础上对各层又进行了进一步的细分。 
20年前的程序员对三层架构所解决的问题应该印象深刻因为20年前绝大部分的java项目都没有清晰的层次结构要么就是在jsp/servlet中充满业务逻辑和数据库访问、要么就是在后台service代码中掺杂各种数据库访问、业务逻辑以及页面样式的代码。杂乱无章程序员在需要进行bug修复或功能完善的时候读代码比读经书还要难。 
三层架构对于解决上述问题功不可没。 
MVC MVC是Model、View、Controller的缩写也就是模型、视图、控制器最早是为Smalltalk语言提出的一种设计模式最终在java web应用中得到了最为广泛的应用。 
view视图层负责数据展示或数据收集可以有图形、图表、文字等等不同的展示方式。 controller控制层负责接收从view层提交的用户请求转发用户请求给模型层model接收model转发给view层进行展示。 model模型处理控制层转发的用户请求生成用户请求的数据并通过控制层转发给view层。 
MVC vs 三层架构 MVC是属于三层架构中UI层的设计模式也就是说MVC都属于UI层即使是model也属于UI层的一部分。 
所以MVC是设计模式三层架构是应用程序或应用系统的架构两者属于不同维度的概念不能混淆。 
如果MVC整个都处于三层架构的UI层的话那么model就没有处理业务逻辑的责任因为处理业务逻辑是BLL层的责任。因此model可以理解为是在view和controller之间传递数据的载体。 
生搬硬套的对比概念之间的异同其实意义不大最重要的我们还是要学习掌握Spring MVC的具体用法及底层逻辑。 
下一篇文章正式开始。在此之前我们还需要首先简单回忆一下Servlet的概念。 
Servlet 
当前的java应用在众多优秀框架的加持下尤其是Spring框架大家对Servlet可能也不算太熟悉了。 
其实正是通过ServletJava才成为“适合进行Web程序开发的语言”。 
Servlet是Service applet的缩写意思是服务端小程序对应的Java还曾经推出过客户端小程序-applet曾经风靡一时只不过是由于各种原因早已退出了历史舞台。 
在MVC框架出现之前java web程序员必须与servlet打交道每一个servlet需要在web.xml中进行配置 servletservlet-nameMyServlet/servlet-nameservlet-classcom.example.servlet.MyServlet/servlet-classload-on-startup1/load-on-startup/servletservlet-mappingservlet-nameMyServlet/servlet-nameurl-pattern/myServlet/url-pattern/servlet-mapping其中部分配置servlet的名字、以及其对应的servlet类。部分配置serlvet与业务请求url的对应关系。 
配置内容很容易理解但是配置起来相当麻烦因为MVC框架之前的每一个应用都会有数量众多的Servlet程序员必须在web.xml中为每一个servlet进行配置。 
Servlet3.0之后允许通过注解方式进行配置与web.xml方式相比注解方式要简化许多因此Servlet3.0是对java web程序员的一次解放。 
MVC框架比如Spring Web MVC或之前的struts的出现是对java web程序员的又一次大解放Spring Web Mvc框架通过DispatcherServlet代替了应用层的其他Servlet应用不需要创建Servlet、只需要创建Controller。整个应用只有Dispatcherservlet一个Servlet即可进一步简化了繁琐的Servlet配置工作不过话说回来Controller其实类似Servlet只不过Controller不需要实现任何接口、比Servlet的配置要简单一些。 
因此虽然我们在使用Spring Mvc的过程中感受不到Servlet的存在但是我们要知道Spring MVC其实也是围绕Servlet在工作因为Servlet是MVC框架中的C、起到承上启下的控制器作用、是绕不开的核心存在。 
有了这些背景知识下一篇文章我们开始研究Spring MVC。 
上一篇 Spring FrameWork从入门到NB - Spring AOP的自我调用