`
wuxiaozeng2440
  • 浏览: 27277 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

struts简单工作流程

 
阅读更多

 

Struts2体系结构大致包含四个模块。Servlet过滤器,Struts核心API,拦截器,开发者定义文件。

 

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

 

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

 

3.接下来需要调用FilterDispatcher核心控制器,然后它调用ActionMapper来决定这个调用哪个Action,ActionMapper返回一个收集Action详细信息的ActionMaping对象

 

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

 

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

 

6.ActionProxy创建一个ActionInvocation的实例。

 

7.ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用。

 

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

 

其中架的配置文件(struts.xml),Action类,JSP或者FreeMarker的模版是开发者自己定义的。

拦截器(Intercepter)先拦截用户请求,然后交给Action处理,Action处理完返回result还要再次被拦截。

过滤器在请求(HttpServletRequest)负责在请求过来过滤非法请求,并将合法的请求权委派给ActionProxy。ActionMapper,ActionProxy,配置管理器(ConfigurationManager),ActionInvocation这些都是Struts2的核心API

 

分享到:
评论

相关推荐

    Struts2工作流程图

    虽然Struts2号称是一个全新的框架,但这仅仅是相对Struts 1而言。Struts 2 与Struts 1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架:WebWork基础上发展起来的。从某种程度...

    Struts工作流程

    以下是Struts工作流程的详细说明: 1. **模型(Model)**: 模型层主要负责应用程序的状态管理和业务逻辑处理。在Struts框架中,模型通常由JavaBean或Enterprise JavaBeans(EJB)来实现。JavaBean是简单的Java类...

    struts2工作流程

    ### Struts2工作流程详解 #### 一、Struts2框架概述 Struts2作为一款流行的Java Web开发框架,其核心目标就是简化Web应用的开发流程。它通过一系列的组件和设计模式,使得开发者能够更加高效地构建出稳定且可维护...

    Struts的工作原理

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

    Struts开发指南之工作流程.doc

    为了更好地理解Struts的工作流程,以下是一个简单的示例说明: 假设有一个登录页面logon.jsp,用户提交登录信息后,Struts的工作流程如下: 1. **接收请求**:用户提交登录信息,HTTP请求被ActionServlet捕获。 2....

    Struts1工作原理浅析【转】

    Struts1 的工作流程可以分为以下七步: 1. 检索和用户请求匹配的 ActionMapping 实例,如果不存在就返回请求路径无效信息。 2. 如果 ActionForm 实例不存在,就创建一个 ActionForm 对象,并把客户提交的表单数据...

    struts2开发流程ppt

    开始一个新项目,创建一个简单的Hello World示例,涉及Action类的编写、配置struts.xml文件,以及相应的JSP视图页面。 4. **Action类与结果映射** Action类是业务逻辑的核心,它可以处理用户请求并返回结果。每个...

    struts2入门实例和工作(流程)原理

    接下来,我们来看一下Struts2的工作流程: 1. 当用户发起一个HTTP请求时,请求首先会被web容器(如Tomcat)接收到。 2. 请求通过一系列的过滤器,其中包括ActionContextCleanUp过滤器,用于清理ActionContext,防止...

    使用struts1实现简单用户登陆流程

    在"使用Struts1实现简单用户登陆流程"的项目中,我们将深入探讨如何利用Struts1搭建一个基础的用户登录系统。 首先,让我们了解一下Struts1的核心组件: 1. **ActionServlet**:这是Struts1的入口点,负责处理所有...

    struts详细流程图

    在这个"struts详细流程图"中,我们可以看到Struts框架的工作原理和各个组件之间的交互过程。 首先,让我们从基础开始。在传统的Web应用中,用户发送请求到服务器,服务器处理请求并返回响应。Struts框架引入了一个...

    struts小例子 简单的计算器

    这个“struts小例子 - 简单的计算器”是一个基础的示例,用于展示Struts框架如何在实际应用中工作,特别是如何处理用户请求、控制应用程序流程以及显示结果。 首先,让我们理解Struts框架的核心概念: 1. **Model*...

    struts2工作原理

    首先,Struts2并非Struts1的简单升级,而是融合了WebWork的核心,因此在设计和工作流程上有显著差异。Struts2的稳定性和性能得益于WebWork的基础,提供了更高级别的功能和灵活性。 在源代码层面,Struts2的结构分为...

    用struts开发的简易bbs论坛社区源码简洁设计网

    本源码提供的是一个基于Struts框架开发的简易BBS论坛社区,其设计简洁,适合初学者学习和理解Struts的工作原理以及Web应用开发的基本流程。 在Struts框架中,主要包含以下几个核心组件: 1. **ActionServlet**:这...

    struts2的简单实例

    通过这个简单的实例,你将了解Struts2的基本工作流程和核心组件。随着对框架的深入理解和实践,你可以掌握更高级的功能,如国际化、文件上传、AJAX集成等,进一步提升Web应用的开发效率和质量。

    struts2简单实例

    总结,"struts2简单实例"展示了如何使用Struts2框架构建一个简单的学生信息查询功能,涵盖了配置文件、Action实现、数据传输以及视图展示等多个方面,是学习和理解Struts2工作原理的好例子。通过这个实例,开发者...

    模拟Struts责任链工作流及简单AOP实现

    通过以上步骤,我们成功地模拟了Struts责任链的工作流程,并实现了一个简单的AOP机制。这种设计不仅使得代码结构清晰,而且便于维护和扩展,因为每个拦截器都专注于自己的职责,而整个系统的流程则由Struts框架自动...

    struts2简单入门教程

    在Struts1中,主要使用struts-config.xml文件进行配置,而在Struts2中,虽然依然可以使用XML配置,但同时也提供了注解和Java配置的方式,使得整个流程更加灵活和简洁。 创建基于Struts2的Web程序的基本步骤大致如下...

    简单易懂Struts核心讲解

    本篇将深入讲解Struts的核心流程、标签库、验证框架以及其特性。 1. **Struts核心流程** Struts的核心流程始于客户端发送HTTP请求到服务器。这个请求被Struts的前端控制器——`ActionServlet`捕获。`ActionServlet...

    基于struts2的简单购书管理系统

    Struts2是一个强大的Java Web应用程序框架,用于构建MVC(模型-视图-控制器)架构的应用。这个"基于Struts2的简单购书管理系统"是...通过学习和实践,开发者可以深入理解Struts2的工作原理以及Java Web开发的整体流程。

Global site tag (gtag.js) - Google Analytics