站内搜索: 请输入搜索关键词

当前页面: 开发资料首页 → Java 专题 → Struts+Spring+Hibernate组装web应用

Struts+Spring+Hibernate组装web应用

摘要: 这篇文章将讨论怎样组合几个著名的框架去做到松耦合的目的,怎样建立你的构架,怎样让你的各个应用层保持一致。
<table borderColor=#ffffff cellSpacing=1 width=180 border=0> <tr> <td borderColor=#003399 width=202 bgColor=#ffffff height=33></td></tr> <tr> <td borderColor=#003399 bgColor=#ffffcc> 相关专区</td></tr> <tr> <td borderColor=#003399 bgColor=#cccccc> <table cellSpacing=0 width=180 bgColor=#cccccc border=0> <tr> <td width="50%">·初学者专区</td> <td>·高级技术</td></tr> <tr> <td>·图像与多媒体</td> <td>·网络编程</td></tr> <tr> <td>·Java开源</td> <td>·Eclipse</td></tr> <tr> <td>·EJB开发 </td> <td>·设计模式 </td></tr></table></td></tr> <tr> <td borderColor=#003399 bgColor=#cecaa6> 精彩专题</td></tr> <tr> <td borderColor=#003399 bgColor=#bfbfff> <table cellSpacing=0 width=180 border=0> <tr> <td width="50%">·Java6新功能 </td> <td>·Borland传奇</td></tr> <tr> <td>·JBuilder05</td> <td>·EJB 3.0</td></tr> <tr> <td>·Servlet API</td> <td>·JDBC入门讲座</td></tr></table></td></tr> <tr> <td borderColor=#003399 bgColor=#dab4ef> 主题社区</td></tr> <tr> <td borderColor=#003399 bgColor=#ffdfdf> <table cellSpacing=0 width=180 border=0> <tr> <td width="50%">·Java源码</td> <td>·Java</td></tr></table></td></tr></table>
  摘要:

  这篇文章将讨论怎样组合几个著名的框架去做到松耦合的目的,怎样建立你的构架,怎样让你的各个应用层保持一致。富于挑战的是:组合这些框架使得每一层都以一种松耦合的方式彼此沟通,而与底层的技术无关。这篇文章将使用3种流行的开源框架来讨论组合框架的策略

  其实,就算用Java建造一个不是很烦琐的web应用程序,也不是件轻松的事情。当为一个应用程序建造一个构架时有许多事情需要考虑。从高层来说,开发者需要考虑:怎样建立用户接口?在哪里处理业务逻辑?和怎样持久化应用数据。这三层每一层都有它们各自的问题需要回答。 各个层次应该使用什么技术?怎样才能把应用程序设计得松耦合和能灵活改变?构架允许层的替换不会影响到其它层吗?应用程序怎样处理容器级的服务,比如事务处理?

  当为你的web应用程序创建一个构架时,需要涉及到相当多的问题。幸运的是,已经有不少开发者已经遇到过这类重复发生的问题,并且建立了处理这类问题的框架。一个好框架具备以下几点: 减轻开发者处理复杂的问题的负担(“不重复发明轮子”);内部定义为可扩展的;有一个强大的用户群支持。框架通常能够很好的解决一方面的问题。然而,你的应用程序有几个层可能都需要它们各自的框架。就如解决你的用户接口(UI)问题时你就不应该把事务逻辑和持久化逻辑掺杂进来。例如,你不应该在控制器里面写jdbc代码,使它包含有业务逻辑,这不是控制器应该提供的功能。它应该是轻量级的,代理来自用户接口(UI)外的调用请求给其它服务于这些请求的应用层。好的框架自然的形成代码如何分布的指导。更重要的是,框架减轻开发者从头开始写像持久层这样的代码的痛苦,使他们专注于对客户来说很重要的应用逻辑。

  这篇文章将讨论怎样组合几个著名的框架去做到松耦合的目的,怎样建立你的构架,怎样让你的各个应用层保持一致。富于挑战的是:组合这些框架使得每一层都以一种松耦合的方式彼此沟通,而与底层的技术无关。这篇文章将使用3种流行的开源框架来讨论组合框架的策略。表现层我们将使用Struts;业务层我们将使用Spring;持久层使用Hibrenate.你也可以在你的应用程序中替换这些框架中的任何一种而得到同样的效果。图1展示了当这些框架组合在一起时从高层看是什么样子。



图1 用Struts, Spring, 和 Hibernate框架构建的概览

  应用程序的分层

�  〈蠖嗍桓丛拥膚eb应用都能被分成至少4个各负其责的层次。这些层次是:表现层、持久层、业务层、领域模型层。每层在应用程序中都有明确的责任,不应该和其它层混淆功能。每一应用层应该彼此独立但要给他们之间放一个通讯接口。让我们从审视各个层开始,讨论这些层应该提供什么和不应该提供什么。

<table style="BORDER-RIGHT: #6595d6 1px dotted; TABLE-LAYOUT: fixed; BORDER-TOP: #6595d6 1px dotted; BORDER-LEFT: #6595d6 1px dotted; BORDER-BOTTOM: #6595d6 1px dotted" cellSpacing=0 cellPadding=9 width=500 align=center border=0> <tr align=middle> <td colSpan=4>软件频道精品推荐 </td></tr> <tr align=middle> <td width="25%"> </td> <td width="25%"> </td> <td width="25%"> </td> <td> </td></tr> <tr align=middle> <td> </td> <td></td> <td> </td> <td>

更多精彩
点击体验>>

</td></tr></table>

↑返回目录
前一篇: EJB 3.0是Hibernate的克隆吗?
后一篇: 在JDK 6.0中基于StAX分析XML数据