dedecms织梦内容管理系统    
首页 | java | C/C++ | PHP | 操作系统 | ajax | 脚本编程 | 安全技术 | 本站下载页 | flex | CRM | 专题 | QQ群 | 测试中心 | 会员中心 | 积分规则
  当前位置:主页>java>开源框架>文章内容
Struts教程-Struts模块化编程教程
来源: 作者: 出处:www.100jq.com
1、前言

    STRUTS是标准的"模型2"的WEB应用框架,其中的ActionServlet代表了"模型2"MVC设计模式中的"控制器" .STRUTS应用程序一般使用JSP代码生成用户界面,这些代码不包括任何商业逻辑,代表了MVC中的“VIEW”部分。

需要执行商业逻辑的用户界面中的表单或超链将会由"控制器" ActionServlet接收和处理。在STRUTS中,只有一个ActionServlet实例,这个实例将接收和处理应用中的相关用户交互请求。ActionServlet实例将选择和调用相应的ACTION类来处理商业逻辑。在设计模式上,ACTION类被称为“控制辅助者”,它将修改JavaBeans,这些JavaBeans就是MVC中的“ model”部分。本文将分析在STRUTS中进行模块化编程的具体细节。

 

    2、样例描述

    我们将作一个模块编程的例子,这个例子包括三个模块,缺省模块、registration模块和approval模块。缺省模块下有资源index.html,我们使用它来连接其它两个模块。registration模块和approval模块的编程类似,都包含一个index.jsp和一个结果jsp:result.jsp.下面是目录结构:


Struts教程-Struts模块化编程教程(图一)

    目录结构表明,struts的模块由配置文件、java类(这里者action和form类)和资源文件构成,另外各模块可以共享web.xml,message (这里是applicatonResources.properties)文件。

    我们的例子的界面交互图可以表示如下:

Struts教程-Struts模块化编程教程(图二)

    缺省模块的index.html包括两个链接,分别连接两个模块的index.jsp资源,registration模块的index.jsp提交后,如果验证失败会重新返回到该模块的index.jsp,否则用资源resultok.jsp显示注册成功的结果。模块approval的index.jsp提交后进入到resultok.jsp的界面,显示批准与否的结果。

    我们从应用程序的文件组成和交互两方面的模块情况对我们要实现的例子进行了比较清晰的组织,下面我们讲解如何在struts中实现模块化编程。

    3、STRUTS的模块化机制

    我们将讲解STRUTS的相关配置,这些配置大部分与模块化编程有关系,有些没关系但对理解STRUTS程序有利。

    3.1 ActionServlet参数

    ActionServlet有好多参数可供设置,STRUTS在WEB应用部署描述符中定义这些参数:

    ·Config——逗号相隔的应用上下文相对的配置文件的路径,这些配置文件包含了STRUTS WEB应用的缺省模块的设置。缺省值为 /WEB-INF/struts-config.xml;

    ·config/${module} -逗号相隔的应用上下文相对的配置文件的路径,这些配置文件包含了STRUTS WEB应用的${module}模块的设置。这个模块的前缀是/${module},多个config/${module}参数定义了多个STRUTS WEB应用模块;

    ·convertNull - 如果这个参数的值为 true, 数值型Java 包装类(比如java.lang.Integer)的初始值将会是null,而不是0.缺省值[false]

    ·rulesets-逗号相隔的附加的org.apache.commons.digester.RuleSet列表,Digester在分析配置文件时,除了针对标准的配置元素的RuleSet之外,还会利用这些对象来分析配置文件,这样提供了一个配置扩展机制……

    ·validatin - 指示我们是否使用验证型的XML分析器来处理配置文件,缺省值为 [true]

    3.2 配置文件

    我们说STRUTS针对每个模块可以有一个或多个配置文件,这些配置文件使用XML来书写,下面是标准的配置文件XML的元素解释。

    3.2.1 元素 action

    这个元素描述了一个ActionMapping 对象,这个对象将用来处理用户针对某个模块相对应的URI 的请求。

Struts教程-Struts模块化编程教程(图三)

    3.2.2元素 action-mappings

    这个元素描述了一个ActionMapping 对象集,类型是org.apache.struts.action.ActionMapping.与STRUTS的ActionServlet 注册的URL模式匹配的用户请求将具体地被这些ActionMapping 对象处理。子元素定义了各个ActionMapping对象。

Struts教程-Struts模块化编程教程(图四)

    3.2.3元素 controller

    这个元素描述了一个struts模块运行环境的配置——ControllerConfig bean

Struts教程-Struts模块化编程教程(图五)

Struts教程-Struts模块化编程教程(图六)

Struts教程-Struts模块化编程教程(图七)

    3.2.4 元素 data-source

    这个元素描述了一个DataSource 对象——JDBC 2.0 标准扩展。这个对象将被保存在应用上下文中,而且可以象JavaBean 一样被设置。

Struts教程-Struts模块化编程教程(图八) 

欢迎加入本站QQ群参与讨论


共3页: 上一页 1 [2] [3] 下一页
上一篇:JAVA中配置环境变量设置方法大全   下一篇:Struts入门经验
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论
  热点文章
·关于JSF和Struts的讨论
·Struts入门经验
·用科学的思维方法指导软件的设计
·Hibernate配置文件中映射元素详
·Spring中事件处理的小技巧
·struts2.0pring2.0 hibernate3.2
·struts2.0 spring2.0 hibernate3
·浅谈hibernate lazy fetch
·Hibernate的Fetch
·优化hibernate性能的几点建议
·Hibernate中的取策略延迟加载
·Hibernate中outer-join、lazy 、
  相关文章
·Struts入门经验
·关于JSF和Struts的讨论
·用科学的思维方法指导软件的设计
·Hibernate配置文件中映射元素详
·Spring中事件处理的小技巧
·struts2.0pring2.0 hibernate3.2
·struts2.0 spring2.0 hibernate3
·浅谈hibernate lazy fetch
·Hibernate的Fetch
·优化hibernate性能的几点建议
·Hibernate中的取策略延迟加载
·Hibernate中outer-join、lazy 、
  相关信息
copy right @ 百家拳软件项目研究室 2007 辽ICP备07011763