struts2精要.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Struts2按照技术细节划分,主要分为以下几块。 标签库:在视图中运用这些标签来实现网页上各种格式的显示。 拦截器:HTTP请求在进入控制器部分执行前先执行拦截器中的功能。 FilterDispatcher和Action:接收HTTP请求,根据Action的ActionMapper决定调用Action哪些方法。 Struts2配置文件:定义控制转发流程,每个Action类的处理和结果数据如何导航到相应表示界面都由它定义。 OGNL和类型转化:在表示界面将包含数据的Java对象进行类型转化,显示出符合页面规则的数据格式。 Struts2校验规则:对数据输入的严格定义,保证没有垃圾数据和不符合项目需求的数据。 国际化和本地化:针对字符编码的转化,让Web项目显示各种语言版本。 SiteMesh页面布局:和以前的IFrame以及Struts中的tiles相类似的技术。使用插件式开发模式让其和Struts2形成一个完整实体,支持Web项目中页面布局。 标签库介绍 Struts2的标签库和Struts的标签库一样,也是通过标签定义文件,也就是后缀名为tld的文件在JSP页面的定义,然后在JSP页面中调用这些标签进行表示层代码的开发。它主要分为下列这几大类。 控制标签:该类标签是用来控制那些在视图中最终显示的信息,也封装了在视图中有可能根据未来需求需要调用的数据集合。 数据标签:该类标签可以修改那些动态生成的数据信息,例如Action执行后的返回结果,本地化或国际化的文本,导航指向的URL和链接等等。而且该类标签还能为开发者提供调试信息。 表单标签:该类标签将原有HTML标签进行了封装,很多HTML标签都可以转为相应的表单标签,包括CheckBox、日期、下拉框等等。 非表单标签:该类标签虽然也是可以用来表单里,但和构成表单的标签不同。主要包含错误信息、树形菜单、选择页等等。 拦截器应用目的 Struts2中使用拦截器的目的,笔者认为有如下几点: 在Action调用之前提供系统处理流程逻辑控制。也就是Web项目中从一个视图转向或导航到目标视图的逻辑控制。 和Action交互时,提供Action执行时候一些初始信息。比如和Spring整合时候,调用的一些被Spring容器管理的JavaBean类。或者是传入Action中的一切request、session中的数据。 在Action执行结束后,一些事后处理的流程逻辑也需要由拦截器实现。 修改Action中返回的Result信息,这样可以让系统导航到开发者需要它导航的目标视图。 捕获异常,保证让一些可供选择的流程被执行或者导航一些显示异常原因或错误信息的目标视图。 FilterDispatcher和Action概述 Action可以称之为Struts2的核心技术。每一个URL都可以被一个特殊的Action所映射。该Action是开发人员根据Web项目特定需求进行开发所实现的。 Action中通过一个无参的execute方法来执行控制转向,并且返回一个String类型变量或者Result对象。当然也可以在Struts.xml文件里进行特殊指定方法名,这样就可以不用execute作为方法名,而是用开发人员自己指定的方法名。 如果返回的是一个String类型变量,相应的导航的目标视图是在Struts.xml配置文件里定义,配置文件把这个变量值和定义的目标视图名相匹配,这样系统就能正确导航到目标视图。 如果返回的是Result对象,因为Struts2本身支持返回结果是Result对象的映射导航,可是像JSP这种视图中显示的数据都是Java中的基本类型。这就涉及到类型转化概念,在Struts2中设计者也考虑到这一点,因此也提供了类型转化的机制,在稍后章节也会具体介绍。 在Web项目中,如果HTTP请求被servlet容器接收,然后导航到定义的目标视图时候,有可能在之前会有Web项目中定义个一个过滤器(Filter)对它进行处理。在Struts2中是由一个叫FilterDispatcher的类来执行该过滤器的HTTP请求处理功能。 FilterDispatcher也是Struts2的一个核心技术,它提供了处理HTTP请求用来访问Web项目框架的访问方法。假设我们启动了某个Web项目,很多可设置的元素都已经在该Web项目框架中定义,例如Spring的可管理的JavaBean配置,Action的映射定义等等。在此时FilterDispatcher会执行下列这些操作: 读取静态数据信息:比如某些文件或者JavaScript代码等等。 决定需要转发或导航的Action配置,举例说从HTTP请求中发出的目标视图的导航定义,一般在Struts.xml配置文件中都配置了Action名字,系统会根据Action配置去配

文档评论(0)

yan666888 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档