引言:
使用JavaServer Faces(JSF)、Spring Framework和Hibernate建立一个真实的Web应用程序
内容概要
使用JSF建立一个真实的Web应用程序不是没有意义的任务,这篇文章介绍了如何将JSF与Sping Framework和Hibernate...
摘要:
getting started
a significant portion of application development involves a process of find, copy, paste, and integrate. this process can be greatly accelerated when you can find existing ......
摘要:
j2me学习(一)
——j2me开发工具和厂商sdk介绍
在学习和使用j2me的过程中,会用到很多的开发工具和厂商的sdk,下面是一些简单的介绍:
一、开发工具:
现在常用的开发工具有jbuilder、eclipse等,当然也有一些使用文本编辑器进行开发的。
a) jbuilder
jbuilder是borland公司开发的一个java开发工具,覆盖java开发的......
JSF+Spring+Hibernate的实例讲解
使用javaserver faces(jsf).spring framework与hibernate建立一个真实的web应用程序
使用jsf建立一个真实的web应用程序不是没有意义的任务,这篇文章介绍了如何将jsf与sping framework与hibernate集成,并且给出了使用这些技术建立这个真实的web应用程序的最佳实践与设计指导
【程序编程相关:
如何使用JSP开发WebMail系统】内容概要
【推荐阅读:
JSP与JavaMail之4(发送HTM】 这篇文章涉及所有这些问题.它向你展示如何集成其他特定的java框架,spring framework与hibernate,它示范怎样去创建一个叫jcatalog的web应用程序,一个在线的产品目录系统.这篇文章使用jcatalog例子,介绍了web应用程序设计的每一个阶段,包括业务需求收集,分析,技术选择,高层体系结构与详细设计.这篇文章论述了jcatalog里面好的与不好的技术,示范了应用程序设计中一些关键方面的方法与步骤.
【扩展信息:
j2ee常见错误(放到这里备查)】 javaserver faces(jsf)技术是j2ee应用程序的一个新的用户接口框架,它非常适合基于mvc(model-view-controller)体系结构的应用程序.已经有大量的文章介绍jsf.然而,很多文章都是站在理论研究的层面上,没有挑战一个真实的企业开发.很多问题没有解决,例如,jsf怎样全面适合mvc体系结构?jsf如何与其他java框架集成?业务逻辑应该放在jsf的backing beans里面吗?怎样处理jsf里面的安全问题?最重要的是你怎样使用jsf建立一个真实的web应用程序?
这篇文章是写给正在从事基于j2ee web应用程序的java架构师,开发者,它不是对jsf.spring framework与hibernate的入门教程.如果您对这些领域不熟悉,请参考文章最后的资源链接.
例子应用程序的功能需求
这篇文章的例子应用程序jcatalog是一个真实的web应用程序,例子足够现实是为了决定应用程序架构而进行意味深长的讨论的基础.我通过介绍jcatalog项目的需求开始.我在这里谈到后面贯穿于整个文章的内容是为了演示技术选择与体系结构设计.
设计web应用程序的第一步是收集系统的功能需求,这个例子应用程序是一个典型的电子商务应用系统.用户能浏览产品目录与查看产品细节,管理员能管理产品目录.功能还可以增加,举例来说,为了开发一个成熟的电子商务系统,可以添加库存管理与订单处理的功能.
用例
用例分析被用于去访问例子应用程序的功能需求,图1是应用程序的用例图.
图1 用例图
一个用例图确定在一个系统中的参与者以及参与者可以执行的操作.例子应用中7个用例必须被实现.参与者中的user能浏览产品目录与察看产品细节.一旦用户以administrator身份连接到系统,他就能创建新产品,编辑存在的产品,删除老的产品.
业务规则
jcatalog 必须符合下面的业务规则:
每个产品有一个唯一的产品id
每个产品至少属于一个目录
产品id一旦被创建就不能改变
假定
对于产品的设计与实现,我们做下面的假定.
英语是默认语言;不要求国际化
目录中不超过500种产品
目录的更新不频繁
页面流
图2显示了所有jcatalog的页面与它们之间的转换.
图2 页面流图
应用程序有两组页面:公共的国际互联网与管理员的企业内部网.企业内部网只有对那些成功登陆到系统的用户有效.产品概要页面是公用的,它作为产品目录的内容包含在一个html框架里面.产品列表是一个特殊的目录,只能被管理员看见,它包含创建.编辑与删除产品的链接.
图3是目录页的一个模型.理想情况下,每一个页面所有的控制与必要的内容明细的模型应该被包含在需求文档里面.
图3 目录页面模型
高级体系结构设计
下一步的设计是web应用程序的高级体系结构设计,它包括将应用程序细分成功能组件以及将这些组件划分到各自所属的层.高级体系结构设计独立于使用的技术.
多层体系结构
一个多层体系结构将整个系统划分成清晰的单元——客户端.表示层.业务逻辑层.集成层与企业信息系统(eis),这保证了清晰的责任划分以及可维护性与可扩展性.三层或多层系统已经被证明比没有业务逻辑层的客户-服务器系统具有更多的可升级性与柔韧性.
客户端是数据模型被消费与呈现的地方.对于一个web应用程序,客户层通常是web浏览器.基于浏览器的瘦客户不包含表示逻辑;它依赖于表示层.
表示层使用业务逻辑层为用户服务,它知道怎样去处理一个客户请求,怎样去与业务逻辑层结合以及怎样去选择下一个试图去显示.
业务逻辑层包含一个应用程序的业务对象与业务服务.它从表示层接受请求,基于请求处理业务逻辑,作为访问eis层资源的的中介.业务逻辑层组件使用许多系统级别的服务,例如,安全管理.事物管理与资源管理.
集成层是业务逻辑层与eis层之间的桥梁.它封装了与eis层相结合的逻辑.有时,集成层与业务逻辑层的结合是作为中间层被提到.
应用程序数据在eis层被持久化,包括关系数据库,面向对象数据库与遗留系统.
jcatalog 的体系结构设计
图4显示了jcatalog的高级体系结构设计以及它怎样适合多层体系结构.
图4 高级体系结构图
应用程序使用了一个多层的非分布式的体系结构,图4显示应用程序层与每一层技术选择的划分.它也用于应用程序的部署图.对于一个可配置的体系结构,表示层.业务逻辑层与集成层被定位在同样的web容器.定义良好的接口隔离了每一层的职责.可配置的体系结构使应用程序简单与可升级.
对于表示层,经验告诉我们,最好的实践是选择一个存在的,被验证的web应用框架,远比设计开发一个定制的框架好.我们有几个web应用框架可供选择,举例来说,struts.webwork与jsf.对于jcatalog项目,我们使用jsf.
对于业务逻辑层,不是使用ejb(enterprise javabeans)就是使用pojo(plain old java objects).如果应用程序是分布式的,ejb具有远程接口是一个较好的选择.因为jcatalog是一个典型的没有远程访问请求的web应用程序,pojo在spring框架的帮助下,用于实现业务逻辑层....
下一页 摘要:
综述:java数据库连接体系结构是用于java应用程序连接数据库的标准方法。jdbc对java程序员而言是api,对实现与数据库连接的服务提供商而言是接口模型。作为api,jdbc为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。jdbc使用已有的sql标准并支持与其它数据库连接标准,如odbc之间的桥接。jdbc实现了所有这些面向标准......