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

Struts框架可扩展性

阅读更多
Struts框架的优势在于允许开发人员根据实际需求来扩展框架,定制客户化的功能.不过作为一个优秀的软件框架是应该具备可扩展的功能的.在Struts框架中提供了许多可扩展之处,不妨将其称为扩展点(Extension Point),以下是Struts的扩展点:

1)     一般性扩展点:Struts插件PlugIn,扩展Struts配置类.

2)     控制器扩展点:扩展ActionServlet类,RequestProcessor类和Action类.

3)     视图的扩展点:扩展Struts客户化标签.

4)     模型的扩展点:扩展SessionContainer类和ApplicationContainer.

Struts1.1框架提供了动态插入和加载组件的功能,这种组件被称为Struts插件,实际

上就是一个JAVA类,它在Struts应用启动的时候被初始化,在应用关闭的时候被销毁.任何作为插件的JAVA类逗应该实现org.apache.struts.action.PlugIn接口,主要包括两个方法.init()方法.的参数是ActionServlet和ApplicationConfig还又一个就是destroy()方法.注意的是要用implements关键字实现PlugIn接口.除了创建插件类外,还需要在Struts配置文件中配置插件.在启动的时候会启动将根据相关的配置信息来初始化插件.与插件对应的配置元素为<plug-in>元素包含一个<set-property>子元素,它定义了插件的属性,与之对应的是在具体的实现了PlugIn接口的类中定义的成员变量的get/set方法.Struts框架加载插件的时候会调用插件类的set()方法,把<set-property>子元素设置的属性传给PlugIn实例的成员变量.根据Struts配置文件的DTD定义,在Struts配置文件中,<pulg-in>元素必须位于其他配置元素的后面,此外,如果在配置文件中配置了多个插件,框架将按照他们的先后顺序来依次初始化.

扩展Struts的配置类是在Struts应用启动的时候,配置文件中所有的信息都会被读到内存中,这些信息在org.apache.struts.config包相应的配置类的实例中.这个一般不推荐使用,除非个别情况.

控制器扩展点在Struts1.1版本以前会被使用,当初都是需要扩展ActionServlet类,来实现各种定制的功能.在Struts1.1版本开始扩展ActionServlet已经显的不是必须的了,这也也不推荐使用.如果要扩展RequestProcessor类,应该在配置文件中通过<controller>元素对自定义的类进行配置.在自定义的RequestProcessor类中,可以覆盖processPreprocess()方法来执行特定的逻辑.如果在某些条件下希望终止处理请求,只需让processPreprocess()放回false即可.在这种情况下,仍需要以编程的方法来决定如何转发或者重定向请求.要注意的地方是如果方法返回false,那么应该在方法内部决定如何转发请求.而且Struts还可以扩展视图和模型组件,不过这些显的已经没什么必要了,除非是Struts的客户化标签不能满足项目的需求,可以考虑扩展视图组件.

扩展Action到是Struts框架中最频繁的扩展点,对于具体的Struts应用,可以先为应用创建一个扩展StrutsAction类的Action基类,在这个基类中定义应用中所有的Action的一些公共逻辑也就是通用的方法,这种处理方法可以提高代码的重用性,减少代码重复.

扩展Struts框架可以根据具体的项目,进行具体的处理.大家如果看过我的文章和之前写的文章希望能给予一些评价,希望大家能指出我的缺点和不足谢谢! (网友们的支持,是我继续写技术文章的动力!)

分享到:
评论

相关推荐

    struts框架原理图

    它主要用于Java EE平台上的Web开发,能够帮助开发者快速构建可维护性强、易于扩展的企业级应用。Struts框架的核心组件包括ActionServlet、ActionForm、Action和ActionForward等,它们共同协作完成业务逻辑处理和视图...

    struts框架详细介绍

    Struts框架是一个基于MVC(模型-...总之,Struts框架通过提供一套规范和组件,简化了Java Web应用的开发过程,增强了代码的可维护性和可扩展性。理解并熟练运用Struts的组件和配置,能够有效地提升开发效率和应用质量。

    struts框架与标签.doc

    Struts框架的主要目标是简化开发过程,提高代码的可维护性和可扩展性。以下是Struts框架的核心组成部分和主要特性: 1. **Struts压缩包内容**: - 包含了核心库、标签库、示例应用和其他支持文件。 - 核心库包括...

    基于MVC模式Struts框架

    这种分层结构有助于提高代码的可维护性和可扩展性,同时也便于团队合作。 - **模型**:代表应用程序的核心业务逻辑和数据。它负责处理应用程序的业务规则,并与数据存储进行交互。 - **视图**:负责向用户展示数据...

    Hibernate对Struts框架的扩展研究.pdf

    ### Hibernate对Struts框架的扩展研究 随着信息技术的飞速发展,软件开发领域也在不断进步。其中,**Hibernate**和**Struts**作为两种重要的Java开发框架,在企业级应用开发中占据着举足轻重的地位。本文将深入探讨...

    struts框架\Struts框架的使用.ppt

    Struts框架是一个基于MVC(Model-View-Controller)设计模式的Java web应用程序框架,它在JSP Model2设计模式的基础上进行了进一步的抽象和优化,旨在提供更清晰的职责划分和更好的可扩展性,尤其适合大型项目的开发...

    Struts框架技术

    此外,Struts2引入了拦截器(Interceptor)机制,允许开发者定义一系列预处理和后处理操作,增强了框架的可扩展性。 Struts框架还支持国际化和本地化,通过资源包(Properties文件)实现不同语言环境下的显示文本。...

    struts框架的基本实现

    Struts框架是Java Web开发中常用的一个开源MVC框架,由Apache软件基金会维护。它提供了一种组织应用程序的方式,使得开发者可以将业务逻辑、控制流程和表现...而Java反射技术的运用,则增强了框架的灵活性和可扩展性。

    Struts框架应用于jsp中

    Struts框架是Java Web开发中的一个关键组件,它在JSP(JavaServer Pages)基础上提供了一种更规范、更易维护的MVC(Model-View-...通过对Struts的深入理解和实践,开发者可以构建出更高效、可扩展和易于维护的Web应用。

    基于struts框架的学生管理系统

    在Java Web开发领域,Struts框架是一个广泛应用的MVC(Model-View-Controller)框架,它为构建可维护、可扩展的Web应用程序提供了强大的支持。本项目“基于Struts框架的学生管理系统”是学习JSP与Struts结合运用的...

    struts2验证框架

    2. 可扩展性:Struts2 验证框架提供了高度的可扩展性,可以根据不同的业务逻辑添加新的Validators和Validation Rules,以满足新的验证需求。 3. 高效性:Struts2 验证框架提供了高效的验证机制,可以快速地对用户...

    重构mvc实现struts框架

    - **MVC**:这是一个设计模式,用于构建可维护和可扩展的软件应用程序,通过分离关注点使代码结构清晰。 - **Struts**:这是一个Java Web框架,它提供了实现MVC模式的工具和服务,包括请求处理、视图渲染、业务逻辑...

    Java开发struts框架包

    2. **可扩展性**:通过拦截器机制,可以轻松地扩展框架功能。 3. **丰富的标签库**:提供了一系列的JSP标签,简化了视图层的开发。 4. **良好的社区支持**:作为成熟的开源项目,有活跃的社区提供文档、教程和问题...

    基于struts框架mvc模式应用的实现

    ### 基于Struts框架MVC模式应用的实现 #### 概述 本文主要探讨Struts框架在MVC(Model-View-...通过对MVC模式的理解和Struts框架的具体应用,开发者可以更高效地组织代码结构,提高应用程序的可维护性和可扩展性。

    Struts框架(Struts框架详细介绍)

    Struts框架旨在提供一种结构化的、可维护性高的开发方式,帮助开发者构建动态的、数据驱动的Web应用。 1. **Struts压缩包内容** Struts框架的下载通常包含以下部分: - `struts.jar`:核心库,包含所有必要的类和...

    Struts框架简介

    Struts框架的使用大大简化了大型Web应用程序的开发和维护,通过明确的角色分工,增强了代码的可测试性和可扩展性。开发者可以通过扩展Action和ActionForm类,以及自定义ActionMapping和ActionForward,来适应特定的...

    基于Struts框架的网上书店毕业论文

    2. **MVC设计模式**:解释MVC模式如何将业务逻辑(Model)、用户界面(View)和控制流程(Controller)分离,提高代码的可维护性和可扩展性。 3. **Struts工作流程**:描述一个请求从客户端到服务器,经过Struts...

    struts框架详细介绍(ppt)

    - **扩展性强**:由于是开源项目,有大量的插件和社区支持,方便扩展和定制。 - **配置集中**:struts-config.xml集中管理了所有配置,方便管理和维护。 7. **Struts标签库**: - 提供了丰富的JSP标签,如logic...

    struts2框架源码

    Struts2基于经典的MVC设计模式,将业务逻辑(Model)、用户界面(View)和控制逻辑(Controller)分离,使得开发者能够专注于各自领域的实现,提高了代码的可读性和可扩展性。在Struts2中,Action类扮演Controller...

    基于struts框架的电子商务网站

    6. **优化与扩展性**: - 使用缓存技术(如Ehcache)提高数据读取速度,减轻数据库压力。 - 设计良好的接口和模块化,方便后续功能的添加和代码维护。 - 使用Spring或Hibernate等其他框架集成,提高开发效率和...

Global site tag (gtag.js) - Google Analytics