`
wandejun1012
  • 浏览: 2719600 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

struts mvc

 
阅读更多

Model 1 和Model 2简介

我们在开发Web应用时经常提到的一个概念是Model 1/Model 2,那么到底它是什么意思呢?其实它是对采用JSP技术构成Web应用的不同模型的描述。下面对这个概念做一个简单的介绍。

Model 1

在使用JAVA技术建立Web应用的实例中,由于JSP技术的发展,很快这种便于掌握和可实现快速开发的技术就成了创建Web应用的主要技术。JSP页面中可以非常容易地结合业务逻辑(jsp:useBean)、服务端处理过程(jsp:scriplet)和HTML(<html>),在JSP页面中同时实现显示,业务逻辑和流程控制,从而可以快速地完成应用开发。现在很多的Web应用就是由一组JSP页面构成的。这种以JSP为中心的开发模型我们可以称之为Model 1。

当然这种开发模式在进行快速和小规模的应用开发时,是有非常大的优势,但是从工程化的角度考虑,它也有一些不足之处:

  1. 应用的实现一般是基于过程的,一组JSP页面实现一个业务流程,如果要进行改动,必须在多个地方进行修改。这样非常不利于应用扩展和更新。
  2. 由于应用不是建立在模块上的, 业务逻辑和表示逻辑混合在JSP页面中没有进行抽象和分离。所以非常不利于应用系统业务的重用和改动。

考虑到这些问题在开发大型的Web应用时必须采用不同的设计模式--这就是Model2

Model 2

Model 2 表示的是基于MVC模式的框架。MVC是Model-View-Controller的简写。"Model" 代表的是应用的业务逻辑(通过JavaBean,EJB组件实现), "View" 是应用的表示面(由JSP页面产生),"Controller" 是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。从而弥补了Model 1的不足。

Model 2具有组件化的优点从而更易于实现对大规模系统的开发和管理,但是开发MVC系统比简单的JSP开发要复杂许多,它需要更多的时间学习和掌握。同时新东西的引入会带来新的问题(这让我想起来关于"自动计算"的一篇文章,中间提到为了降低系统的复杂度,却导致更高的复杂度)。

  1. 必须基于MVC组件的方式重新思考和设计应用结构。原来通过建立一个简单的JSP页面就能实现的应用现在变成了多个步骤的设计和实现过程。
  2. 所有的页面和组件必须在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 架构实例(图书管理系统)

    Struts MVC架构是一种广泛应用于Java Web开发中的开源框架,它基于Model-View-Controller(模型-视图-控制器)设计模式,旨在简化Web应用程序的开发流程。在这个“图书管理系统”实例中,Struts MVC框架被用来实现对...

    strutsmvc.rar

    这个名为"strutsmvc.rar"的压缩包很可能是包含了一个Struts MVC项目的源代码、配置文件和其他相关资源。Struts MVC是Apache Struts框架的一个核心概念,它遵循模型-视图-控制器(MVC)设计模式,帮助开发者组织和...

    StrutsMVC系统(学习)

    Struts MVC系统是一种基于Java的开源框架,用于构建企业级Web应用程序。该系统的核心是Model-View-Controller(MVC)设计模式,它将应用程序的业务逻辑、数据处理和用户界面分离,使得代码更易于管理和维护。Struts...

    JSP源码——Struts+Hibernate实现MVC_strutsmvc.zip

    这个压缩包“JSP源码——Struts+Hibernate实现MVC_strutsmvc.zip”显然包含了使用这两种技术构建的MVC应用的源代码。下面将详细阐述Struts和Hibernate的核心概念以及它们如何协同工作。 **Struts框架**: 1. **MVC...

    一个Struts MVC的例子

    Struts MVC框架是Java Web开发中的一个重要组成部分,它遵循Model-View-Controller(模型-视图-控制器)设计模式,旨在提高应用的可维护性和可扩展性。在这个例子中,我们将深入探讨Struts MVC框架的基本原理和核心...

    struts mvc 的分页例子

    Struts MVC 框架是Java Web开发中广泛使用的开源框架,它基于Model-View-Controller(MVC)设计模式,旨在简化应用开发并提供更好的结构。在这个分页例子中,我们将深入探讨如何在Struts MVC中实现高效、灵活的分页...

    其他类别Struts+Hibernate实现MVC-strutsmvc.rar

    Struts+Hibernate实现MVC_strutsmvc.rar是一个计算机专业JSP源码资料包,它提供了一种基于Struts和Hibernate框架的实现模型-视图-控制器(MVC)设计模式的方法。这个资料包包含了一个完整的示例项目,用于演示如何...

    Struts+Hibernate实现MVC-strutsmvc.zip

    在这个项目中,`strutsmvc.zip`压缩包可能包含了以下关键组成部分: 1. **源代码**:Java源文件,包括Action类(处理用户请求)、ActionForm(封装用户输入)、实体类(与Hibernate映射)等。 2. **配置文件**:`...

    [其他类别]Struts+Hibernate实现MVC_strutsmvc.zip

    这个压缩包文件"strutsmvc.zip"包含了使用Struts和Hibernate实现MVC模式的一个项目实例,非常适合学习和理解这两种技术的结合。 1. **Struts框架**: - Struts是Apache软件基金会的开源项目,它是一个基于MVC设计...

    Struts+Hibernate实现MVC_strutsmvc.rar

    "Struts+Hibernate实现MVC_strutsmvc.rar"可能包含一个示例项目,其中包含了上述所有组件。这个项目可能包括了struts-config.xml、hibernate.cfg.xml、Action类、DAO类、实体类、JSP页面以及其他相关配置文件。解压...

    Apache Struts MVC Design Pattern

    ### Apache Struts MVC 设计模式解析 #### 一、引言 在当今的软件开发领域,设计模式作为一种解决常见编程问题的有效方法被广泛采纳。Apache Struts 作为一款基于 Java 的开源框架,采用 Model-View-Controller ...

    [其他类别]Struts+Hibernate实现MVC_strutsmvc.rar

    在这个压缩包文件"Struts+Hibernate实现MVC_strutsmvc.rar"中,我们可以预见到它包含了使用Struts和Hibernate构建MVC架构的应用程序的相关资料。 Struts是一个开源的Web应用框架,它遵循MVC设计模式,主要用于处理...

    struts MVC例子!!!比较不错的例子额

    Struts MVC是一个经典的Java Web开发框架,用于构建可维护、可扩展且结构良好的应用程序。这个“struts MVC例子”提供了一个初级入门级别的教程,帮助初学者理解如何将Struts与Model-View-Controller(MVC)设计模式...

    自己写的StrutsMVc框架

    Struts MVC框架是一款基于Java的开源Web应用框架,主要用于构建企业级的Web应用程序。它遵循Model-View-Controller(模型-视图-控制器)设计模式,帮助开发者将业务逻辑、数据处理和用户界面分离,提高代码的可维护...

Global site tag (gtag.js) - Google Analytics