Jakarta Struts操纵的七个经验[Java编程]
本文“Jakarta Struts操纵的七个经验[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
编者按:本文论述了作者在应用Struts历程中来之不易的若干经验和心得.假如你是jsp和servlet开辟Web利用的Java程序员,并且也正在考虑采取基于Struts的构建办法的话,那么你会在这里发现很多颇有见解同时也很有代价的信息.
1. 只在必要的时刻才考虑扩大Struts框架
一个好的framework有很多长处,首先,它必须可以满意用户的可预见的需求.为此 Struts为Web 利用供应了一个通用的架构,这样开辟人员可以把精神集合在若何办理实际业务问题上.其次,一个好的framework还必须可以在得当的地方供应扩大接口,以便利用程序能扩大该框架来更好的适应利用者的实际需求.
假如Struts framework在任何场所,任何项目中都能很好的满意需求,那真是太棒了.但是实际上,没有一个框架声称能做到这一点.一定会有一些特定的利用需求是框架的开辟者们无法预见到的.因此,最好的办法就是供应充足的扩大接口,使得开辟工程师可以调整struts来更好的符合他们的特别要求.
在Struts framework中有很多地方可供扩大和定制.几近全部的配置类都能被替换为某个用户定制的版本,这只要简单的改正一下Struts的配置文件便可以做到.
其他组件如ActionServlet和 RequestProcessor 也能用自定义的版本替换. 乃至连Struts 1.1里才有的新特点也是按照扩大的原则来计划的.比方,在非常处理机制中就答应用户定制非常处理的句柄,以便更好的对利用系统发生的错误做出呼应.
作为框架的这种可调整特点在它更合适你的利用的同时也在很大的程度上影响了项目开辟的效果.首先,由于您的利用是基于一个现有的成熟的、安定的framework如Struts,测试历程中发现的错误数目将会大大削减,同时也能缩短开辟时间和削减资源的投入.因为你不再需求投入开辟力气用于编写底子框架的代码了.
但是, 实现更多的功效是要耗费更大的代价的.我们必须当心避免不必要的滥用扩大性能, Struts是由核心包加上很多工具包构成的,它们已经供应了很多已经实现的功效.因此不要盲目的扩大Struts框架,要先肯定能不能采取其他办法利用现有的功效来实现. 在决意编写扩大代码前务必要确认Struts的确没有实现你要的功效.不然反复的功效会招致混乱将来还得耗费额外的精神排除它.
2. 利用非常处理声明
要定义利用程序的逻辑流程,成熟的经验是举荐在代码之外,用配置的办法来实现,而不是写死在程序代码中的.在J2EE中,这样的例子比比皆是.从实现EJB的安全性和事件性行为到描写JMS消息和目的地之间的关系,很多运行时的处理流程都是可以在程序之外定义的.
Struts 成立者从一开始就采取这种办法,通过配置Struts的配置文件来定制利用系统运行时的各个方面.这一点在版本1.1的新特点上得到持续,包含新的非常处理功效.在Struts framework从前的版本中,开辟人员不得不自己处理Struts利用中发生的错误情形.在最新的版本中,情形大大的改变了,Struts Framework供应了内置的一个称为 ExceptionHandler 的类, 用于系统缺省处理action类运行中产生的错误.这也是在上一个本领中我们提到的framework很多可扩大接口之一.
Struts缺省的 ExceptionHandler类会生成一个ActionError对象并保存在得当的范围(scope)对象中.这样就答应JSP页面利用错误类来提醒用户呈现什么问题.假如你认为这不能满意你的需求,那么可以很便利的实现你自己的ExcepionHandler类.
具体定制非常处理的办法和机制
要定制自己的非常处理机制,第一步是担当org.apache.struts.action.ExceptionHandler类.这个类有2个办法可以覆盖,一个是excute()别的一个是storeException(). 在大都情形下,只需求覆盖此中的excute()办法.下面是ExceptionHandler类的excute()办法声明:
以上是“Jakarta Struts操纵的七个经验[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |