MVC模式介绍
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,⼀种软件设计典范,⽤⼀种业务逻辑、数据、界⾯显⽰分离的⽅法组织代码,将业务逻辑聚集到⼀个部件⾥⾯,在改进和个性化定制界⾯及⽤户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来⽤于映射传统的输⼊、处理和输出功能在⼀个逻辑的图形化⽤户界⾯的结构中。
MVC开始是存在于桌⾯程序中的,M是指业务模型,V是指,C则是控制器,使⽤MVC的⽬的是将M和V的实现代码分离,从⽽使同⼀个程序可以使⽤不同的表现形式。⽐如⼀批统计数据可以分别⽤、来表⽰。C存在的⽬的则是确保M和V的同步,⼀旦M改变,V应该同步更新。
M = model =(usermanager+usermanagerimpl+user+userdao+userdaoimpl)+DB
V = view = jsp
C = Controller = struts2fileter+action
Model(模型)表⽰应⽤程序核⼼(⽐如数据库记录列表)。
View(视图)显⽰数据(数据库记录)。
Controller(控制器)处理输⼊(写⼊数据库记录)。
MVC 模式同时提供了对 HTML、CSS 和 JavaScript 的完全控制。
Model(模型)是应⽤程序中⽤于处理应⽤程序数据逻辑的部分。
通常模型对象负责在数据库中存取数据。
View(视图)是应⽤程序中处理数据显⽰的部分。
通常视图是依据模型数据创建的。
Controller(控制器)是应⽤程序中处理⽤户交互的部分。
通常控制器负责从视图读取数据,控制⽤户输⼊,并向模型发送数据。
MVC指MVC模式的某种框架,它强制性的使应⽤程序的输⼊、处理和分开。使⽤MVC应⽤程序被分成三个核⼼部件:模型、、控制器。它们各⾃处理⾃⼰的任务。最典型的MVC就是JSP + + 的模式。
Java Web应⽤程序的主要组件
1.Servlet组件mvc的controller
Servlet运⾏于Web容器当中,⽐如Tomcat,它可以被Web容器动态加载,接收浏览器请求,调⽤其他组件处理请求,然后把处理结果返回。
当浏览器访问某个Servlet时,Web容器将会创建⼀个Servlet Request对象和Servlet Response对象,并且把⽤户的请求信息封装在Servlet Request对象中。然后把这两个对象作为参数传输给Servlet的特定⽅法中。在该⽅法中处理请求,把处理结果封装在Servlet Response对象中,返回给Web容器。最后Web容器把结果返回到浏览器去解析、显⽰。
2.JSP组件
JSP是⼀种动态⽹页技术。它把HTML页⾯中加⼊Java脚本,以及JSP标签构成了JSP⽂件。当浏览器请求某个JSP页⾯时,Tomcat会把JSP页⾯翻译为Java⽂件。然后将它编译为class⽂件,接着执⾏它,并且把⽣成的HTML页⾯返回到客户端显⽰。
3.JavaBean组件
JavaBean组件是⼀种符合特定规范的Java对象。在JavaBean组件中定义⼀系列的属性,并且每个属性都提供setter和getter⽅法,这样就可以使⽤该组件存储⼀些中间数据。例如Servlet Request的请求信息、从数据库中查询出来的信息等。
4.EJB组件
Enterprise Java Bean(EJB)组件是服务器端的Java组件。该组件基于标准分布式对象技术、CORBA和RMI等技术,⽤于实现企业级应⽤的业务逻辑。设计⽬标与核⼼应⽤是部署分布式应⽤程序。简单来说就是把已经编写好的程序(即:类)打包放在服务器上执⾏。
5.XML语⾔
XML(Extensible Markup Language)是⼀种⽤来创建⾃定义标记的标记语⾔。
6.Web服务器和应⽤服务器
Web服务器⽤来处理HTTP请求,并返回HTTP数据。它主要⽤来和浏览器进⾏交互,给⽤户提供服务。应⽤服务器可以被Web服务器调⽤,进⾏业务逻辑的处理。它返回的数据被Web服务器组织为HTML格式,然后返回到浏览器去解析。
Java Web解决⽅案(开发⽅法)
1.JSP+JAVABEAN开发模式:
该模式将业务逻辑与页⾯表现进⾏分离,在⼀定程度上增加了程序的可调试性和维护性。但是页⾯将控制与显⽰集于⼀⾝。虽然简单,但是知识适合⼩型项⽬的快速构建与运⾏。
2.JSP+Servlet+JavaBean开发模式:
JSP作为视图,来表现页⾯;Servlet作为控制器,控制程序的流程并调⽤业务进⾏处理;JavaBean封装了业务逻辑。遵循了MVC设计模式。实现了MVC ,但是没有统⼀的开发框架导致开发周期长。
3.Struts+Spring+Hibernate
Struts负责表⽰层, Spring负责逻辑层的业务,Hibernate持久层中数据库的操作,是⼀套成熟稳定的开发⽅案。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论