struts采用MVC体系框架,将view与model部分分开,赋予web应用开发以新的内涵。但是,使用struts技术后,大大小小的文件数目激增。给管理及维护带来了不小的挑战。一方面要享受struts的开发效率,另一方面也要考虑到易于维护。
在struts中,有两个突出的关键词:结构和层次。一定要做到:结构严谨、层次分明。如果抓不住这两点,你的开发一定是很失败的。
虽然大大小小的文件数目激增,但每个文件都各司其职,本来无可厚非。不要刻意在乎文件数目的多少(因为这只是表面现象),而要重点关注结构是否合理,层次是否明晰。如果学会换位思考,你会发现:文件数目激增是使用struts技术必须付出的成本;而如果在结构和层次上面下了工夫,这个缺点根本就不成其为缺点了。
那么应该怎样在结构和层次上下工夫呢?身为菜鸟的笔者目前想到了两个很菜的办法:
(一)、分门别类:
将服务于同一种功能的相同类型文件放在同一个子目录里。每一子目录代表一种功能;减少不同目录之间的交叉访问。子目录中又包含子目录,形成多层目录结构。可以将newArticleAction.java与newArticleForm.java放在一个名为articles.newarticle的包中,与其它的java类区分开。可以将与这两个java类相关的所有jsp文件统统放在/WEB-INF/articles/newarticle/下面。
(二)、形式统一:
以上面的两个java类为例子:
实际名称: 在struts-config.xml中的虚拟名称:
newArticleAction.java new_article_action
newArticleForm.java new_article_form
new-article-forward.jsp new_article_forward
new-article-main.jsp new_article_main
new-article-message.jspnew_article_message
一目了然,从每个文件的名称上就可以很清楚地知道这些文件将会出现在什么样的场合,将会在别的文件的什么位置被引用。
另外,如果有多个功能类似的java类,这些类在内部结构上也应该尽量趋向一致。如果newArticleAction.java的内部结构是这样的:
public class NewArticleAction extends Action {
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception {
……
}
protected boolean executeQuery(
Statement stmt,
ActionForm form,
HttpServletRequest request) {
……
}
protected boolean executeUpdate(
Statement stmt,
ActionForm form,
HttpServletRequest request) {
……
}
}
那么功能类似的NewFolderActin.java、RepairFoldersAction.java、ManageLinksAction.java也应当有executeQuery()、executeUpdate()方法,这些方法的返回值应该都是boolean型,参数类型与数目也应该相同。这样,了解了NewArticleAction.java,就等于同时了解了NewFolderActin.java、RepairFoldersAction.java、ManageLinksAction.java,即使Action类的数目激增,也能从容驾驭。
这其实是java“封装”理念的一种变形,即:统一入口、统一出口,把具体的实现过程包裹在“暗箱”里面。
笔者以为:形式上的统一是优化结构、层次的重要一笔,里面有很多技巧值得研究。
分享到:
相关推荐
### Struts2学习心得:深入理解Struts2框架的基本配置与初学者指南 #### Struts2框架概述 Struts2是Struts框架的升级版本,它继承了Struts1的优点并在此基础上进行了改进,提供了更丰富的功能和更好的性能。Struts...
Struts开发框架是一款基于MVC(Model-View-Controller)设计模式的开源Java Web应用程序框架,由Apache软件基金会维护。它的出现旨在解决JSP页面和Servlet在处理动态Web内容时的混乱情况,提供一个结构化的解决方案...
8. **Struts Scripting**: `struts-scripting-1.3.5.jar` 支持在Struts应用中使用脚本语言,比如Groovy或JavaScript,来编写Action或者页面逻辑,提供了更灵活的开发方式。 综上所述,这些jar包构成了一个完整的...
在“struts开发的各类jar包”中,我们可以找到实现Struts框架功能的各种组件。 1. **核心库(Core Libraries)**:Struts的核心库主要包括`struts-core.jar`,这个文件包含了Struts框架的核心组件,如Action、Form...
以下是对Struts开发模式的一些关键知识点的详细说明: 1. **Struts1.1 标签使用**: Struts1.1 提供了一系列的JSP标签库,如logic、bean、html等,这些标签简化了视图层的开发。例如,`<html:form>`用于创建表单,...
Struts2 项目开发 Struts2 是一个基于 Java Web 的框架,广泛应用于 Web 应用程序的开发。下面将从 Struts2 项目开发的角度,详细介绍 Struts2 框架的应用、开发流程、技术架构、实践经验等方面的知识点。 项目...
在Java Web开发中,Struts提供了强大的控制层,允许开发者构建可扩展且易于维护的Web应用程序。 标题提到的"struts开发包"指的是Struts框架的核心库,版本为2.3.31。这个版本包含了开发Struts应用程序所需的所有...
在Web开发中,Struts2扮演着核心控制器的角色,协调模型、视图和控制器的交互,使得开发过程更加有序和高效。SSH是Spring、Struts2和Hibernate三个开源框架的首字母缩写,它们共同构成了一个强大的企业级应用开发...
在Struts框架中,七个核心的JAR文件对于开发和运行Struts应用至关重要。这些JAR文件提供了Struts框架所需的各种组件和服务,使得开发者能够更有效地构建动态、交互式的Web应用。 1. **struts-core-x.x.x.jar**:这...
根据提供的文件信息,本文将围绕“Struts2学习心得”这一主题进行展开,重点解析Struits2框架中的国际化(i18n)功能及其在实际项目中的应用方式,并结合具体的代码示例进行深入探讨。 ### Struts2简介 Struts2是...
- Struts2通过其强大的插件体系结构支持各种扩展插件,这些插件可以为开发人员提供额外的功能,如数据验证、国际化、文件上传等功能,极大地简化了开发过程。 ##### 1.5 远程调用支持 - Struts2支持多种远程调用...
### Struts2校验框架使用心得 #### 一、Struts2校验框架概述 Struts2是一款基于Java的企业级Web应用开发框架,它能够帮助开发者构建出结构清晰、易于维护的应用程序。其中,Struts2提供的校验框架是其核心特性之一...
struts2开发需要用到的jar包
Struts开发技巧Struts开发技巧Struts开发技巧Struts开发技巧Struts开发技巧Struts开发技巧Struts开发技巧Struts开发技巧
这个"Struts2 开发包"包含了用于开发基于Struts2的应用所需的核心组件和配置文件。以下是对这些关键元素的详细解释: 1. **Struts2核心库(jar包)**:Struts2框架的jar文件是开发的基础,它们提供了框架的运行时...
这个"struts2 开发包.zip"包含了Struts2框架运行所需的JAR文件,这些文件是开发者进行Struts2应用开发的基础。下面将详细介绍其中的关键知识点: 1. **核心库**:Struts2的核心库包括`struts2-core.jar`,它包含了...
struts开发入门与项目实践光盘源码 里面有几个struts项目案例
STRUTS开发用c标签STRUTS开发用c标签STRUTS开发用c标签STRUTS开发用c标签
Struts2.2.1开发包是一个针对Web应用的重要框架,它是Apache软件基金会下的一个开源项目,主要用于构建基于Java的企业级应用程序。这个版本的Struts2是一个强大的MVC(Model-View-Controller)框架,旨在简化开发...