`
wangyanlong0107
  • 浏览: 511427 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

【转】使用Struts1.x中的多模块功能时的注意事项

 
阅读更多

Struts1.x是目前在项目中应用的较为广泛的框架,它的多模块功能在团队开发时很有用,但在很多书上讲的并不多,Struts自身的文档也说的比较简单,用起来好像比较简单,但有时候经常会造成一些问题,对初次接触多模块的人,这些问题会造成一些不必要的困惑。现将采用Struts的多模块时应注意的事项总结一下,在此和大家共享:

(1)在web.xml文件中添加模块的配置文件时,
一定要保留默认的配置文件,即web.xml文件中至少保持两个 <init-param>标记,一个用于定义默认的struts-config.xml,一个用于定义你需要的模块配置文件。如果只定义了模块使用的配置文件,而删除了默认的配置文件,struts将不能正常的工作。

(2)在模块的配置文件中定义action、formbean的方法和不采用模块时的配置方法是一样的;但在定义forward时,一定不要忘了设置contextRelative="true",否则在跳转时struts会在forward要转向的网页前面加上模块的前缀作为在WEB程序中的查找路径,这样就会在转发时出现找不到JSP页面的错误。

(3)模块中的JSP页面如果使用了<html:form>标记来获得formbean中的数据,一定要注意,这种JSP页面不能直接作为直接的链接让用户点击,而是应该在该模块的action中,使用非重定向forward转入,否则该页面中的<html:form>会导致错误。另外,<html:form>标记的action属性要直接设置为该模块中对应的action的path属性,不需要加上模块的前缀。鉴于这些原因,一般都会把模块中的JSP页面放入/WEB-INF目录中的某个文件夹,比如
/WEB-INF/jsps目录,由于/WEB-INF目录不能直接被用户访问,这样,就会阻止用户无意中访问了对应的JSP文件而造成的错误。

从以上的总结可以看出,利用struts多模块编程时,比较好的策略是,
将所有struts管理的页面都放入/WEB-INF文件夹的某个目录中,最好在这个目录下为每一个模块建立一个见名知义的文件夹,然后将这些JSP页面按照其所属的模块放入这些文件夹,而访问这些JSP页面都要通过对应模块中的action进行转发,这实际上也是MVC所要求的一种设计和运行模式。另外,不要由一个模块的action直接转发到另一个模块的action负责管理的页面,这样即破坏了MVC的分工原则,又会带来多模块中页面的路径和formbean的问题。如果需要模块之间的页面转移,可以利用重定向forward直接转发到另一个模块的action,再由这个action决定将用户转发到本模块中的具体的JSP页面。这样即保持了MVC的分工原则,又保护了多模块中使用formbean的JSP页面。最后,建议在多模块中,最好采用DispatchAction,这样action的代码比较清晰明确,易于维护。

分享到:
评论

相关推荐

    Struts 2.X权威指南 第20章

    本章可能分析其工作原理和使用时的注意事项。 4. **Tiles插件**:Tiles提供了一种组织和重用页面布局的方法,使Web应用的界面设计更加模块化。本章可能会介绍如何集成Tiles与Struts 2,创建和管理复杂的页面结构。 ...

    struts2从2.3.15.1升级到2.3.35

    9. **文档查阅**:官方文档是升级过程中的重要参考,它包含了详细的升级步骤、注意事项和可能遇到的问题。务必仔细阅读并遵循指导。 10. **回滚计划**:在升级前,最好备份当前的系统和配置,以防升级后出现未预见...

    SSH(spring,struts2.x,spring +mysql+toncat)登录实例

    SSH(Spring、Struts2.x 和 Hibernate)是一个经典的Java企业级开发框架组合,常用于构建高效、可维护的Web应用程序。这个登录实例是基于这些框架的集成应用,结合了MySQL数据库和Tomcat服务器,提供了用户登录和...

    Struts2.0中文教程

    1. **Struts2.0简介**:讲解Struts2.0的历史、设计理念和核心组件,对比与前一代Struts1.x的区别,以及为什么选择Struts2.0作为开发框架。 2. **环境搭建**:指导如何配置开发环境,包括JDK、Apache Tomcat服务器、...

    struts2引用库

    Struts2是一个基于MVC(Model-View-Controller)设计模式的...然而,随着技术的发展,Spring Boot等现代框架的兴起,Struts2在新项目中的使用逐渐减少,但在维护旧项目或者理解MVC架构时,学习Struts2仍然非常有价值。

    Java实训教程 Java软件开发实战 Java开发框架介绍 struts2_11_插件 共51页.pptx

    在Struts2框架中,插件技术是一项重要的扩展机制,它允许开发者在不修改核心框架代码的基础上添加新的功能模块。这不仅提高了Struts2框架的灵活性,也使得功能扩展变得更加简单高效。 #### 二、Struts2 JSON插件...

    SSH框架整合小册子

    #### 五、总结与注意事项 - **性能优化**:考虑使用二级缓存提高查询效率。 - **异常处理**:确保所有异常都能被妥善处理,避免程序崩溃。 - **安全性**:加强SQL注入等安全防护措施。 - **测试**:进行单元测试和...

    freemarker总结

    在表达式中使用算术运算符时要注意以下几点: 1,运算符两边的运算数字必须是数字 2,使用+运算符时,如果一边是数字,一边是字符串,就会自动将数字转换为字符串再连接,如:${3 + "5"},结果是:35 使用内建的int函数可...

Global site tag (gtag.js) - Google Analytics