分享
 
 
 

[原创]struts开发中间的一点心得

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

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.jsp new_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“封装”理念的一种变形,即:统一入口、统一出口,把具体的实现过程包裹在“暗箱”里面。

笔者以为:形式上的统一是优化结构、层次的重要一笔,里面有很多技巧值得研究。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有