首页 > 代码库 > mvc
mvc
1.MVC简介
MVC全名是Model View Controller,MVC是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计典范。MVC并不属于GOF的23个设计模式之列,MVC用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC一般用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。
MVC模式结构如下:
图1-1 MVC模式组件类型的关系和功能
(1)Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。
通常模型对象负责在数据库中存取数据。
(2)View(视图)是应用程序中处理数据显示的部分。
通常视图是依据模型数据创建的。
(3)Controller(控制器)是应用程序中处理用户交互的部分。
2.Java web应用程序的主要组件
1.Servlet组件
Servlet运行于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、XML语言
XML(Extensible Markup Language)是一种用来创建自定义标记的标记语言。
5.Web服务器和应用服务器
Web服务器用来处理HTTP请求,并返回HTTP数据。它主要用来和浏览器进行交互,给用户提供服务。应用服务器可以被Web服务器调用,进行业务逻辑的处理。它返回的数据被Web服务器组织为HTML格式,然后返回到浏览器去解析。
3.JAVA WEB应用解决方案(开发方法)
Java web开发中有很多的框架和协议来实现基于不同程序语言的项目的互联互通,Web Service是其中的一种主要方式, jsp + servlet 是最佳的解决方式,jsp+Bean 。Web Service最主要的优点是:跨语言,跨平台的不同系统之间的通信。 现在企业内部的很多系统集成,企业和企业之间的系统集成的问题。Web Service是主要的解决方案。(服务重用,降低开发成本,只开放自己愿意开放的服务,一是传统基于SOAP模式的Web Service开发;二是基于rest模式的Web Service开发)。
Jsp+servlet: jsp也要编译成servlet所以速度很快,且servlet开发也方便
4.常用的JAVA WEB 的MVC框架
1、 Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间。
2、 Spring Web MVC框架( 简称Spring MVC)是一个丰富的模型视图控制Web框架。使用 Dispatcher Servlet发布请求处理,他使用可配置的处理程序映射,视图解析和主题解决方案,Spring是一个轻量的控制反转和面向切面的容。
3、 Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
4、play framework Play!是一个full-stack(全栈的)Java Web应用框架,包括一个简单的无状态MVC模型,具有Hibernate的对象持续,一个基于Groovy的模板引擎,以及建
5、JFinal 是基于Java 语言的极速 web 开发框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。
6、Tapestry并不是一种单纯的MVC框架,它更像MVC框架和模板技术的结合,它不仅包含了前端的MVC框架,还包含了一种视图层的模板技术,使用Tapestry完全可以与
7、Servlet/JSP API分离,是一种非常优秀的设计。
8、ZK是一套以 AJAX/XUL/Java 为基础的网页应用程序开发框架,用于丰富网页应用程序的使用界面
mvc