Struts开发之工具篇

原创 2004年11月01日 13:31:00

好多开发人员会抱怨Struts开发难,框架设计不好,受到现有好多框架(WebWork)的挑战,当然作为一个经典的MVC框架,并且有相当多的开发人员,Struts的开发有自己独到的优点,下面我们将看看如何去开发一个Struts应用,在这里我们拟定做一个留言版的应用,包含一些功能:注册用户、留言、查看、修改等等。

1 业务原型流程:要了解业务情况,简单的就是进行业务流程的建模。好多工具提供基于Struts的业务建模,我这里推荐一款工具Struts GUI,是一款Visio的插件,相信在Visio下进行设计,应该是最好的方案啦,至少现在的基于Struts的流程建模,没有比这款软件更明了、直接和方便,而且每个元素包含更多信息,同时也可以利用Visio的强大绘图功能,你可以自行体会。这个设计图同时也很容易和客户及相关人员交流,也是以后编码的功能参照。



2 建立Web原型:业务原型流程中包含了页面的机构,如名称和目录情况,同时每个元素包含了相信的信息,相信美工构架这样的页面及页面关系不会成问题。这里建议使用DreamWeaver,其中的功能不必说啦,而且通过Animalsgroup Struts taglibs TranslatorFree)这个plugin可以图形化显示Strutstaglib


3 选择工具:这是应该是进入项目的实施了,你需要确定一款IDE工具,这样对你的开发和管理将非常有作用的。这里选择IntelliJ IDEA,原因很简单,IDEA的编码功能强,而且需要J2EE尤其是jsp方面的功能,在加上PE插件,相信你的开发一定会便捷不好,不要怀疑,下面我们会演示如何利用IDEA这方面的功能。



4 建模(可选):如果你想使用一定的UML工具的话,你可以选择VP,一款和IDEA绑定的轻量级的建模工具,这里我们可能使用SpringHiberante,这样建模更容易了,主要是使用DAO模式,接口也比较简单,没那么复杂。这样通过UML建模,可以完成了一些代码的生成。

5编写文件模板和build.xml文件:项目中有不少共性的代码,如StrutsActionFormJsp,这里我们打算建立这样的模板,以后所有的Action创建均从该模板建立,而且模板也整合了XDoclet标签,这我们就可以利用XDoclet来生成struts-config.xml文件,无需负责的配置文件维护了。同时我们要编写项目的build.xml文件,将一些常用的操作以Ant方式进行,这样我们可以脱离IDE进行相关操作,如目录结构生成、编译、生成配置文件、打包部署等等。


6 编码:在IDEA下进行编码是件非常愉快的事情,这里我们不在叙述IDEA的编码功能啦。通过以上Struts的流程建模,我们可以将文件按照功能进行分组,如登录包含以下四个文件:logon.jspLogonAction.javaLogonForm.javaindex.jsp,这样我们可以将这些文件归划为一个组,利用WorkSapces可以做到这点,这样我们可以将系统的文件划分为多个文件功能组,方便我们的管理。同时我们需要PE插件,因为Struts的开发会牵涉到properties文件,利用PE你可以轻松管理和利用这些properties文件。


7 测试:IDEA很好的整合了JUnit,如果你手动测试的化,记住Crtl+Shift+F10就可以啦。在这个项目中我们主要进行两项测试:普通Java类测试和StrutsAction测试。Spring 1.1.1整合了JUnit的测试类,测试DAO接口和实现将非常简单。StrutsAction测试需要用到StrutsTestCase,在IDEA设置好后,测试将非常简单有效。



 
总结:通过以上的步骤,相信你对Struts的开发有一定的认识,在项目实施中其实还有不少事情,如采用的方法论(XPRUP)SCM等等,这只是一个Struts开发的指导框架,对你的Struts开发提供一个参考实现,在Struts应用中可能要涉及到AOP,如权限管理等,你可以参考SAIF,非常不错。

Struts开发――工具篇

Struts开发――工具篇好多开发人员会抱怨Struts开发难,框架设计不好,受到现有好多框架(WebWork)的挑战,当然作为一个经典的MVC框架,并且有相当多的开发人员,Struts的开发有自己独...
  • Scott_Woo
  • Scott_Woo
  • 2005年01月15日 15:35
  • 798

《sed & awk》读书笔记之 sed 篇

Sed&awk笔记之sed篇:简单介绍 最近在阅读《sed & awk(第二版)》,这本书是sed和awk相关书籍中比较经典的一本。我在读书的时候有一个习惯,就是会作一些笔记,如果有条件我会放到博客中...
  • chenyulancn
  • chenyulancn
  • 2014年01月02日 15:24
  • 579

异化的追思——读《变形记》《火之鸟10复活篇》《沙耶之歌》》

  原文图文并茂,请到http://www.jsharer.com/file/738383.htm下载 异化的追思——读《变形记》《火之鸟10复活篇》《沙耶之歌》》Version 1.000三部作品的...
  • luozhuang
  • luozhuang
  • 2008年07月14日 13:21
  • 5547

初读《演说之禅设计篇》有感

零零散散看了快半个月吧,还剩几十页,今天终于把那几十页看完了,直观感受就是,看起来说得挺不错的,但是如果换我自己去做,没有参考,能做出些许满意的PPT吗?尽管带着满满的不自信,但还是找出一份大一时候做...
  • u013816144
  • u013816144
  • 2016年06月21日 21:53
  • 408

《sed & awk》读书笔记之sed篇

Sed是什么 Sed本质上是一个编辑器,但是它是非交互式的,这点与VIM不同;同时它又是面向字符流的,输入的字符流经过Sed的处理后输出。这两个特性使得Sed成为命令行下面非常有用的一个...
  • aichuanwendang
  • aichuanwendang
  • 2016年11月25日 20:25
  • 695

一步一步学ROP之linux_x86篇

0x00    本文仅解释说明蒸米大神一步一步学ROP之linux_x86篇,读者应先阅读这篇文章,遇到问题再来看我这篇文章。    阅读完这两篇文章后,我们会理解ROP(返回导向编程),DEP(堆栈...
  • jltxgcy
  • jltxgcy
  • 2016年02月19日 11:16
  • 2470

Spark编程指南入门之Java篇六-RDD持久化介绍

10. RDD持久化 Spark其中一个重要的功能是持久化(或缓存)数据到内存。当持久化一个RDD时,每一个节点会把计算后的分区数据保存在内存里面,然后后续的操作可以直接重用内存里的数据。这样可以提...
  • gangchengzhong
  • gangchengzhong
  • 2017年01月12日 16:47
  • 1007

深度学习word2vec笔记之算法篇

深度学习word2vec笔记之算法篇
  • mytestmy
  • mytestmy
  • 2014年05月25日 20:03
  • 33979

Java 之JNI基础篇(一)

JNI,即Java Native Interface。它其实就是一套java与本地代码交互的接口或者说是一个协议。通俗的比喻,就是中国人讲中国话,日本人讲日本话,于是中国人碰到日本人,各说各话,无法交...
  • yingshukun
  • yingshukun
  • 2018年01月13日 18:51
  • 10046

Spark编程指南入门之Java篇三-常用Transformations操作

7. 常用的转换Transformations操作 JavaRDD map(Function f) 将数据集的每一个元素按指定的函数f转换为一个新的RDD JavaRDD filter(Funct...
  • gangchengzhong
  • gangchengzhong
  • 2016年12月28日 16:20
  • 1261
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Struts开发之工具篇
举报原因:
原因补充:

(最多只允许输入30个字)