我们在开发Web应用时经常提到的一个概念是Model 1/Model 2,那么到底它是什么意思呢?其实它是对采用JSP技术构成Web应用的不同模型的描述。下面对这个概念做一个简单的介绍。
在使用JAVA技术建立Web应用的实例中,由于JSP技术的发展,很快这种便于掌握和可实现快速开发的技术就成了创建Web应用的主要技术。JSP页面中可以非常容易地结合业务逻辑(jsp:useBean)、服务端处理过程(jsp:scriplet)和HTML(<html>),在JSP页面中同时实现显示,业务逻辑和流程控制,从而可以快速地完成应用开发。现在很多的Web应用就是由一组JSP页面构成的。这种以JSP为中心的开发模型我们可以称之为Model 1。
当然这种开发模式在进行快速和小规模的应用开发时,是有非常大的优势,但是从工程化的角度考虑,它也有一些不足之处:
- 应用的实现一般是基于过程的,一组JSP页面实现一个业务流程,如果要进行改动,必须在多个地方进行修改。这样非常不利于应用扩展和更新。
- 由于应用不是建立在模块上的, 业务逻辑和表示逻辑混合在JSP页面中没有进行抽象和分离。所以非常不利于应用系统业务的重用和改动。
考虑到这些问题在开发大型的Web应用时必须采用不同的设计模式--这就是Model2
Model 2 表示的是基于MVC模式的框架。MVC是Model-View-Controller的简写。"Model" 代表的是应用的业务逻辑(通过JavaBean,EJB组件实现), "View" 是应用的表示面(由JSP页面产生),"Controller" 是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。从而弥补了Model 1的不足。
Model 2具有组件化的优点从而更易于实现对大规模系统的开发和管理,但是开发MVC系统比简单的JSP开发要复杂许多,它需要更多的时间学习和掌握。同时新东西的引入会带来新的问题(这让我想起来关于"自动计算"的一篇文章,中间提到为了降低系统的复杂度,却导致更高的复杂度)。
- 必须基于MVC组件的方式重新思考和设计应用结构。原来通过建立一个简单的JSP页面就能实现的应用现在变成了多个步骤的设计和实现过程。
- 所有的页面和组件必须在MVC框架中实现,所以必须进行附加地开发工作。
MVC本身就是一个非常复杂的系统,所以采用MVC实现Web应用时,最好选一个现成的MVC框架,在此之下进行开发,从而取得事半功倍的效果。现在有很多可供使用的MVC框架,由于Struts有完整的文档并且相对来讲比较简单,所以用它开发MVC系统还是比较方便地。
-------------------------------------------------------------------------------------------
ps:MVC中的M就是指业务逻辑,即struts1中的Action
refurl:http://www.ibm.com/developerworks/cn/java/l-struts-mvc/index.html
相关推荐
Struts MVC架构是一种广泛应用于Java Web开发中的开源框架,它基于Model-View-Controller(模型-视图-控制器)设计模式,旨在简化Web应用程序的开发流程。在这个“图书管理系统”实例中,Struts MVC框架被用来实现对...
这个名为"strutsmvc.rar"的压缩包很可能是包含了一个Struts MVC项目的源代码、配置文件和其他相关资源。Struts MVC是Apache Struts框架的一个核心概念,它遵循模型-视图-控制器(MVC)设计模式,帮助开发者组织和...
Struts MVC系统是一种基于Java的开源框架,用于构建企业级Web应用程序。该系统的核心是Model-View-Controller(MVC)设计模式,它将应用程序的业务逻辑、数据处理和用户界面分离,使得代码更易于管理和维护。Struts...
这个压缩包“JSP源码——Struts+Hibernate实现MVC_strutsmvc.zip”显然包含了使用这两种技术构建的MVC应用的源代码。下面将详细阐述Struts和Hibernate的核心概念以及它们如何协同工作。 **Struts框架**: 1. **MVC...
该项目是基于Java EE的Struts MVC设计模式源码...Struts最初是Jakarta项目的一部分,于2004年3月成为Apache软件基金会(ASF)的顶级项目,通过Java Servlet/JSP技术实现MVC设计模式,是Java EE Web应用开发中的经典框架。
Struts MVC框架是Java Web开发中的一个重要组成部分,它遵循Model-View-Controller(模型-视图-控制器)设计模式,旨在提高应用的可维护性和可扩展性。在这个例子中,我们将深入探讨Struts MVC框架的基本原理和核心...
Struts MVC 框架是Java Web开发中广泛使用的开源框架,它基于Model-View-Controller(MVC)设计模式,旨在简化应用开发并提供更好的结构。在这个分页例子中,我们将深入探讨如何在Struts MVC中实现高效、灵活的分页...
Struts+Hibernate实现MVC_strutsmvc.rar是一个计算机专业JSP源码资料包,它提供了一种基于Struts和Hibernate框架的实现模型-视图-控制器(MVC)设计模式的方法。这个资料包包含了一个完整的示例项目,用于演示如何...
在这个项目中,`strutsmvc.zip`压缩包可能包含了以下关键组成部分: 1. **源代码**:Java源文件,包括Action类(处理用户请求)、ActionForm(封装用户输入)、实体类(与Hibernate映射)等。 2. **配置文件**:`...
这个压缩包文件"strutsmvc.zip"包含了使用Struts和Hibernate实现MVC模式的一个项目实例,非常适合学习和理解这两种技术的结合。 1. **Struts框架**: - Struts是Apache软件基金会的开源项目,它是一个基于MVC设计...
"Struts+Hibernate实现MVC_strutsmvc.rar"可能包含一个示例项目,其中包含了上述所有组件。这个项目可能包括了struts-config.xml、hibernate.cfg.xml、Action类、DAO类、实体类、JSP页面以及其他相关配置文件。解压...
### Apache Struts MVC 设计模式解析 #### 一、引言 在当今的软件开发领域,设计模式作为一种解决常见编程问题的有效方法被广泛采纳。Apache Struts 作为一款基于 Java 的开源框架,采用 Model-View-Controller ...
Struts+Hibernate实现MVC_strutsmvc.zip
在这个压缩包文件"Struts+Hibernate实现MVC_strutsmvc.rar"中,我们可以预见到它包含了使用Struts和Hibernate构建MVC架构的应用程序的相关资料。 Struts是一个开源的Web应用框架,它遵循MVC设计模式,主要用于处理...
Struts MVC是一个经典的Java Web开发框架,用于构建可维护、可扩展且结构良好的应用程序。这个“struts MVC例子”提供了一个初级入门级别的教程,帮助初学者理解如何将Struts与Model-View-Controller(MVC)设计模式...