百度
360搜索
搜狗搜索

struts框架入门,什么是struts1框架?详细介绍

本文目录一览: 关于Struts框架简介

(一)个人整理Struts框架简介   一 什么是框架? 所谓框架就是提供了一组统一的接口和编程方式的可以重用组件 同时我们可以在框架中扩充我们自己的特定逻辑 二 MVC设计模式 将应用程序分为 个部分 模型 Model 视图View 控制器Controller 模型组件 负责业务逻辑 模型包含应用程序的核心功能 模型封装了应用程序的状态 有时它包含的唯一功能就是状态 它对视图或控制器一无所知 视图组件 负责表示业务范围的视图 视图提供模型的表示 它是应用程序的 外观 视图可以访问模型的读方法 但不能访问写方法 此外 它对控制器一无所知 当更改模型时 视图应得到通知 控制器组件 负责控制用户输入的流和状态 控制器对用户的输入作出反应 它创建并设置模型 Struts 它是使用 servlet 和 JavaServer Pages 技术的一种MVC 实现 Struts Apache组织的一个项目 MVC 的一种开放源码实现 三 什么是Struts框架 Struts 是一组相互协作的类 servlet 和 JSP 标记组成的一个可重用的 MVC 设计 这个定义表示 Struts 是一个框架 而不是一个库 但 Struts 也包含了丰富的标记库和独立于该框架工作的实用程序类 四 Struts 概览   Client browser(客户浏览器) 来自客户浏览器的每个 HTTP 请求创建一个事件 Web 容器将用一个 HTTP 响应作出响应 Controller(控制器) 控制器接收来自浏览器的请求 并决定将这个请求发往何处 就 Struts 而言 控制器是以 servlet 实现的一个命令设计模式 struts config xml 文件配置控制器命令    业务逻辑 业务逻辑更新模型的状态 并帮助控制应用程序的流程 就 Struts 而言 这是通过作为实际业务逻辑 瘦 包装的 Action 类完成的    Model(模型)的状态 模型表示应用程序的状态 业务对象更新应用程序的状态 ActionForm bean 在会话级或请求级表示模型的状态 而不是在持久级 JSP 文件使用 JSP 标记读取来自 ActionForm bean 的信息 View(视图) 视图就是一个 JSP 文件 其中没有流程逻辑 没有业务逻辑 也没有模型信息 —— 只有标记 标记是使 Struts 有别于其他框架(如 Velocity)的因素之一 五 Struts中的Controller(控制器) 命令设计模式的实现 Struts 的控制器将事件(事件通常是 HTTP post)映射到类的一个 servlet   ActionServlet (Command) 创建并使用 Action ActionForm 和 ActionForward 通过struts config xml 文件配置该 Command 从而扩展 Action 和 ActionForm 来解决特定的问题 可以通过扩展 ActionServlet 来添加 Command 功能 在Struts框架中控制器组件由三个部分构成 消息控制模块 用户所有的提交请求都发往消息控制模块 在由消息总线模块根据视图映射模块找到消息处理模块来执行处理逻辑 消息控制模块接收所有用户的请求 并根据请求视图找到处理 Strtus中通过ActionServlet和RequestProcessor类来完成 消息处理模块 该模块执行该消息的逻辑处理 因此通常由用户扩展实现 Struts中通过Action类来实现 视图映射模块 控制器逻辑和视图逻辑之间的结合是通过配置模块和配置文件建立其的链接 Struts中配置模块通过ModuleConfig类来完成 而配置文件由struts config xml文件提供    六 Struts中的View(视图) 视图组件通过JSP组件实现的 Struts框架对视图组件进行了扩展和封装 Struts对视图的扩展提供了一组扩展服务器标签用来提供视图显示以及传递数据到处理缓冲 而处理缓冲由ActionForm的扩展类来实现 Struts框架利用ActionForm Bean来实现视图与控制器之间的数据的交互 维持会话级或请求级的模型的状态 服务器标签主要包括 Html视图标签 Logic逻辑流程控制标签 Bean数据缓冲读取标签 七 Struts中的Model(模型) Struts框架中并没有定义特定的模型组件 而是希望由用户自己决定选择合理的模型组件 J EE中可用的模型组件包括 JavaBean 用户定义组件 EJB 组件 由EJB容器实现组件 JDO 未来J EE数据访问模型 一些扩展框架如 Hibernate 模型中状态的级别 会话级或请求级 ActionForm bean来维持 持久级 模型组件来维持 lishixinzhi/Article/program/Java/ky/201311/28517

struts2的工作流程?

在Struts2框架中的处理大概分为以下几个步骤:
1、客户端初始化一个指向Servlet容器(例如Tomcat)的请求
2、这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin)
3、接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请是否需要调用某个Action
4、如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy
5、ActionProxy通过Configuration Manager询问框架的配置文件,找到需要调用的Action类
6、ActionProxy创建一个ActionInvocation的实例。
7、ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用。
8、一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果通常是(但不总是,也可 能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版。
在表示的过程中可以使用Struts2 框架中继承的标签。在这个过程中需要涉及ActionMapper 。
扩展资料:
应用流程注解
当Web容器收到请求(HttpServletRequest)它将请求传递给一个标准的的过滤链包括(ActionContextCleanUp)过滤器。
经过Other filters(SiteMesh ,etc),需要调用FilterDispatcher核心控制器,然后它调用ActionMapper确定请求哪个Action,ActionMapper返回一个收集Action详细信息的ActionMaping对象。
FilterDispatcher将控制权委派给ActionProxy,ActionProxy调用配置管理器(ConfigurationManager) 从配置文件中读取配置信息(struts.xml),然后创建ActionInvocation对象。
ActionInvocation在调用Action之前会依次的调用所用配置拦截器(Interceptor N)一旦执行结果返回结果字符串ActionInvocation负责查找结果字符串对应的(Result)然后执行这个Result Result会调用一些模版(JSP)来呈现页面。
拦截器(Interceptor N)会再被执行(顺序和Action执行之前相反)最后响应(HttpServletResponse)被返回在web.xml中配置的那些过滤器和核心控制器(FilterDispatcher)。
参考资料:百度百科-Struts 2

用eclipse怎样基于struts1搭建开发框架?

  1 新建一个项目
  1) 选择Java >> Tomcat Project,下一步
  
  2)填写项目名称,如果不采用项目所在目录的缺省值,请修改,点击完成。
  2 创建Struts框架
  1) 右键选择项目 >> 新建 >> 其他 >> MyEclipse >> Web-Struts >> Struts 1.2 >> Struts 1.2 Form,Action & JSP。
  
  2) 配置Struts ActionForm
  接下来填写Optional Details,输入Form表单项,本例为用户名(username)和密码(userpassword)。点击Add
  输后完毕,Optional Details的Form Properties中会显示。
  Methods选项卡的设置我们采用默认设置,不去修改。
  点击JSP选项卡,将“Create JSP form”选项的勾选中,采用默认设置“/form/logon.jsp”。
  3) 配置Struts Action
  以上步骤完成了对Form的配置,下面配置Action。
  Parameter和Methods选项也采用默认。
  点击Forwards选项卡,点击Add,配置成功页面信息。选取根目录的success.jsp作为成功页面,Name为logon_sc。
  输后完毕,Optional Details的Forwards中会显示。
  
  点击完成。

阅读更多 >>>  前端h5页面用什么框架,前端常用的框架有哪些?

Struts1.x系列教程(11):Validator验证框架高级应用

  在《Struts x系列教程( ) Validator验证框架入门》一文中给出的例子中的name age和email都是简单的属性 如果是嵌套的属性(也就是一个属性的数据类型是另外一个带有属性的类) 可以使用圆点( )符号来访问 如我们可以通过设置

元素的property属性值为 employee salary 来验证employee属性中的salary属性

  如果要验证的索引属性 我们可以使用

元素的indexedListProperty属性来指定这个索引属性 如下面代码如示

  

  在使用上述配置代码后 Validator框架将会按著depends属性中的约束来验证items属性的每一个值 我们还可以将property和indexedListProperty配合使用 如下面代码所示

  

  Validator框架将根据上述的配置代码来验证items属性中的每一项的employee age属性

   二 使用常量和变量

   常量

  在《Struts x系列教程( ) Validator验证框架入门》一文中的name属性使用了mask进行验证 这个mask实际上代表了一个正则表达式 但如果在validator xml文件中有很多个地方需要用到这个正则表达式 那就它就会在很多地方重复 为此 我们可以使用常量来避免这种事情发生

  常量分为全局常量和局部常量

  ( )全局常量

  全局常量可以被用在validator xml中定义的所有form中 我们可以使用

元素来配置全局常量 为了配置全局常量 将如下的内容放到第一个

元素的前面

  

mask

^[a zA Z ]*$

  ( )局部常量

  局部常量需要放到

元素的开始位置(根据DTD的定义 局部常量只能放到这里 而全局常量可以放在第一个

元素的前面 也可以放到

的后面) 如下面的代码所示

  

mask

^[a zA Z ]*$

  我们可以编写如下的代码来使用mask常量

  
mask ${mask}

   变量

  Validator框架通过
元素来定义变量 变量将作为

的子元素被使用 主要向depends属性值(如mask)以及

的错误信息传递数据 如下面的代码通过变量required将 姓名 传递给了错误信息的第一个参数{ }

  

required 姓名

   三 客户端验证

  使用Validator框架的好处之一就是可以很容易地将服务端验证变为客户端验证(JavaScript验证) 为了完成这一转换 我们只需要修改两个地方 现在就拿《Struts x系列教程( ) Validator验证框架入门》中的firstValidator jsp为例来说明要修改什么

  首先 在firstValidator jsp中的任何地方(当然 任何地方指的是客户端代码区 并不包括<%……%>和<%——…… ——%>所包含的内容)添加如下的< javascript>标签

   <:javascript formName= firstValidatorForm />

  然后在< form>标签中加入如下的属性

   onsubmit= return validateFirstValidatorForm(this);

lishixinzhi/Article/program/Java/ky/201311/28301


什么是struts1框架?

struts采用的是MVC(Model-View -Controller) 模式( Patterns ) 以增加程序代码弹性,MVC模式将程序代码整理切割为三部分,Model 部分是业务与应用领域( Business domain) 相关逻辑、管理状态之对象,Controller 部分接收来自View 所输入的资料并与Model 部分互动,是业务流程控制( Flow Control) 之处,View 部分则负责展现资料、接收使用者输入资料。
框架中三个部分:模型,视窗和控制器。
◆模型
在struts框架中,模型分为两个部分:
a. 系统的内部状态
b. 可以改变状态的操作(事务逻辑)
内部状态通常由一组ActinForm JavaBean表示。根据设计或应用程序复杂度的不同,这些Bean可以是自包含的并具有持续的状态,或只在需要时才获得数据(从某个数据库)。
大型应用程序通常在方法内部封装事务逻辑(操作),这些方法可以被拥有状态信息的bean调用。比如购物车bean,它拥有用户购买商品的信息,可能还有checkOut()方法用来检查用户的信用卡,并向仓库发定货信息。
小型程序中,操作可能会被内嵌在Action类,它是struts框架中控制器角色的一部分。当逻辑简单时这个方法很适合。
建议用户将事务逻辑(要做什么)与Action类所扮演的角色(决定做什么)分开。
◆视窗
由JSP建立,struts包含扩展自定义标签库,可以简化创建完全国际化用户界面的过程。
◆控制器
struts中,基本的控制器组件是ActionServlet类中的实例servlet,实际使用的servlet在配置文件中由一组映射(由ActionMapping类进行描述)进行定义

Struts2简介

   一 什么是Struts ?
  虽然Struts 号称是一个全新的框架 但这仅仅是相对Struts 而言 Struts 与Struts 相比 确实有很多革命性的改进 但它并不是新发布的新框架 而是在另一个赫赫有名的框架 WebWork基础上发展起来的 从某种程度上来讲 Struts 没有继承Struts 的血统 而是继承WebWork的血统 或者说 WebWork衍生出了Struts 而不是Struts 衍生了Struts 因为Struts 是WebWork的升级 而不是一个全新的框架 因此稳定性 性能等各方面都有很好的保证 而且吸收了Struts 和WebWork两者的优势 因此 是一个非常值得期待的框架
  Apache Struts 是一个优雅的 可扩展的JAVA EE web框架 框架设计的目标贯穿整个开发周期 从开发到发布 包括维护的整个过程
  Apache Struts 即是之前大家所熟知的WebWork 在经历了几年的各自发展后 WebWork和Struts社区决定合二为一 也即是Struts
   Struts 和Struts 的不同

   Action 类
  ◆Struts 要求Action类继承一个抽象基类 Struts 的一个普遍问题是使用抽象类编程而不是接口
  ◆Struts Action类可以实现一个Action接口 也可实现其他接口 使可选和定制的服务成为可能 Struts 提供一个ActionSupport基类去实现 常用的接口 Action接口不是必须的 任何有execute标识的POJO对象都可以用作Struts 的Action对象
   线程模式
  ◆Struts Action是单例模式并且必须是线程安全的 因为仅有Action的一个实例来处理所有的请求 单例策略限制了Struts Action能作的事 并且要在开发时特别小心 Action资源必须是线程安全的或同步的
  ◆Struts Action对象为每一个请求产生一个实例 因此没有线程安全问题 (实际上 servlet容器给每个请求产生许多可丢弃的对象 并且不会导致性能和垃圾回收问题)
   Servlet 依赖
  ◆Struts Action 依赖于Servlet API 因为当一个Action被调用时HttpServletRequest 和 HttpServletResponse 被传递给execute方法
  ◆Struts Action不依赖于容器 允许Action脱离容器单独被测试 如果需要 Struts Action仍然可以访问初始的request和response 但是 其他的元素减少或者消除了直接访问HttpServetRequest 和 HttpServletResponse的必要性
   可测性
  ◆测试Struts Action的一个主要问题是execute方法暴露了servlet API(这使得测试要依赖于容器) 一个第三方扩展——Struts TestCase——提供了一套Struts 的模拟对象(来进行测试)
  ◆Struts Action可以通过初始化 设置属性 调用方法来测试 依赖注入 支持也使测试更容易
   捕获输入
  ◆Struts 使用ActionForm对象捕获输入 所有的ActionForm必须继承一个基类 因为其他JavaBean不能用作ActionForm 开发者经常创建多余的类捕获输入 动态Bean(DynaBeans)可以作为创建传统ActionForm的选择 但是 开发者可能是在重新描述(创建)已经存在的JavaBean(仍然会导致有冗余的javabean)
  ◆ Struts 直接使用Action属性作为输入属性 消除了对第二个输入对象的需求 输入属性可能是有自己(子)属性的rich对象类型 Action属性能够通过web页面上的taglibs访问 Struts 也支持ActionForm模式 rich对象类型 包括业务对象 能够用作输入/输出对象 这种ModelDriven 特性简化了taglib对POJO输入对象的引用
   表达式语言
  ◆Struts 整合了JSTL 因此使用JSTL EL 这种EL有基本对象图遍历 但是对集合和索引属性的支持很弱
  ◆Struts 可以使用JSTL 但是也支持一个更强大和灵活的表达式语言—— Object Graph Notation Language (OGNL)
   绑定值到页面(view)
  ◆ Struts 使用标准JSP机制把对象绑定到页面中来访问
  ◆Struts 使用 ValueStack 技术 使taglib能够访问值而不需要把你的页面(view)和对象绑定起来 ValueStack策略允许通过一系列名称相同但类型不同的属性重用页面(view)
  类型转换 ◆Struts ActionForm 属性通常都是String类型 Struts 使用Commons Beanutils进行类型转换 每个类一个转换器 对每一个实例来说是不可配置的
  ◆Struts 使用OGNL进行类型转换 提供基本和常用对象的转换器
  校验 ◆Struts 支持在ActionForm的validate方法中手动校验 或者通过Commons Validator的扩展来校验 同一个类可以有不同的校验内容 但不能校验子对象
  ◆Struts 支持通过validate方法和XWork校验框架来进行校验 XWork校验框架使用为属性类类型定义的校验和内容校验 来支持chain校验子属性Action执行的控制 ◆Struts 支持每一个模块有单独的Request Processors(生命周期) 但是模块中的所有Action必须共享相同的生命周期
  ◆Struts 支持通过拦截器堆栈(Interceptor Stacks)为每一个Action创建不同的生命周期 堆栈能够根据需要和不同的Action一起使用
   Struts 的工作流程图
  
   工作流程图
  工作流程当接收到一个request Interceptor做一些拦截或者初始的工作当外部的ervletrequest到来时初始到了servlet容器 传递给一个标准的过滤器链ActionContextCleanUp这个在集成插件方面非常有用Other filters(SitMesh etc)
  调用FilterDispatecher会去查找相应的ActionMapper如果找到了相应的ActionMapper它将会将控制权限交给ActionProxy ActionProxy将会通过ConfigurationManager来查找配置struts xml下一步将会 通过ActionInvocation来负责命令模式的实现(包括调用一些拦截Interceptor框架在调用action之前)
  一旦action返回 会查找相应的Result Result类型可以是 jsp或者freeMark 等这些组件和ActionMapper一起返回给请求的url(注意拦截器的执行顺序)
lishixinzhi/Article/program/Java/ky/201311/28090

阅读更多 >>>  wps怎么调换页顺序

struts2框架需要哪些配置文件

需要的JAR文件为:Spring和Struts2框架本身需要的JAR文件以及他们所依赖的JAR文件,比如commons-logging.jar等等
简单的strus2框架需要配置的文件只有struts.xml文件和web.xml文件。
1、核心配置文件:一般情况下是写在src下的struts.xml文件,在这个文件中配置action类的跳转信息等,主要标签是package、action和result这三个;
2、过滤器:配置在web.xml中;
3、剩下的就是一些jar包,这些jar包在struts的官网上都有完整的压缩包免费下载的;
更加具体的一些配置,比如说struts.xml中那三个标签的应用、过滤器的配置、约束的导入何制作等这些都比较详细,要是想快速入门可以看一下别人的博客教程文章,我给你推荐一个吧,还是挺详细的,比较适合初学者;
struts2框架搭建
希望对你有所帮助,有帮助的话可以给我个大拇指哦~

简述struts的工作流程?

大概逻辑如下(有些的可能不太全面,可以多看看书.):
struts1:
发布Struts Web服务时,根据web.xml初始化ActionServlet,ActionContext等内容.
在接到一个HttpRequest请求后,ActionServlet 根据struts-config.xml中的配置内容,将请求的参数传到对应的Formbean中,并设置session.然后根据请求中的Action参数,在struts-config.xml中查找指定的Action,并调用此Action来处理请求.根据Action的处理结果,会返回一个forward变量,此时通过mapping.findForward()查找出对应的forward所标示的Action或者JSP页面,将请求转到下一个处理.如果是forward指向JSP页面,则输出到前台.
Struts2:
(1)客户端提交一个HttpServletRequest请求(.action或JSP页面)
(2)请求被提交到一系列Filter过滤器,如ActionCleanUp和FilterDispatcher等
(3)FilterDispatcher是Struts2控制器的核心,它通常是过滤器链中的最后一个过滤器
(4)请求发到FilterDispatcher后,FilterDispatcher询问ActionMapper是否需要调用某个Action来处理这个Request(一般根据URL后缀是否为.action来判断)
(5)如果ActionMapper决定需要调用某个Action,FilterDispatcher则把请求交到ActioProxy,由其进行处理.
(6)ActionProxy通过Configuration Manager(它会访问struts.xml)询问框架的配置文件,找到需要调用的Action类.
(7)ActionProxy创建一个ActionInvocation实例,而ActionInvocation通过代理模式调用Action,(在调用之前会根据配置文件加载相关的所有Interceptor拦截器)
(8)Action执行完毕后,返回一个result字符串,此时再按相反的顺序通过Interceptor拦截器.
(9) 最后ActionInvocation负责根据struts.xml中配置的result元素,找到与返回值对应的result,决定进行下一步输出.

详解Struts中Validator验证框架的使用

  Validator框架已成为Jakarta的公共项目的一部分 可以从下载单独的Validator框架 在Struts中已经带了这个框架
  Validator主要依赖两个jar包
   Jakarta oro jar -提供一组处理文本的类 具有文本替换 过滤 和分割功能
   Commons validator jar 提供了一个简单 可扩展的验证框架 包含了通用的验证方法和验证规则
  在用Struts中用这个框架 需加入这两个包 用起来感觉还不错

  下面介绍一下
  Validator采用基于两个xml文件的方式来配置验证规则 分别为validation xml validator rules xml 在struts应用中 需放到web inf目录下
   .validator rules xml
  这个文件包含了一组验证规则 对所有struts应用都适用 一般情况不用修改这个文件 除非要修改或扩展默认规则 如果要给应放到另一个xml文件中 而不是直接添加到validator rules xml文件中 这样当Validator升级时 不用修改validator rules xml文件
   .validator xml文件
  这个文件是针对于具体struts应用的 他可以为应用中的ActionForm配置验证规则 而不用编码实现验证
  例如一个验证登陆form的例子 要求用户名必须填写 秘密要求必填 最大 最小长度及其内容的要求
   代码
  

pwd

^\w+$

mask ^\w+$
minlength
maxlength

  validator xml和validator rules xml文件的语法不在这里说明
   Validator插件
  为了在struts中用validator 可以用插件方式加载Validator框架 需在struts配置文件中配置ValidatorPlugIn插件 同时写明两个xml文件的路径
  应用启动时 Strust会加载这个插件 并调用他的init()方法 init()方法根据pathnames加载
  相应的validator xml validator xml文件 把验证信息读入到内存中
  代码
  
  

   .Validator和ActionForm
  Validator框架不能直接 apache struts action ActionForm 应采用ActionForm的两个子类
  ValidatorActionForm和ValidatorForm
  DynaValidatorActionFrom继续自DynaValidatorForm
  支持动态在ActionFrom中使用Validator框架
  ValidatorFormActionForm继承ValidatorForm
  支持在标准ActionForm中使用Validator框架
  DynaValidtaorForom和ValidatorForm类都实现了validator()方法 如果验证失败 就会返回包含错误消息的ActionMessage对象 并把该对象添加到ActionErrors集合对象中 由validator方法最后返回ActionErrors对象
  ValidatorForm有一个子类ValidatorActionForm
  ValidatorForm
  Strust配置文件的元素的name属 >validator xml文件
元素的name属性   ValidatorActionForm
  Strust配置文件的元素的path属 >validator xml文件元素的name属性
  Validator框架提供这两个类目的在于可以更加精确的控制执行验证的条件
  例如
  loginForm表单对应两个验证规则A B 对应login cancel两个动作
  如果对于这两个动作都要执行规则A B 则可以扩展一个ValidatorFom类loginForm然后配置
  代码
  
  

验证规则A 验证规则B


  如果对于用户的login动作 执行规则A 对于cancel动作执行B规则 则可以扩展一个ValidatorActionFom类

  loginForm

  然后配置

  代码

  

  

验证规则A

验证规则B

  而DynaValidatorForm和DynaValidatorActionForm 区别和ValidatorFrom和ValidatorActionForm的区别一样

   .在validator框架中使用JavaScript

  默认情况下 validator框架在服务器端执行表单验证 也可以在客户端验证

  如果在客户端验证 需要使用struts的 <:javascript> 标签 他能在jsp页面中生成用于客户端验证

  的JavaScript的脚本

   ) 在validator-rules xml文件的 元素中配置 元素默认struts框架的validator-rules xml文件已经包含了javascript子元素 也可以将这些javascript集中放到一个validator js的文件中 也页面中引入代码

  < script language= Javascript src= js/validator js >< /script>

   ) 在Jsp页面中包含< :javascript>

  < :javascript formName= loginForm > 这个标签的form的name属性制定需要验证的表单名字

  他能够访问为表单配置的验证规则的javascript元素 把包含的脚本写到jsp页面中 生成validateLoginForm的函数 负责执行验证逻辑

   ) 对需要验证的表单定义onsubmit事件

   )代码

  < :form action= manageContract do onsubmit= return validateContractForm(this); >

   ) 用户在表单上提交后 就会调用 <:javascript>

  标签生成的js脚本validateLoginForm函数 执行验证 如果验证失败 就会弹出对话框提示

  不会提交的服务器端

  小结

  使用步骤

   ) 创建扩展ValidatorForm或ValidatorActionForm类的ActionForm 如果使用动态ActionForm

  则不用扩展DynaValidatorForm或DynaValidatorActionForm类的子类 可以直接进行第二步

   ) 在struts文件中配置form和action元素

   ) 把validator框架使用的文本信息添加到应用的Resource Bundle中

   ) 代码

  < message resources parameter= web ApplicationResources />

   ) 在validatorxml文件中为表单配置验证规则

   ) 在struts配置文件中配置validatorPlugIn插件

  代码

  

  

阅读更多 >>>  layuiadmin框架,layui框架模板

lishixinzhi/Article/program/Java/ky/201311/27918


struts框架响应客户端的工作流程是什么?

源于百度
1.客户端发出一个指向servlet容器的请求
2.这个请求会经过图中的几个过滤器,最后会到达FilterDispatcher过滤器。
3.过滤器FilterDispatcher是struts2框架的心脏,在处理用户请求时,它和请求一起相互配合访问struts2的底层框架结构。在web容器启动时,struts2框架会自动加载配置文件里相关参数,并转换成相应的类。如:ConfigurationManager、ActionMapper和ObjectFactory。ConfigurationManager 存有配置文件的一些基本信息,ActionMapper存有action的配置信息。在请求过程中所有的对象(Action,Results,Interceptors,等)都是通过ObjectFactory来创建的。过滤器会通过询问ActionMapper类来查找请求中需要用到的Action。
4.如果找到需要调用的Action,过滤器会把请求的处理交给ActionProxy。ActionProxy为Action的代理对象。ActionProxy通过ConfigurationManager询问框架的配置文件,找到需要调用的Action类。
5.ActionProxy创建一个ActionInvocation的实例。ActionInvocation在ActionProxy层之下,它表示了Action的执行状态,或者说它控制的Action的执行步骤。它持有Action实例和所有的Interceptor。
6.ActionInvocation实例使用命名模式来调用,1. ActionInvocation初始化时,根据配置,加载Action相关的所有Interceptor。2. 通过ActionInvocation.invoke方法调用Action实现时,执行Interceptor。在调用Action的过程前后,涉及到相关拦截器(intercepetor)的调用。
7. 一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果
  Struts框架,有两个版本,分别是Struts1和Struts2,目前,更流行的是Struts2,故本人主要是介绍Struts2的框架的工作流程:
  (1)客户端提交一个HttpServletRequest请求(.action或JSP页面)
  (2)请求被提交到一系列Filter过滤器,如ActionCleanUp和FilterDispatcher等 (3)FilterDispatcher是Struts2控制器的核心,它通常是过滤器链中的最后一个过滤器 (4)请求发到FilterDispatcher后,FilterDispatcher询问ActionMapper是否需要调用某个Action来处理这个Request(一般根据URL后缀是否为.action来判断)
  (5)如果ActionMapper决定需要调用某个Action,FilterDispatcher则把请求交到ActioProxy,由其进行处理.
  (6)ActionProxy通过Configuration Manager(它会访问struts.xml)询问框架的配置文件,找到需要调用的Action类.
  (7)ActionProxy创建一个ActionInvocation实例,而ActionInvocation通过代理模式调用Action,(在调用之前会根据配置文件加载相关的所有Interceptor拦截器)
  (8)Action执行完毕后,返回一个result字符串,此时再按相反的顺序通过Interceptor拦截器.
  (9) 最后ActionInvocation负责根据struts.xml中配置的result元素,找到与返回值对应的result,决定进行下一步输出。

网站数据信息

"struts框架入门,什么是struts1框架?"浏览人数已经达到18次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:struts框架入门,什么是struts1框架?的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!