知识大全 浅析Struts 体系结构与工作原理(图)

Posted

篇首语:莫道桑榆晚,为霞尚满天。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 浅析Struts 体系结构与工作原理(图)相关的知识,希望对你有一定的参考价值。

浅析Struts 体系结构与工作原理(图)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

   基本概念    Struts是Apache 基金会Jakarta 项目组的一个Open Source 项目 它采用MVC模式 能够很好地帮助java 开发者利用J EE开发Web应用 和其他的java架构一样 Struts 也是面向对象设计 将MVC模式 分离显示逻辑和业务逻辑 的能力发挥得淋漓尽致 Structs 框架的核心是一个弹性的控制层 基于如 Java Servlets JavaBeans ResourceBundles与XML等标准技术 以及 Jakarta Commons 的一些类库 Struts有一组相互协作的类(组件) Serlvet以及jsp tag lib组成 基于struts构架的web应用程序基本上符合JSP Model 的设计标准 可以说是一个传统 MVC设计模式的一种变化类型     Struts有其自己的控制器(Controller) 同时整合了其他的一些技术去实现模型层(Model)和视图层(View) 在模型层 Struts可以很容易的与数据访问技术相结合 如 JDBC / EJB 以及其它第三方类库 如 Hibernate / iBATIS 或者 Object Relational Bridge(对象关系桥) 在视图层 Struts能够与JSP 包括 JSTL 与 JSF 以及 Velocity 模板 XSLT 与其它表示层技术     Struts 为每个专业的 Web 应用程序做背后的支撑 帮助为你的应用创建一个扩展的开发环境      Struts的体系结构与工作原理    MVC即Model View Controller的缩写 是一种常用的设计模式 MVC 减弱了业务逻辑接口和数据接口之间的耦合 以及让视图层更富于变化 MVC的工作原理 如下图 所示    >   >    Struts 是MVC的一种实现 它将 Servlet和 JSP 标记(属于 J EE 规范)用作实现的一部分 Struts继承了MVC的各项特性 并根据J EE的特点 做了相应的变化与扩展 Struts的体系结构与工作原理如下图 所示    >   >    从图 中我们可以知道 Struts的体系结构包括模型(Model) 视图(View)和控制器(Controller)三部分     下面让我们从MVC角度来看看struts的体系结构(Model )与工作原理      )模型(Model)    在Struts的体系结构中 模型分为两个部分 系统的内部状态和可以改变状态的操作(事务逻辑) 内部状态通常由一组Actinform Bean表示 根据设计或应用程序复杂度的不同 这些Bean可以是自包含的并具有持续的状态 或只在需要时才获得数据(从某个数据库) 大型应用程序通常在方法内部封装事务逻辑(操作) 这些方法可以被拥有状态信息的bean调用 比如购物车bean 它拥有用户购买商品的信息 可能还有checkOut()方法用来检查用户的信用卡 并向仓库发定货信息 小型程序中 操作可能会被内嵌在Action类 它是struts框架中控制器角色的一部分 当逻辑简单时这个方法很适合 建议用户将事务逻辑(要做什么)与Action类所扮演的角色(决定做什么)分开      )视图(View)    视图主要由JSP建立 struts包含扩展自定义标签库(TagLib) 可以简化创建完全国际化用户界面的过程 目前的标签库包括 Bean Tags HTML tags Logic Tags Nested Tags 以及Template Tags等      )控制器(Controller)    在struts中 基本的控制器组件是ActionServlet类中的实例servelt 实际使用的servlet在配置文件中由一组映射(由ActionMapping类进行描述)进行定义 对于业务逻辑的操作则主要由Action ActionMapping ActionForward这几个组件协调完成的 其中Action扮演了真正的业务逻辑的实现者 ActionMapping与ActionForward则指定了不同业务逻辑或流程的运行方向 struts config xml 文件配置控制器     Struts体系结构中的组件   >   >    上图 显示了 ActionServlet (Controller) Actionform (form State) 和 Action (Model Wrapper) 之间的最简关系   体系结构中所使用的组件如下表   ActionServlet  控制器  ActionClass   包含事务逻辑  Actionform   显示模块数据  ActionMapping  帮助控制器将请求映射到操作  ActionForward  用来指示操作转移的对象  ActionError   用来存储和回收错误  Struts标记库  可以减轻开发显示层次的工作     Struts配置文件 struts config xml    Struts配置文件struts config xml 我们默认可以在目录WEB INFstruts config xml找到这个文件 文件的配置包括全局转发 ActionMapping类 Actionform bean 和JDBC数据源四个部分      )配置全局转发    全局转发用来在JSP页之间创建逻辑名称映射 转发都可以通过对调用操作映射的实例来获得 例如 NuW=mactionMappingInstace findForward( logicalName );    全局转发的例子   <global forwards>  <forward name= bookCreated path= /BookView jsp />  </global forwards>    属性   描述  Name   全局转发的名字  Path   与目标URL的相对路径     )配置ActionMapping  ActionMapping对象帮助进行框架内部的流程控制 它们可将请求URI映射到Action类 并且将Action类与Actionform bean相关联 ActionServlet在内部使用这些映射 并将控制转移到特定Action类的实例 所有Action类使用perform()方法实现特定应用程序代码 返回一个ActionForward对象 其中包括响应转发的目标资源名称 例如     <action mappings>  <action path= /createBook type= BookAction name= bookform scope= request input= /CreateBook jsp >  </action>  <forward name= failure path= /CreateBook jsp />  <forward name= cancel path= /index jsp />  </action mappings>    属性           描述  Path        Action类的相对路径  Name        与本操作关联的Action bean的名称  Type        连接到本映射的Action类的全称(可有包名)  Scope        Actionform bean的作用域(请求或会话)  Prefix       用来匹配请求参数与bean属性的前缀  Suffix       用来匹配请求参数与bean属性的后缀  attribute      作用域名称   className      ActionMapping对象的类的完全限定名默认的是   apache struts action ActionMapping  input        输入表单的路径 指向bean发生输入错误必须返回的控制  unknown       设为true 操作将被作为所有没有定义的ActionMapping的URI的默认操作  validate      设置为true 则在调用Action对象上的perform()方法前 ActionServlet将调用Actionform bean的validate()方法来进行输入检查  通过<forward>元素 可以定义资源的逻辑名称 该资源是Action类的响应要转发的目标   属性               描述  Id ID  ClassName           ActionForward类的完全限定名 默认是   apache struts action ActionForward  Name             操作类访问ActionForward时所用的逻辑名  Path             响应转发的目标资源的路径  redirect           若设置为true 则ActionServlet使用sendRedirec方法来转发资源   )配置Actionform Bean  ActionServlet使用Actionform来保存请求的参数 这些bean的属性名称与HTTP请求参数中的名称相对应 控制器将请求参数传递到Actionform bean的实例 然后将这个实例传送到Action类 例子   <form beans>  <form bean name= bookform type= Bookform />  </form beans>  属性               描述  Id ID  className       Actionform bean的完全限定名 默认值是 apache struts action ActionformBean  Name               表单bean在相关作用域的名称 这个属性用来将bean与ActionMapping进行关联  Type          类的完全限定名   )配置JDBC数据源  用<data sources>元素可以定义多个数据源   属性        描述  Id         ID  Key         Action类使用这个名称来寻找连接  Type        实现JDBC接口的类的名称    下面属性需要<set property>元素定义 在Struts 版本中已不在使用 但你可用<data source>元素 例如 |  <data sources>  <data source id= DS key= conPool type= apache struts util GenericDataSource   <set property id= SP autoCommit= true description= Example Data Source Configuration   driverClass= test mm mysql Driver maxCount=   minCount= url= jdbc:mysql://localhost/test user= struts password= ghq />  <data source/>  </data sources>    属性     描述  desciption 数据源的描述  autoCommit 数据源创建的连接所使用的默认自动更新数据库模式  driverClass 数据源所使用的类 cha138/Article/program/Java/ky/201311/28531

相关参考

根据采样、保持器的一般结构形式图和工作原理波形图,说明其工作原理。

根据采样、保持器的一般结构形式图和工作原理波形图,说明其工作原理。采样/保持器一般结构形式采样/保持器工作原理波形图参考答案:在t1时刻前,控制电路的驱动信号为高电平时,模拟开关K闭合,模拟输入信号U

知识大全 浅析Struts2与Webwork2的区别

浅析Struts2与Webwork2的区别  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

电气系统图各有什么作用和特点?

电气系统图包括:电气原理图、电气布置安装图、电气安装接线图。  电气原理图:根据控制线图工作原理绘制,具有结构简单,层次分明。主要用于研究和分析电路工作原理。  电气布置安装图:主要用来表明各种电气设

电气系统图各有什么作用和特点?

电气系统图包括:电气原理图、电气布置安装图、电气安装接线图。  电气原理图:根据控制线图工作原理绘制,具有结构简单,层次分明。主要用于研究和分析电路工作原理。  电气布置安装图:主要用来表明各种电气设

知识大全 实例讲解Struts原理与实践

实例讲解Struts原理与实践  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  这个Struts原

知识大全 浅析Hibernate Struts分页

浅析HibernateStruts分页  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Hiber

图3-4DDZ-Ⅲ型压力(差压)变送器的工作原理

  敏感元件将被测压力(差压)转换成相应的测量力,杠杆系统把测量力与反馈力进行比较后,转换成位移检测片的位移量,位移检测放大器将位移检测片的位移量转换放大成4-20mA的直流电流输出。该电流通过电磁反

图3-4DDZ-Ⅲ型压力(差压)变送器的工作原理

  敏感元件将被测压力(差压)转换成相应的测量力,杠杆系统把测量力与反馈力进行比较后,转换成位移检测片的位移量,位移检测放大器将位移检测片的位移量转换放大成4-20mA的直流电流输出。该电流通过电磁反

画出VCC卡原理图,说明VCC卡的工作原理。

画出VCC卡原理图,说明VCC卡的工作原理。参考答案:由图可知,VCC卡输入的开关量有手/自动.手动增.手动减及保护类开关量OPC、ASL等;VCC卡输出振荡信号至LVDT的初级线圈,在初级线圈中感应

画出VCC卡原理图,说明VCC卡的工作原理。

画出VCC卡原理图,说明VCC卡的工作原理。参考答案:由图可知,VCC卡输入的开关量有手/自动.手动增.手动减及保护类开关量OPC、ASL等;VCC卡输出振荡信号至LVDT的初级线圈,在初级线圈中感应