摘要:在特定框架的基础上建立目标应用系统是当前web应用开发的主流,如面向j2ee平台的struts、spring、jsf、cocoon、axis和xalan等框架都得到了广泛的应用。这些框架是软件开发人员从以往的经验和教训中企业开发和运行多种web服务软件。
二.j2ee平台web应用结构分析
j2ee平台的核心技术是java server page[1]和servlet。整个j2ee平台的应用结构模型如图1所示。从应用结构图明显看出j2ee完全遵从mvc设计模式[2]。下面分别对每个组件做一个介绍。
servlet组件:servlet在web应用中担任重要角色。servlet运行于servlet容器中,可以被servlet容器动态加载,来扩展服务器的功能,并提供特定的服务。servlet按照请求/相应得方式工作。在j2ee平台下,控制器组件就是由servlet来构成的。
jsp组件:在传统的html文件中加入java程序代码和jsp标签,就构成了jsp页面。java程序段可以操控数据库、重新定向网页以及发送e-mail等,实现建立动态网站所需要的功能。jsp技术大大降低了对用户浏览器的要求,即使用户浏览器端不支持java,也可以访问jsp页面。
javabean组件:javabean是一种符合特定规范的java对象,在javabean中定义了一系列的属性,并提供了访问和设置这些属性的公共方法。javabean可以作为共享数据,存放在page、request、session或application范围内。LoCALHost在jsp文件中,可以通过专门的标签来定义或者访问javabean。
自定义jsp标签:jsp标签技术是在jsp1.1版本后出现的。这些可重用的标签能够处理复杂的逻辑运算和事务,或者定义jsp页面的输出内容和格式。自定义标签可以使jsp代码更加简洁,有助于将jsp文件中的java程序代码分离出去,使jsp文件侧重于提供html表示层数据。对于j2ee下不同的框架,会有自己不同的标签库。
ejb组件:enterprise java bean(ejb)组件是基于标准分布式系统对象技术、corba和rmi的服务器端java组件。ejb组件和javabean组件一样,都用于实现企业应用的业务逻辑,它们的根本区别在于:ejb组件总是分布式的,sun公司制定的ejb组件模型要求ejb组件运行于ejb服务器中,而javabean组件可以和servlet或jsp运行在由servlet/jsp容器提供的同一个java虚拟机中。
xml语言:即可扩展标记语言(extensible markup language),是一种用来创建自定义标记的标记语言。xml在web应用以及web服务开发中得到广泛的应用,可用来描述结构化的数据。如在struts框架中,有两个重要的配置文件:web.xml和struts-config.xml。web.xml文件用于配置web应用;struts-config.xml用于配置struts框架。
三.j2ee平台下web开发框架
框架 (framework)[3]不同于类库(library)。框架提供的不是一组功能性的组件,而是一个软件结构,一种业务流程,以及hollywood法则(“don’t call us,we’ll call you”)。选择框架,意味着web应用开发人员只需且只能在框架限制的范围内编写业务组件和显示组件,由框架管理这些组件之间的协作。这虽然丧失了一定的自由,但是却能得到结构更加良好,质量更加可靠的web应用软件。现在,常用的j2ee平台下web应用框架包括struts、spring、jsf、webwork等。
四.展望web应用开发
纵观web应用的