`

Struts框架结构分析

    博客分类:
  • SSH
阅读更多

一个请求在Struts2框架中的处理大概分为以下几个步骤:

1 客户端初始化一个指向Servlet容器(例如Tomcat)的请求.

2 这个请求经过一系列的过滤器(Filter).(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin)

3 接着核心控制器FilterDispatcher被调用,FilterDispatcher询问ActionMapper(Action映射器)来决定这个请是否需要调用某个Action.

4 如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy.

5 ActionProxy通过Configuration Manager(配置管理器)询问框架的配置文件,找到需要调用的Action类.

6 ActionProxy创建一个ActionInvocation的实例。

7 ActionInvocation实例使用命名模式来调用,回调Action的execute方法,该execute方法获取用户请求参数,然后执行某种数据库操作。在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用。

8 一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果通常是(但不总是,也可能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版。在表示的过程中可以使用Struts2 框架中继承的标签。在这个过程中需要涉及到ActionMapper.

在上述过程中所有的对象(Action,Results,Interceptors,等)都是通过ObjectFactory来创建的.

 

建立一个Java Web项目,提取最少运行Struts2应用的包集合(摘自Struts官方文档): 

Install the Minimum Set of Libraries and Configuration Files
The following files are a minium requirement for your application.
Filename Description
struts2-core.jar Framework library itself, found in distribution root directory
xwork.jar XWork 2 library on which Struts 2 is built (version 2.0 or later)
ognl.jar Object Graph Navigation Language (OGNL), the expression language used throughout the framework
freemarker.jar All UI tag templates are written in Freemarker (also a good option for your own views)
commons-logging.jar Commons logging, which the framework uses to support transparently logging to either Log4J or JDK 1.4+
web.xml Java web application configuration file that defines the filters (and other components) for your web application
struts.xml Framework configuration file that defines the actions, results, and interceptors for your application

If any Struts 2 Plugins are included, then other JARs may be needed too. For example, the optional Spring Plugin requires the Spring JARs to be present.

分享到:
评论

相关推荐

    struts核心架构分析图

    struts核心架构分析图struts核心架构分析图struts核心架构分析图struts核心架构分析图

    基于MVC结构的Struts框架的研究

    Struts是一个用于开发Web应用程序的框架,它采用MVC(Model-View-Controller)的设计思想,很好的实现了业务逻辑和用户界面的...对Struts框架所涉及的技术要点进行了分析,并对配置文件,表单验证等特性进行了详细的描述。

    Struts2教程,很适用哦

    本文主要从概念上讲解什么是struts framework,它的框架结构,组件结构,以及配置讲解。对于其应用请参考后面的“struts安装及应用”和“struts实用案例分析”。 文章的包括了如下四大部分: 一、 Framework的概念...

    Struts框架技术在J2EE中的研究和应用

    摘要简要介绍了J2EE技术及其应用程序架构的发展,论述了Struts框架的基本设计思想,分析了Struts框架开发系统的优点,并结合具体项目实现了Struts框架技术的应用。关键词J2EE;MVC;Struts;框架1J2EE简介J2EE是一个...

    struts2.4+spring3.1+hibernate4.1的SSH框架

    其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,利用Hibernate框架对持久层提供支持,业务层用Spring支持。具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现...

    基于Struts框架的科技管理系统的设计与实现

    在总结传统B/S架构的科技管理系统存在的许多弊端的基础上,探讨Struts框架的体系结构及实现MVC设计模式的机制,详细分析科技管理系统的主要功能,并利用Struts框架和Java语言对该系统进行设计和开发,为使用Struts...

    Struts2核心包

    struts2-core-2.2.1.jar:Struts2框架的核心类库。 xwork-core-2.2.1.jar:Xwork核心类库,Struts2在其上构建。 ognl-3.0.jar:对象图导航语言(Object Graph Navigation Language),它是一种功能强大的表达式语言...

    信息办公基于struts的图书管理系统-struts-ts.rar

    总之,这个基于struts的图书管理系统_struts_ts.rar源码资料包为计算机专业的学生和开发者提供了一个很好的学习和实践平台,通过阅读和分析源码,可以深入了解Struts框架的原理和应用,提高自己的技术水平。...

    Struts图书馆管理系统

    图书馆管理系统是基于Struts框架结构的图书馆管理系统 ,内容有图书管理系统的源码、开题报告、需求分析,是毕业设计精品

    基于Struts框架的业务逻辑复用的研究与应用

    Struts是基于MVC模式的一种成熟的Web开发框架,它合理地将表示逻辑、业务...本文通过分析Struts的处理流程并运用软件复用技术提出了特定领域的业务模块与Struts框架的集成方案,实现Struts框架在架构和业务的双重复用。

    struts养老保险系统设计与实现

    Struts框架的工作原理和实现机制后,应用Struts框架开发养老保险管理系统中 的参保人信息管理的子系统。针对占系统很大比例的数据的增、删、查、改操作中 抽象出了一个数据操作通用框架,此框架是使用数据访问对象...

    基于Java的Web网络管理系统的设计与实现

    本文首先比较全面客观的地阐述了网络管理的基本概念,而后分析国内外网络管理系统的研究现状以及研究目的,然后详细介绍SNMP网络管理协议的组成以及其发展,紧接着全面详细表述了Struts框架结构及其工作流程。...

    STRUTS框架应用中Web服务扩展模型的研究

    分析了Struts框架和Web服务在体系结构和应用模式上的异同点,提出了一种通过改写开源Struts框架的部分代码来扩展Web服务的实现方式,并给出了简单的构造。

    基于MVC模式的Struts框架的教师工作量管理系统 (2010年)

    首先对教师工作量管理系统的开发必要性、数据复杂性、及应用扩展性等特点进行了分析,针对目前教师工作量管理低效率、易出错及大信息的特点,提出了基于MVC模式的Struts框架的系统设计方案。简要介绍了Java的MVC模式及...

    基于struts+hibernat的会员管理系统设计与实现

    研究并利用现有的Web技术对Struts框架和Hibernate框架进行整合而展开的,实现了教学管理系统的企业级应用。本文首先介绍中国海洋大学继续教育学院基于C/S传统管理信息系统的不足和国内外研究现状。基于现有技术的发展...

    MVC模式及Struts框架应用研究 (2004年)

    为了克服当前Web应用开发技术中存在的诸如程序可重用性低、维护困难、开发效率低、难以扩展等弊端,结合MVC(Model-View-Controller)设计模式、在分析基于J2EE MVC架构的Struts框架的基础上详细阐述了Struts框架的...

    基于Struts和Hibernate技术的企业管理信息系统研究与开发

    择一个合适的框架结构,通过框架技术使系统各层之间实现松耦合,同时具备 较高的可扩展性与可维护性。 在 20 世纪 80 年代所提出的 MVC 软件设计模式,并且最近几年被 Sun 公 司推荐为的 J2EE 平台的设计模式,得到...

    G4Studio结构分析

    G4Studio结构分析.docx G4Studio采用是struts1.3、spring2.5、ibatis2的开源框架整合而成。

    传智博客Struts,spring,hibernate,SSH综合案例

    其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate。具体做法是:用面向对象的分析方法根据...

    SSH整合包详解.Struts2.2.3+Spring3.1.0.M2+Hibernate3.6.6

    其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,利用Hibernate框架对持久层提供支持,业务层用Spring支持。具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现...

Global site tag (gtag.js) - Google Analytics