`

Struts的工作原理

阅读更多
MVC即Model-View-Controller的缩写,是一种常用的设计模式。MVC 减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化。MVC的工作原理

Struts 是MVC的一种实现,它将 Servlet和 JSP 标记(属于 J2EE 规范)用作实现的一部分。Struts继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。

Struts有一组相互协作的类(组件)、Serlvet以及jsp tag lib组成。基于struts构架的web应用程序基本上符合JSP Model2的设计标准,可以说是MVC设计模式的一种变化类型。根据上面对framework的描述,我们很容易理解为什么说Struts是一个web framwork,而不仅仅是一些标记库的组合。但 Struts 也包含了丰富的标记库和独立于该框架工作的实用程序类。Struts有其自己的控制器(Controller),同时整合了其他的一些技术去实现模型层(Model)和视图层(View)。在模型层,Struts可以很容易的与数据访问技术相结合,包括EJB,JDBC和Object Relation Bridge。在视图层,Struts能够与JSP, Velocity Templates,XSL等等这些表示层组件想结合。

Struts的工作原理
 
       控制:通过图2大家可以看到有一个XML文件Struts-config.xml,与之相关联的是Controller,在Struts中,承担MVC中Controller角色的是一个Servlet,叫ActionServlet。ActionServlet是一个通用的控制组件。这个控制组件提供了处理所有发送到Struts的HTTP请求的入口点。它截取和分发这些请求到相应的动作类(这些动作类都是Action类的子类)。另外控制组件也负责用相应的请求参数填充 Action From(通常称之为FromBean),并传给动作类(通常称之为ActionBean)。动作类实现核心商业逻辑,它可以访问java bean 或调用EJB。最后动作类把控制权传给后续的JSP 文件,后者生成视图。所有这些控制逻辑利用Struts-config.xml文件来配置。

       视图:主要由JSP生成页面完成视图,Struts提供丰富的JSP 标签库: Html,Bean,Logic,tiles等,这有利于分开表现逻辑和程序逻辑。

       模型:模型以一个或多个java bean的形式存在。这些bean分为三类:Action Form、Action、JavaBean or EJB。Action Form通常称之为FormBean,封装了来自于Client的用户请求信息,如表单信息。Action通常称之为ActionBean,获取从ActionSevlet传来的FormBean,取出FormBean中的相关信息,并做出相关的处理,一般是调用Java Bean或EJB等。

       流程:在Struts中,用户的请求一般以*.do作为请求服务名,所有的*.do请求均被指向ActionSevlet,ActionSevlet根据Struts-config.xml中的配置信息,将用户请求封装成一个指定名称的FormBean,并将此FormBean传至指定名称的ActionBean,由ActionBean完成相应的业务操作,如文件操作,数据库操作等。每一个*.do均有对应的FormBean名称和ActionBean名称,这些在Struts-config.xml中配置。

       核心:Struts的核心是ActionSevlet,ActionSevlet的核心是Struts-config.xml。

分享到:
评论

相关推荐

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

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

    Spring+Hibernate+Struts工作原理

    【Struts工作原理】 Struts是一个MVC(Model-View-Controller)框架,它的核心是ActionServlet。在Web应用启动时,ActionServlet会加载并解析struts-config.xml配置文件。当用户发送请求时,Struts框架按照以下步骤...

    struts工作原理图、spring框架结构图、hibernate工作原理图

    1. Struts工作原理: Struts 是一个基于MVC(Model-View-Controller)设计模式的Java Web框架。其主要目标是提供一个用于创建可维护性高、易于测试的Web应用程序的结构。Struts工作流程如下: - 用户通过浏览器向...

    struts工作原理和配置

    在本文中,我们将深入探讨Struts的工作原理和配置。 **1. Struts工作原理** Struts的核心是ActionServlet,它是一个定制的Servlet,负责处理所有的HTTP请求。当用户发送请求到服务器时,ActionServlet首先会解析...

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

    ### Hibernate、Spring和Struts工作原理及使用理由 #### Hibernate工作原理及使用理由 **1. Hibernate概述** Hibernate是一个开放源代码的ORM(Object-Relational Mapping)框架,用于简化数据库操作,它允许将...

    Struts工作原理、流程.doc

    以下是对Struts工作原理和流程的详细解释: ### Struts配置步骤 1. **导入Struts库**:在项目中引入Struts相关的jar包,这些库包含了Struts框架运行所需的所有组件。 2. **创建配置文件**:在`WEB-INF`目录下创建...

    Struts工作原理和机制 hibernate对持久化对象的操作

    Struts工作原理与机制 Struts是Java Web开发中的一款经典MVC(Model-View-Controller)框架,它简化了创建基于JSP和Servlet的应用程序的过程。Struts的核心在于ActionServlet,它是整个框架的控制器,负责接收HTTP...

    struts工作原理不错的解释___已看(不错).txt

    struts工作原理不错的解释___已看(不错).txt

    struts工作原理和开发流程

    本文将深入探讨Struts的工作原理和开发流程,特别是关于其Validator验证框架的使用。 首先,理解Struts的工作原理至关重要。当用户通过浏览器发送请求到服务器时,Struts框架会拦截这个请求并按照预定义的配置来...

    struts工作原理

    下面我们将详细解析Struts的工作原理和流程。 1. **初始化配置**: 当Web服务器启动时,根据`web.xml`配置文件,ActionServlet(Struts的总控制器)被加载并初始化。ActionServlet会读取`struts-config.xml`配置...

    spring优点,struts工作原理

    Struts2是另一个流行的Java Web框架,其工作原理主要基于Model-View-Controller(MVC)设计模式: 1. 拦截器:Struts2的核心是Action和Interceptor(拦截器)。当用户发起请求时,请求会被一系列的拦截器链所处理,...

    struts的工作原理

    学习的时候总结出来的,相当清晰的描述了struts2

    Struts工作原理

    Struts是基于MVC的WEB应用框架. Struts为Java Web应用提供现成的通用框架.

    struts2工作原理

    struts2工作原理、请求响应流程。。。。。。。。。。。。。。。

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

    下面将分别介绍这三个框架的工作原理,并进行对比。 **Struts1原理:** Struts1是Apache组织的一个开源项目,它引入了ActionServlet来处理HTTP请求。当用户发起请求时,请求会被Struts1的Front Controller(即...

Global site tag (gtag.js) - Google Analytics