使用经典的ASP或JSP技术构建应用程序经常意味着与HTML标注混合编码。然而,在创建这些技术的初期,与其以前使用的方法相比,这些平台为构建web应用程序提供更多的优势。JSP和ASP都提供了相似的对象模型,例如在JSP和ASP应用程序中都可以使用包括Request,Response和Session等对象。现在,在隐蔽处理HTTP协议的无状态特征所带来的复杂性方面还没有出现真正的软件尝试。
ASP.NET和JSF框架都是基于组件和事件驱动的。也就是说,在一个表单上的组件通过激活应用程序事件来响应用户行动。这些事件为开发者编写代码从而实现必要的逻辑提供了机会。这与JSP和ASP基于“请求驱动”的开发具有很大的不同。其目的是,创建一种更直观的编程模型—类似于构建一个Visual Basic或Java Swing桌面应用程序。其实,JSF和ASP.NET web页面就是一个组件的集合。每个框架都提供了一套标准的组件,并且现在市场上已有大量的个人和开源以及商业组织来提供各种定制组件(在ASP.NET中,称为“控件”)。最近,微软发行了ASP.NET 2.0,与其前面的版本相比,它又添加了更多的组件。不象ASP.NET仅为一家供应商所拥有,JSF是一种标准的规范—它是经许多家J2EE供应商共同开发而成的。除了由Sun所提供的参考实现和许多供应商已经添加了他们自己的组件库之外,还有大量的其它实现。JSF是一种比ASP.NET更新的技术,虽然在目前的组件市场上落后一些,但是现在的JSF组件市场份额正在不断增长。
尽管可以使用简单的文本编辑器来构建ASP.NET和JSF应用程序,但是使用IDE更好一些。因此,当构建ASP.NET或JSF应用程序时选择良好的工具是很关键的。一些优秀的IDE,例如微软的Visual Studio.NET或Sun Java Studio Creator允许你把组件从组件面板拖动到页面上并通过使用属性编辑器来定制它们的行为和外观(参考下图)。最近,随着.NET 2.0的引入,微软宣布了Visual Studio.NET的一个免费的快递版本,它可以兼容于其商业版本。不过,Sun Java Studio Creator也是一个免费的工具。在本文中,我将既使用Visual Studio.NET Express Edition也使用Sun的Java Studio Creator。
Visual Studio/Java Studio Creator组件面板
从现在开始,我们将着手构建一个简单应用程序—雇员可以使用之来预订会议房间。这个程序尽管很简单但却提供了足够的特征来实现本文的演示目的。当我们构建该应用程序时,我们将一并讨论一下这两个框架中的核心概念。在本文中的两种示例应用程序中,它们都使用相同的包含两个数据库表(conference_rooms和room_reservations)的MySql数据库。这些表中包含了一些示例数据。详细的SQL请见本文源码中的install_tables.sql文件。
\n