#1、MVC设计模式 所谓MVC,即Model-View-Controllerhtml
1)Model层:Model指模型部分,应用对象;通常在应用中Model层包括业务处理层和数据访问层。数据访问层主要是对数据库的一些操做的封装。业务处理层应用JavaBean构建, JavaBean主要是用做将从View层获取的数据和数据库的数据进行桥接。模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。模型与数据格式无关,这样一个模型能为多个视图提供数据。因为应用于模型的代码只需写一次就能够被多个视图重用,因此减小了代码的重复性。java
2)Controller层:Controller指控制器部分,逻辑处理、控制实体数据在视图上展现、调用模型处理业务请求;通常是对View层提交的请求为其设置对应的Servlet进行特定功能的处理,接受用户的输入并调用模型和视图去完成用户的需求。Controller通常只是在Web应用中充当一个中介者的做用。web
3)View层:View指视图部分,数据的展示;这一部分的内容是展现给用户实际进行交互的,一般使用JSP和HTML进行构建。spring
在 MVC 模式中,Web 用户向服务器提交的全部请求都由控制器接管。接受到请求以后,控制器负责决定应该调用哪一个模型来进行处理;而后模型根据用户请求进行相应的业务逻辑处理,并返回数据;最后控制器调用相应的视图来格式化模型返回的数据,并经过视图呈现给用户。数据库
优势:编程
缺点:设计模式
MVC属于架构/框架设计模式,即观察者模式,策略模式,组合模式等JAVA面向对象设计模式的组装; 框架(Framework)是一组协同工做的类,它们为特定类型的软件构筑了一个可重用的设计缓存
框架的特性:安全
#2、MVC框架 1)jsp+servlet+javabean:适用于比较小的项目springboot
2)struts1,webWork(xwork1 ,webWork2),dwr3
3)struts2
工做原理图:
参考文献:http://blog.csdn.net/laner0515/article/details/27692673/
4)springMVC 工做原理图:
参考文献:http://blog.csdn.net/zuoluoboy/article/details/19766131
对比
1)struts1和struts2
2)struts2和springMVC
参考文献:
http://blog.csdn.net/gstormspire/article/details/8239182
http://blog.csdn.net/chenleixing/article/details/44570681
#3、RESTFUL REST 是一种思惟方式,而非协议或标准。它是设计基于命名资源而非消息的松耦合应用程序 — 一般指面向 Web 的应用程序 — 的一种风格;
REST “强调组件交互的可伸缩性、界面的广泛性、独立部署组件以及使用中间组件来减小交互延迟,加强安全性并封装遗留系统”。RESTful构建的系统具备高度的可伸缩性,同时与底层数据松散耦合;并且能够很好地利用缓存;
若是开发者在开发过程当中能坚持 REST 原则,将能够获得一个使用了优质 Web 架构的系统,从而为系统提供更好的可伸缩性,并下降开发难度。关于 REST 架构的主要原则以下:
参考文献:http://www.ibm.com/developerworks/cn/java/j-lo-struts2rest/