知识大全 运用Jakarta Struts的七大实战心法
Posted 元素
篇首语:时间会告诉我们,简单的喜欢,最长远;平凡中的陪伴,最安心。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 运用Jakarta Struts的七大实战心法相关的知识,希望对你有一定的参考价值。
运用Jakarta Struts的七大实战心法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
(作者Chuck Cavaness 编译 邱文宇) 编者按 当作者 Chuck Cavaness(著有《Programming Jakarta Struts》一书)所在的网络公司决定采用Struts框架之后 Chuck曾经花费了好几个月来研究如何用它来构建公司的应用系统 本文叙述的正是作者在运用Struts过程中来之不易的若干经验和心得 如果你是个负责通过jsp和servlet开发Web应用的Java程序员 并且也正在考虑采用基于Struts的构建方法的话 那么你会在这里发现很多颇有见地同时也很有价值的信息 只在必要的时候才考虑扩展Struts框架 一个好的framework有很多优点 首先 它必须能够满足用户的可预见的需求 为此 Struts为Web 应用提供了一个通用的架构 这样开发人员可以把精力集中在如何解决实际业务问题上 其次 一个好的framework还必须能够在适当的地方提供扩展接口 以便应用程序能扩展该框架来更好的适应使用者的实际需要 如果Struts framework在任何场合 任何项目中都能很好的满足需求 那真是太棒了 但是实际上 没有一个框架声称能做到这一点 一定会有一些特定的应用需求是框架的开发者们无法预见到的 因此 最好的办法就是提供足够的扩展接口 使得开发工程师能够调整struts来更好的符合他们的特殊要求 在Struts framework中有很多地方可供扩展和定制 几乎所有的配置类都能被替换为某个用户定制的版本 这只要简单的修改一下Struts的配置文件就可以做到 其他组件如ActionServlet和 RequestProcessor 也能用自定义的版本代替 甚至连Struts 里才有的新特性也是按照扩展的原则来设计的 例如 在异常处理机制中就允许用户定制异常处理的句柄 以便更好的对应用系统发生的错误做出响应 作为框架的这种可调整特性在它更适合你的应用的同时也在很大的程度上影响了项目开发的效果 首先 由于您的应用是基于一个现有的成熟的 稳定的framework如Struts 测试过程中发现的错误数量将会大大减少 同时也能缩短开发时间和减少资源的投入 因为你不再需要投入开发力量用于编写基础框架的代码了 然而 实现更多的功能是要花费更大的代价的 我们必须小心避免不必要的滥用扩展性能 Struts是由核心包加上很多工具包构成的 它们已经提供了很多已经实现的功能 因此不要盲目的扩展Struts框架 要先确定能不能采用其他方法使用现有的功能来实现 在决定编写扩展代码前务必要确认Struts的确没有实现你要的功能 否则重复的功能会导致混乱将来还得花费额外的精力清除它 使用异常处理声明 要定义应用程序的逻辑流程 成熟的经验是推荐在代码之外 用配置的方法来实现 而不是写死在程序代码中的 在J EE中 这样的例子比比皆是 从实现EJB的安全性和事务性行为到描述JMS消息和目的地之间的关系 很多运行时的处理流程都是可以在程序之外定义的 Struts 创建者从一开始就采用这种方法 通过配置Struts的配置文件来定制应用系统运行时的各个方面 这一点在版本 的新特性上得到延续 包括新的异常处理功能 在Struts framework以前的版本中 开发人员不得不自己处理Struts应用中发生的错误情况 在最新的版本中 情况大大的改观了 Struts Framework提供了内置的一个称为 ExceptionHandler 的类 用于系统缺省处理action类运行中产生的错误 这也是在上一个技巧中我们提到的framework许多可扩展接口之一 Struts缺省的 ExceptionHandler类会生成一个ActionError对象并保存在适当的范围(scope)对象中 这样就允许JSP页面使用错误类来提醒用户出现什么问题 如果你认为这不能满足你的需求 那么可以很方便的实现你自己的ExcepionHandler类 具体定制异常处理的方法和机制 要定制自己的异常处理机制 第一步是继承 apache struts action ExceptionHandler类 这个类有 个方法可以覆蓋 一个是excute()另外一个是storeException() 在多数情况下 只需要覆蓋其中的excute()方法 下面是ExceptionHandler类的excute()方法声明 正如你看到的 该方法有好几个参数 其中包括原始的异常 方法返回一个ActionForward对象 用于异常处理结束后将controller类带到请求必须转发的地方去 当然您可以实现任何处理 但一般而言 我们必须检查抛出的异常 并针对该类型的异常进行特定的处理 缺省的 系统的异常处理功能是创建一个出错信息 同时把请求转发到配置文件中指定的地方去 定制异常处理的一个常见的例子是处理嵌套异常 假设该异常包含有嵌套异常 这些嵌套异常又包含了其他异常 因此我们必须覆蓋原来的execute()方法 对每个异常编写出错信息 一旦你创建了自己的ExceptionHandler 类 就应该在Struts配置文件中的部分声明这个类 以便让Struts知道改用你自定义的异常处理取代缺省的异常处理 可以配置你自己的ExceptionHandler 类是用于Action Mapping特定的部分还是所有的Action对象 如果是用于Action Mapping特定的部分就在元素中配置 如果想让这个类可用于所有的Action对象 可以在相关参考
JakartaStruts学习之实战演示 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Acti
JakartaStruts简介(二) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在本系列的的
JakartaStruts简介(一) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Web应用开
学习JakartaStruts1.1(二) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Dyn
学习JakartaStruts1.1(三) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在第一
JakartaStruts学习之应用实践 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 本文是三
学习JakartaStruts1.1(一) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 本文是
JakartaStruts应用的七个经验(3) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 把
JakartaStruts应用的七个经验(1) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 编
JakartaStruts应用的七个经验(5) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 使