`
冰云
  • 浏览: 142619 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

Struts原理与应用(完)

阅读更多

Chapter 7: Taglib and Other Skills

Struts principle and practice

TAGLIB
Struts对Taglib进行了扩展, Struts提供了四种基本自定义Taglib以及两种附加Taglib:

bean:struts-bean taglib包含在访问bean和bean属性时使用的tag,也包含一些消息显示的tag。
html:struts-html taglib包含用来创建struts输入表单的tag,和其它通常用来创建基于HTML用户界面的tag。
logic:struts-logic taglib包含的tag用来管理根据条件生成输出文本,和其它一些用来控制的信息。
template:struts-template taglib包含的tag用来定义模板机制。

tiles:Tiles插件,用于简化jsp开发
nested: 而Nested标记库的作用是让以上这些基本标记库能够嵌套使用,发挥更大的作用。

使用taglib可以简化jsp页面的开发,使得jsp包含最少的代码。

如,在JSP开发过程中,虚拟目录是相对于Domain的。如果http://localhost/context1/test.jsp执行href="/”则会返回到http://localhost/,如何返回到http://localhost/context1/呢? 这样我们就可以用<html:link page="/" >按照相对于虚拟目录的url来定位。

I18n支持
如果要显示一套支持i18n的界面,首先要定义一个ApplicationResource文件,将信息以key=value的形式放入。在struts-config.xml中指定resouces的地址,即可用<bean:message key="welcome">这样的tag来显示,而不需要将信息固化在JSP文件中。

TILES:
Tiles中对页面的划分有点象jakarta的另外一个项目Turbine中的TDK。增加了layout的概念.
其实就是把一个页面划分为几块。 通常的来说一个页面大概可以划分为如下几块:
head页面头部:存放一个运用的公共信息:logo等,如果是网站可能是最上面的一块.
menu页面菜单:放置一个运用中需要使用的菜单,或者在每一个页面都使用的连接.
footer页面尾部:如版权信息等.
body页面主题内容:每个页面相对独立的内容.
如果按上面的划分那对每一个页面我们只要写body里面的内容,其他的就可以共享重用.
如果大多数页面的布局基本相同我们甚至可以使用一个jsp文件根据不同的参数调用不同的body.

Tiles除了替代Template的基本模板功能外,还增加了布局定义、虚拟页面定义和动态页面生成等功能。Tiles强大的模板功能能够使页面获得最大的重用性和灵活性,此外可以结合Tiles配置文件中的页面定义和Action的转发逻辑,即你可以将一个Action转发到一个在Tiles配置文件中定义的虚拟页面,从而减少页面的数量。比如,下表中的Action定义了一个转发路径,它的终点是tile.userMain,而后者是你在Tiles配置文件中定义的一个页面。

EXCEPTION
异常处理在Struts1.1中得到了很好的支持

可以在配置文件中指定由谁来处理Action类中掷出的某种异常。按照以下步骤来完成该功能:

1 实现org.apache.struts.action.ExceptionHandler的子类,覆盖execute方法,在该方法中处理异常并且返回一个ActionForward对象

2 在配置文件中配置异常处理对象,你可以配置一个全局的处理类或者单独为每个Action配置处理类

下表就定义了一个全局的处理类CustomizedExceptionHandler,它被用来处理所有的异常。

 

Chapter 8: Other Web Framework

Struts principle and practice

Web Framework
Sstruts是一个web framework。那么什么是Framework?

Framework概念并不是很新了,伴随着软件开发的发展,在多层的软件开发项目中,可重用、易扩展的,而且是经过良好测试的软件组件,越来越为人们所青睐。这意味着人们可以将充裕的时间用来分析、构建业务逻辑的应用上,而非繁杂的代码工程。于是人们将相同类型问题的解决途径进行抽象,抽取成一个应用框架。这也就是我们所说的Framework。
Framework的体系提供了一套明确机制,从而让开发人员很容易的扩展和控制整个framework开发上的结构。 通常,framework的结构中都有一个“命令和控制”组件

常见的B/S WebFramework已经有很多了,其中不少也是很成功优秀作品。下面列举一部分

Struts:主要关注于Controller流程,基于JSP与Taglib实现的View。

Cocoon:jakarta出品的用于处理XML的框架,将XML作为View并可以良好结合XSLT

Webwork:jive论坛采用的框架,采用command模式进行action的转发,并可结合多种view模型

Turbine: 同样是jakarta出品。是一个基于 Servlet 的Framework,使得 java 开发者可以快速、安全的构建自己的网络应用。采用Velocity 作为表现层。(Velocity:一个基于 Java 的模版引擎 )

Tapestry: 一个优秀的framwork,类似于dotNet中的winform,使用html和一个servlet共同生成一个View

Spring: Spring是一个服务于所有层面的application framework:提供了bean的配置基础,AOP的支持,JDBC的提取框架,
抽象事务支持,等等。它有一个非常显著的特点:在某个层面上如果你不需要Spring的支持,你就可以不使用String的class,只使用它的某一部分的功能。

JSF:JavaServerFaces,它并不算是Framework,但JSF同样提供了一种不同的View生成方式。它可以和多种Framework整合。在J2EE1.4中,JSP2.0规范就包含了JSF标准。

Framework有很多种,Struts并不是我们唯一的选择。我们可以根据具体的项目来选择不同的framework。

之所以struts现在比较流行,其主要原因是它推出的比较早,版本较稳定,并且是MVC及core J2EE patterns的标准实现。

将来的发展趋势,很有可能是JSF+Struts+Spring+Hibernate/JDO的开发模式

版权所有,欢迎转载
CSDN首发,转载请注明作者:冰云



分享到:
评论

相关推荐

    Struts 原理 与 应用

    **Struts原理** Struts作为MVC框架,其主要原理包括以下几个方面: 1. **控制器(Controller)**:Struts的控制器是ActionServlet,它拦截所有的HTTP请求,并根据配置文件(struts-config.xml)来决定调用哪个Action...

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

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

    Struts 原理 流程图

    理解Struts的工作原理对于开发高效且易于维护的Java Web应用至关重要。 ### Struts框架的核心组件 1. **核心控制器 (ActionServlet)**: Struts框架的核心是ActionServlet,它是一个实现了Servlet接口的类。在Web...

    struts原理

    **Struts原理** Struts框架的核心是Action和ActionForm。Action是业务逻辑的载体,它接收并处理来自用户请求的数据,然后调用相应的服务层方法进行处理。ActionForm则用于在Action和视图之间传递数据,它包含了表单...

    Struts1与Struts2原理 区别详解汇总

    ### Struts1与Struts2原理及区别详解 #### Struts1原理概述 **Struts1** 是一种基于MVC架构的开源Java Web框架,它主要用于构建动态网站和应用程序。Struts1的核心组件包括ActionServlet、ActionForm以及Action...

    struts框架原理图

    根据提供的文件信息,“Struts框架原理图”主要阐述了Struts框架的工作原理、流程以及页面间的跳转机制。为了更好地理解和应用...对于希望构建复杂Web应用的开发者来说,深入理解Struts框架的工作原理是非常必要的。

    Struts原理与实践

    ### Struts原理与实践 #### 一、Struts框架概览 **Struts**框架,作为Java Web开发领域内的一款成熟且广泛应用的框架,自问世以来便受到开发者们的青睐。Struts框架的核心设计理念在于实现MVC(Model-View-...

    struts体系结构与工作原理

    Struts 体系结构与工作原理 Struts 体系结构是目前基于 Java 的 Web 系统设计中广泛使用的 MVC ...Struts 体系结构与工作原理是 Java Web 开发中的一种常见的设计模式,能够帮助开发者快速构建高质量的 Web 应用程序。

    Struts原理与实践(罗会波)

    罗会波的《Struts原理与实践》这本书深入浅出地解析了Struts的核心概念和技术,帮助开发者全面理解和掌握这一框架。 1. **MVC设计模式**:Struts将Web应用的业务逻辑、数据模型和用户界面分离,使得开发者可以独立...

    struts2 原理 解析 图

    `struts原理.txt`文件可能包含了文字描述,进一步解释了Struts2的核心概念和机制,比如Action的配置、结果映射、拦截器的实现方式,以及Struts2如何整合其他技术,如Spring或Hibernate进行依赖注入和持久化操作。...

    Struts2基础应用二

    同时,Struts2对源码的友好性,也使得开发者能够深入理解框架的内部工作原理,从而更好地定制和优化应用。 在“Struts2基础应用二”中,可能还会涉及一些高级特性,如 strut2 的拦截器编写、自定义结果类型、动态...

    精品Struts架构与应用

    《精品Struts架构与应用》一书深入探讨了Struts框架的设计原理与实践应用,适合于初学者和高级开发者阅读。Struts是一个基于MVC(Model-View-Controller)设计模式的开源Java框架,用于构建动态、可扩展的Web应用...

    Struts的工作原理

    在深入理解Struts的工作原理之前,我们先来简单回顾一下MVC模式的基本概念: **Model(模型)**:这是应用程序的核心业务逻辑,通常由Java Beans或Enterprise JavaBeans (EJBs)实现,它们处理数据和业务规则。 **...

    Hibernate、Spring和Struts工作原理及使用理由

    【标题】:“Hibernate、Spring和Struts工作原理及使用理由” 【内容】: Hibernate是一个流行的Java持久化框架,它的核心工作原理主要包括以下步骤: 1. **读取并解析配置文件**:Hibernate通过读取hibernate....

    struts原理与实践(三)

    Struts 是一个基于MVC(Model-View-...理解JDBC的工作原理和配置数据库连接对于开发基于Struts的应用至关重要。在实际应用中,还需要考虑事务管理、异常处理和性能优化等问题,以确保应用程序的稳定性和高效性。

    Struts的体系结构与工作原理

    Struts 是一个开源的 Java Web 开发框架,它遵循 Model-View-Controller(MVC)设计模式,旨在简化企业级应用程序的开发。Apache 基金会的 Jakarta 项目组负责维护 Struts,该框架利用诸如 Java Servlets、JavaBeans...

    Struts原理与实践(五).rar

    在本资料"Struts原理与实践(五)"中,我们将深入探讨Struts的核心概念、工作流程以及实际应用中的关键点。 首先,Struts框架的基础是MVC模式。Model代表业务逻辑,View负责显示,Controller则协调这两者。在Struts...

    Struts2基本原理

    Struts2的设计理念和工作流程与WebWork框架相似,可以认为Struts2是对WebWork的升级和扩展,吸收了WebWork的优点,同时改进了Struts1的一些不足,如更简洁的配置和更强大的动作映射。 8. **集成其他框架**: ...

    struts原理与实践二)

    在本文中,我们将深入理解Struts的基本原理,并通过一个简单的登录示例来演示其工作流程。 首先,我们需要了解MVC模式。在MVC架构中,Model负责处理数据和业务逻辑,View负责展示用户界面,而Controller则作为两者...

Global site tag (gtag.js) - Google Analytics