`
beckshanling
  • 浏览: 260964 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

struts、MVC2

    博客分类:
  • JSP
阅读更多


MVC Model 2

Web 向软件开发人员提出了一些特有的挑战,最明显的就是客户机和服务器的无状态连接。这种无状态行为使得模型很难将更改通知视图。在 Web 上,为了发现对应用程序状态的修改,浏览器必须重新查询服务器。

另一个重大变化是实现视图所用的技术与实现模型或控制器的技术不同。当然,我们可以使用 Java(或者 PERL、C/C++ 或别的语言)代码生成 HTML。这种方法有几个缺点:

  • Java 程序员应该开发服务,而不是 HTML。
  • 更改布局时需要更改代码。
  • 服务的用户应该能够创建网页来满足它们的特定需要。
  • 网页设计人员不能直接参与网页开发。
  • 嵌在代码中的 HTML 很难看。

对于 Web,需要修改标准的 MVC 形式。图 4 显示了 MVC 的 Web 改写版,通常也称为 MVC Model 2 或 MVC 2。


图 1. MVC Model 2
MVC Model 2





Struts,MVC 2 的一种实现

Struts 是一组相互协作的类、servlet 和 JSP 标记,它们组成一个可重用的 MVC 2 设计。这个定义表示 Struts 是一个框架,而不是一个库,但 Struts 也包含了丰富的标记库和独立于该框架工作的实用程序类。图 5 显示了 Struts 的一个概览。


图 2. Struts 概览
Struts overview

Struts 概览

  • Client browser(客户浏览器)
    来自客户浏览器的每个 HTTP 请求创建一个事件。Web 容器将用一个 HTTP 响应作出响应。
  • Controller(控制器)
    控制器接收来自浏览器的请求,并决定将这个请求发往何处。就 Struts 而言,控制器是以 servlet 实现的一个命令设计模式。 struts-config.xml 文件配置控制器。
  • 业务逻辑
    业务逻辑更新模型的状态,并帮助控制应用程序的流程。就 Struts 而言,这是通过作为实际业务逻辑“瘦”包装的 Action 类完成的。
  • Model(模型)的状态
    模型表示应用程序的状态。业务对象更新应用程序的状态。ActionForm bean 在会话级或请求级表示模型的状态,而不是在持久级。JSP 文件使用 JSP 标记读取来自 ActionForm bean 的信息。
  • View(视图)
    视图就是一个 JSP 文件。其中没有流程逻辑,没有业务逻辑,也没有模型信息 -- 只有标记。标记是使 Struts 有别于其他框架(如 Velocity)的因素之一。
分享到:
评论

相关推荐

    struts MVC 架构实例(图书管理系统)

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

    strutsmvc.rar

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

    struts1原理,struts2原理,spring mvc原理,struts1和struts2,struts和spring mvc

    Struts、Spring MVC和Struts2是Java Web开发中三个重要的MVC框架,它们都用于构建基于模型-视图-控制器(MVC)设计模式的Web应用程序。下面将分别介绍这三个框架的工作原理,并进行对比。 **Struts1原理:** Struts...

    Struts 2 自定义MVC 框架

    Struts 2是一款强大的Java Web开发框架,基于Model-View-Controller(MVC)设计模式,旨在简化企业级应用的开发。它通过提供一个统一的架构来管理控制器、视图和模型,使得开发者能够更专注于业务逻辑,而不是底层...

    Struts1 MVC实例

    同时,这也是学习其他Java Web框架,如Spring MVC或Struts2的一个良好起点,因为它们都基于MVC模式,只是实现细节有所不同。在实际开发中,理解并熟练运用MVC模式能够帮助你构建更加清晰、易于维护的项目架构。

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

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

    struts + mvc + ibatis

    Struts、MVC和iBatis是Java Web开发中三个重要的技术框架,它们共同构建了一个高效、可维护的Web应用程序架构。在这个“Struts + MVC + iBatis”项目中,我们可以深入理解这三个组件是如何协同工作的。 Struts是...

    Struts开源MVC框架

    Struts开源MVC框架,让你更加了解Struts的开源框架的运用

    StrutsMVC系统(学习)

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

    Struts+Hibernate实现MVC_strutsmvc.zip

    Struts+Hibernate实现MVC_strutsmvc.zip

    Struts2MVC模式

    Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,它在Web开发领域中被广泛使用。MVC模式是一种将业务逻辑、数据和用户界面分离的设计模式,使得开发者可以独立地修改各个部分,提高...

    struts mvc 的分页例子

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

    精通struts基于mvc的java web设计与开发

    《精通Struts基于MVC的Java Web设计与开发》是一本深入探讨如何使用Struts框架进行Web应用开发的专业书籍。作者孙卫琴以其丰富的经验和深入的理解,为读者提供了全面、系统的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 MVC的例子

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

    Struts+Hibernate实现MVC_strutsmvc.rar

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

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

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

Global site tag (gtag.js) - Google Analytics