java

位置:IT落伍者 >> java >> 浏览文章

现代Java Web开发架构分析


发布日期:2021年11月05日
 
现代Java Web开发架构分析

在本文中我将集中讨论现代的Java开发框架分析它们的特征和各自的使用优点另外我还想比较目前流行的生产质量框架例如StrutsSpring和Hibernate并详细讨论其基本相似性及有关基本概念

我将简短分析被用于支持这些框架的企业开发环境或工具箱例如Borland JBuilderEclipse以及BEA Workbench请记住市场上有许多有关这些开发框架的图书;然而在任何一篇文章中要对它们进行深入描述是不可能的不过我将尽力讨论最广泛地使用的概念

共同点

几乎所有现代的网络开发框架都遵循了模型视图控制(MVC)设计模式商业逻辑和描述被分开由一个逻辑流控制器来协调来自客户端的请求和服务器上将采取的行动这条途径成为了网络开发的事实上的标准每个框架的内在的机制当然是不同的但是开发者们使用来设计和实现他们的Web应用软件的API是很类似的差别还存在于每个框架提供的扩展方面例如标签库JavaServer Faces或JavaBean包装器等

所有的框架使用不同的技术来协调在Web应用程序之内的导航例如XML配制文件java属性文件或定制属性所有的框架在控制器模块实现的方法方面也存在明显的不同例如EJB可能实例化在每个请求中需要的类或使用Java反射动态地调用一个适当的行动(Action)类另外不同框架在各自引入的概念上也有所不同例如一个框架可能定义用户请求和反应(以及错误)场所而另外一个框架可能仅仅定义一个完整的流从一个请求到多个响答和随后的再请求……

各种Java框架在它们组织数据流的方法方面是很类似的在请求发出后在应用程序服务器上产生一些行动;而作为响应一些可能包含对象集的数据总是被发送到JSP层然后从那些对象可能是有setter和getter方法的简单类javabeans值对象或者一些集合对象中提取数据现代的Java框架还想方设法简化开发者的开发任务如通过使用简易的API数据库连接池甚至数据库调用包等提供自动化的追蹤方式来实现一些框架或者能够钩进(hooked into)另外的JEE技术中例如JMS(Java消息服务)或JMX或把这些技术集成到一起服务器数据持续性和日志也有可能成为框架的一部分

企业开发环境

一些框架在Web开发者社区和企业发展领域变得相当流行随着这些框架的日渐成熟并开始发行稳定的版本商业的IDE(集成发展环境)开始为这些框架提供支持并把他们纳入到自己的产品中一些IDE甚至基于框架的概念开发出整个的产品例如BEA WebLogic Workshop就是基于Struts框架建立起来的

Borland Jbuilder为Struts提供了内建的支持也支持JSF和JSTL

Eclipse平台已成为一个很流行的开发工具部分因为它是基于插件的部分因为它对于Web框架的支持现在出现了众多的Eclipse插件甚至完整的基于Eclipse的IDE许多插件被设计适合于Struts框架开发例如MyEclipse()或M

大多数IDE都具有图形化的流程和可视化对象(类代理)例如下面是一个JBuilder的行动(Action)设计器用于规划Web应用程序的页面顺序

WebLogic Workshop引入Java页面流程技术它扩展了Struts框架而提供了一个简化的开发模型并增加了另外一些特性Workshop使用页面流(Page Flows)实现轻易地把用户接口与导航和商业逻辑分离开来页面流由JSP页组成这些页面包含用户接口元素和一个控制器文件(JPF)它包含由用户提供的数据将怎样被处理的指令以及下一步什么页面将被返回到用户的信息页面流动提供给开发者一个可视化的Web应用程序总体轮廓它让开发者能够看到直观地分析不同的JSP页彼此相关联并实现Web应用程序整体结构的快速建立

MyEclipse提供类似的特征并带有更多吸引人的代价标签

Apache Struts框架

Struts框架是一开源产品基于模型视图控制器(MVC)设计范例来开发Web应用软件它使用并且扩展了Java Servlet API最初由Craig McClanahan创建它被捐赠到Apache FoundationStruts框架展示了一个强有力的定制标签库平铺显示表单检验和IN(国际化)另外Struts支持许多描述层包括JSPXML/XSLTJavaServerFaces(JSF)和Velocity;还支持一些模型层包括JavaBeans和EJB

Spring框架

Spring框架是一个分层的Java/JEE应用程序框架基于Expert OneonOne JEE设计和发行的代码Spring框架提供一种简单的开发技术用于自动化处理工程中大量的属性文件和助理类

Spring框架包括的主要特色有:

强有力的基于JavaBeans的配置管理使用InversionofControl(IoC)原则

一个核心bean工厂可用在任何环境从applets到JEE容器程序

通用的抽象层适合于数据库事务管理允许可插入的事务管理器并且不需要处理低层次的问题就可容易地划分各事务的界限

一个很有意义的异常处理的JDBC抽象层

与Hibernate集成到一起DAO实现支持以及事务策略

Hibernate框架

Hibernate是一适合于Java语言的对象关系映射(ORM)解决方案它也是开源软件类似Struts并且在LGPL保护下发布Hibernate被一群来自世界各地的Java软件开发者所共同开发它提供一个易用的框架来实现把一个面向对象的域模型映射到一传统的关系数据库它不仅负责从Java类到数据库表格(以及来自Java数据类型的SQL数据类型)的映射而且还提供数据查询和检索能力并能大大减少花在SQL和JDBC手工数据处理上的开发时间

Hibernate的目标是减轻开发者的与大量普通的数据持续性相联系的编程任务Hibernate还能够适应开发进程无论它是刚开始设计还是来自一现成的数据库Hibernate可以自动生成SQL使开发者摆脱了手工处理结果集和进行对象转化的繁琐任务并能使应用程序移植到所有的SQL数据库它还能提供透明的持续性对持续性类的唯一的要求的是实现一个无参数的构造器

这个框架典型地使用在JavaSwing应用软件基于Servlet的Java应用软件和使用EJBsession beans的JEE应用软件中

结论

本文概述了现代最流行的Java Web开发框架当然还有更多框架尚未描述开源和商业化的都有例如WebWork()或Tapestry();而许多框架通过扩展另外的MVC框架在内部被成功开发当前最流行的框架是Apache Struts当Web开发竞技场继续演变它的工具和编程方法时Java应用程序框架也将继续成长下去Java Web开发框架的未来一片明亮!

上一篇:Java内存结构与模型

下一篇:Java I/O流