Java BluePrint的解决方案目录
TheJava Blueprints Solutions Catalog是用来收集J2EE技术上AJAX的最佳实践的。每个解决方案包含一个问题和方法的描述、一个设计文档和可运行的源码。这些解决方案是为了让你根据需要在自己的应用程序中复用。以下是已经提供的AJAX交互:
自动补全
自动补全提供了当用户在一个HTML表单中输入一个请求时对数据浏览的简化方式。当用户面对一大片数据时,可以在输入数据时把可能的完整形式显示给用户。然后选择其中一个完整形式可以保证用户输入的数据已经存在在服务器上。
考虑一个大公司的一个名字查找的Web应用。如图2所示,只要输入姓或名的开头几个字母就可以得到人的列表。用户可以然后就只要点击一下就可以浏览用户的详细信息。
|
图2:名字自动补全
|
进度条
在Web应用中,一个服务器端任务也可能要花一段时间去完成。这段时间很可能会超过HTTP交互的时间上限(超时)。当用户不知道这个任务什么时候才能完成时,用户很可能会重新提交一次表单或直接退出会话状态。一般来说,Web应用使用页面刷新来跟踪服务器端操作的状态,这种方式可能会让人厌烦而且也不准确。AJAX可以用来仅在一个HTML页面中跟踪服务器端操作的状态而无需刷新页面。用户可以以图形方式看到服务器端操作的进度,如图3。
|
图3:进度条
|
刷新数据
向一个HTML页面提供最新的数据或服务器消息提醒在现在的Web世界中也是十分重要的,因为现在的Web世界中数据一直不停变化。尽管它不是一个实实在在的推送技术,但它可以通过使用AJAX交互不断进行查询来模拟。当数据需要更新或者要进行提醒,HTML页面将会动态地改变。图4显示了HTML页面中的一个服务器端计数器。这个计数器会在页面后台自动更新。
|
图4:服务器端计数器在刷新数据
|
实时检验
不是所有的表单域都可以单独用JavaScript技术在客户端完成。某些表单数据要求服务器端的验证逻辑。传统和Web应用曾使用页面刷新来完成这种验证,但这可能有些让人烦。
考虑一个需要一个唯一用户ID的Web应用。使用AJAX交互,用户可以在输入的时候就知道ID是否有效(图5)。
|
图5:指出用户ID无效
|
当一个用户输入了一个无效的用户ID,应用程序禁止了提交按钮并且向用户显示了一个信息(图6)。
|
图6:用户ID通过验证
|
用户马上就能知道用户ID是可用的也是有效的。
最后的思考
我们已经看到AJAX交互可以解决很多问题。配合HTTP处理、数据库、Web服务、XML处理和业务对象等API,J2EE技术已经提供了一个开发和部属基于AJAX应用的一个良好的基础。有了对于这个交互模型的更好的理解,今天的应用程序可以变得更加有交互性,给最终用户更好的体验。
使用AJAX要求你使用支持XMLHttpRequest
对象的最新浏览器版本。使用AJAX还要求大量对JavaScript技术和CSS的应用。作为一个应用程序架构师或是一个开发人员,你要会针对浏览器支持、架构复杂度和对开发人员的培训等方面来衡量开发一个富应用的需要。当AJAX编程模型不断地发展,现有的技术和框架会让这种转变更加容易。
很明显的是,突出的Web应用都越来越有交互性了。那么你的呢?
更多信息
分享到:
相关推荐
Apache Camel 是一个流行的开源框架,用于构建企业级集成解决方案,它简化了在Java应用程序之间路由和转换数据的过程。OSGi Blueprint是OSGi服务平台的一个组成部分,提供了一个用于在模块化环境中管理组件和服务的...
1. **Apache Camel**:是一个强大的集成框架,用于构建复杂的企业级集成解决方案,支持多种协议和API。 2. **Blueprint**:是OSGi框架的一个组件,允许在容器内以声明式方式管理服务和配置。 3. **OSGi**:是一个...
第二章“Mastering Modularity”着重讨论如何克服上述挑战,并介绍了OSGi作为解决方案的作用。OSGi框架为Java平台引入了一种全新的模块化模型,使得开发者能够更有效地构建和管理复杂的应用程序。通过OSGi,开发者...
Torna作为一款专业的接口文档解决方案,正是基于这一需求应运而生,它的目标是简化和加速接口文档的管理过程。 Torna的出发点是团队协作,它的设计充分考虑到了软件开发团队在接口文档管理中可能遇到的问题。在日常...
OSGi(Open Services Gateway Initiative)是一种模块化系统和Java服务框架,它允许在单个Java虚拟机(JVM)上动态地发现、安装、卸载和...通过熟练运用这些工具,开发者可以创建出更可靠、易于维护的软件解决方案。
标题“restlet-osgi-blueprint”暗示我们正在讨论一个基于Restlet框架的OSGi(Open Service Gateway Initiative)组件,该组件可能是一个用于构建RESTful Web服务的解决方案。OSGi是一种模块化系统,允许Java应用...
3. **使用Spring DM(Declarative Services)或Blueprint API**: Spring DM是Spring与OSGi集成的早期解决方案,现在已经由Blueprint API取代。这些API允许我们声明OSGi服务,并将它们注册为Spring beans,反之亦然。...
提供了Flask作为Https服务的解决方案。解决了Flask跨域问题。双系统生产化部署(windows/linux)。 通过PIP快速构建redflask工程【Only For LINUX】 1. pip install redflask==0.1.5 2. redflask -b [your_project_...
然而,对于轻量级的解决方案,Eclipse Gemini Web项目提供了将Tomcat或Jetty集成到OSGi环境的方法,创建了一个OSGi Web Container。 **2.3 开发环境准备** 为了在Eclipse中开发OSGi Web应用,需要安装相应的插件,...
**Spring Dynamic Modules** 是一个基于 Spring 框架的扩展项目,它为 OSGi 环境提供了一套全面的集成解决方案。Spring DM 主要用于简化在 OSGi 平台上开发 Spring 应用程序的过程,并提供了许多高级功能来支持动态...
CXF(Apache CXF)是一款基于 Java 的WebService 框架,提供了一个灵活、可扩展、可配置的WebService解决方案。下面是 CXF 开发指南的相关知识点: 一、CXF WebService 准备工作 1. CXF 官方网址:...
总的来说,"library-master_lmb_projectmanagement_" 是一个用Java实现的项目管理解决方案,它结合了现代软件开发的最佳实践,旨在提供一个高效、可扩展和易于维护的项目管理平台。通过深入研究其源代码和相关文档,...
7. **集成性**:Apache Karaf与许多其他开源项目有良好的集成,如Spring DM、Camel、Felix等,广泛应用于企业级解决方案。 对于“apache-karaf-4.0.2.tar.gz”的安装和解压,可以遵循以下步骤: 1. **下载**:首先...
一种可能的解决方案是使用DelegatingProxy,这是一种特殊的代理模式,允许代理类跨越不同的类加载器去访问目标对象。Spring Dynamic Modules(Spring-DM,现在已经被Spring OSGi取代)提供了一种方式来处理这种情况...
Apache Camel 是一个强大的开源企业集成库,它提供了一种模型化的路由和消息处理方式,使得开发者可以轻松构建可扩展且灵活的集成解决方案。这个压缩包"apache-camel-1.5.0-src.zip"包含了Apache Camel 1.5.0版本的...
Camel支持许多这样的模式,并提供了一种声明式的路由和转换规则语言,允许开发人员将这些模式应用到他们的集成解决方案中。 Camel也具有一个庞大的组件库,这使得它能够与各种消息代理、数据源和其他系统进行交互。...
Apache Camel 是一个流行的开源集成框架,它用于构建企业级应用程序,尤其在处理和路由消息时。...而这个zip文件包含了所有必要的资源,使得开发者能够快速地开始使用Apache Camel构建自己的集成解决方案。
CAMEL核心开发指南中提到的关键知识点主要包括了以下几点: 1. **CAMEL框架概述**: CAMEL(即Apache Camel)是...对于希望利用开源技术进行企业级集成的开发者和组织而言,CAMEL无疑是一个非常值得考虑的解决方案。
这种灵活性使得 Camel 成为开发 ESB(Enterprise Service Bus)和其他集成解决方案的理想选择。 在 `apache-camel-2.8.6` 压缩包中,我们可以期待以下关键组成部分: 1. **源代码**:包含了 Camel 的所有 Java ...