首页 > 开发 > 综合 > 正文

开发高效率企业动态Web系统

2024-07-21 02:15:22
字体:
来源:转载
供稿:网友
国内最大的酷站演示中心!
由sun等多家公司推出的jsp动态网页技术已经广泛流行。它继承了java的跨平台、可移植、高性能等特点,使得在功能和安全性能上都优于microsoft公司的asp。很多jsp程序设计者在使用jsp进行动态网站开发时,认识到使用javabean技术进行功能封装的重要性,但是却忽视了tag library这一关键技术的使用。众所周知,html语言就是一种纯标记语言,如果要实现设置“hello”为红色字体的功能,只需用<font color="red">hello</font>就可以了。那么,<font>就是一个典型的标记,color是它的属性。现在,假设想要通过类似的标记方法来实现email的发送,也要定义一个<sendmail 属性>......</sendmail>的标记,然后就可以用<sendmail ……>[email protected]</sendmail>把一封信发到[email protected]信箱中了。 tag library指的就是关于<sendmai>这类标记的标记库。它类似于函数库或组件,但又有别于这两者,因为它将功能用一种标记和标记中的属性来表达实现。tag library是xml技术与jsp结合的产物,主要体现在用标记(tag)来表达和实现想要实现的功能。目前,大多数的jsp服务提供商开发的jsp引擎都支持tag library技术,比如著名的apache组织的tomcat、ibm公司的websphere、bea公司的weblogic等都是很典型的jsp服务平台。不仅如此,这些引擎还开发扩展了很多出色的tag,封装成tag library,方便开发者的调用。allaire公司推出的jrun在这些服务平台中一枝独秀。它具备良好的性能,同时还提供了自带的tag library,即jruntags。jruntags可以实现动态网页设计中诸多重要功能,如数据库连接和操作、电子邮件的送取等。下面以一实例介绍在jrun平台上如何应用jruntags来增强动态网页的开发,提高开发效率。

应用实例

本文实例主要是让学生在线查看课程目录,并进行网上选课,以计算机处理的方式增强统计、分类,减少人为操作的复杂性。



数据库表

用access建一个数据库test.mdb,并在odbc中创建一个名为db的数据源名,使其指向test.mdb数据库,使用jdbc-odbc bridge进行数据库连接。其中,数据库test.mdb内有subject_tb 和stu_sub_tb两张表,表结构如下。

subject表:

字段类型、长度字段类型、长度课程号char(3)        课程名char(20)教师char(10)简介char(50)


stu_sub_tb表:

字段类型、长度字段类型、长度学号char(7) 课程号char(3)


部分程序代码:

inc.jsp<%@ page import="java.sql.*,allaire.taglib.*" %><%string xh = request.getparameter("t2");string subid = request.getparameter("t1"); class.forname("sun.jdbc.odbc.jdbcodbcdriver").newinstance();connection con = drivermanager.getconnection("jdbc:odbc:db");%>select_sub.jsp<%@ page contenttype="text/html;charset=gb2312" %><%@ taglib uri="jruntags" prefix="jrun" %><%@ include file="inc.jsp"%><jrun:if expr="<%= xh != null && subid != null %>"><jrun:sql connection="<%= con %>"> insert into stu_sub_tb (学号,课程号)values (<jrun:sqlparam value="<%=xh %>"/>,<jrun:sqlparam value="<%=subid %>"/>)</jrun:sql>您己经选修了课程号为<font color="red"><b>[<%=subid%>]</b></font>的课程。</jrun:if><jrun:sql connection="<%= con %>" id="rs">   select * from subject_tb</jrun:sql><center><b>选修课课程</b></center><table width="100%"><tr><jrun:param id="rs" type="querytable"/><jrun:foreach item="field" type="string" group="<%= rs.names %>">    <td align="center"><b><%= field.touppercase() %></b></td></jrun:foreach><jrun:form method="post" name="form1"><jrun:foreach group="page.rs"><tr><jrun:foreach item="x" group="<%= rs.values %>"><td align="center"><%= x %></td></jrun:foreach></tr></jrun:foreach><td><b>我要选修一门:</b></td><td><jrun:input name="t1" value="课程号" onfocus="this.select()" class="form-input"onmouseover="this.focus()" size="10"/></td><td><b>学号</b></td><td>&nbsp;&nbsp;&nbsp;<jrun:input name="t2" type="text" size="10" />&nbsp;&nbsp;<input type="submit" name="tj" value="提   交"></td><td>&nbsp;</td></tr></table></jrun:form>




功能和基本原理

从此实例可以看到,在select_sub.jsp中包含了inc.jsp这个文件,通过<%@ taglib uri="jruntags" prefix="jrun" %>来调用jruntags,并类似创建对象一样定义了一个前缀jrun,实现了以“jrun”为前缀的各类标记。<jrun:if……>和<jrun:foreach……>是程序设计中if判断和for循环。<jrun:sql connection……>是建立数据库的连接,并同时进行select、insert、del等所有标准sql的操作。这些操作都封装在tag中的。由此可以看出,jruntags的使用非常容易,代码简短。

tag library的工作原理也很简单,离不开tld和tei这两种文件。tld是使用标准的xml语法定义标记和标记属性的、扩展名为.tld的文件。tei其实就是标准的java文件,这个文件中声明了各种各样的方法,对相应的tld文件中的标记进行处理。也就是说一个完整的基于tag library的jsp应用系统是由.jsp、.tld、.class(.java)这三个重要文件组成的。所以,jrun安装目录中的servers/lib/jruntags.jar文件在本例中扮演着极其重要的角色,jruntags.jar文件是包含了taglib.tld和相应的很多tei(.class)文件的压缩包。


使用jruntags的优势

asp和jsp的一个相似点是它们都在html语言中嵌入了包含在<%%>中的解释性代码。从select_sub.jsp的代码中可以看到,应用jruntags则做到尽可能避免<%%>的出现,几乎实现纯标记(tag)的形式。这样做的好处在于更有利于网站开发的分工,提高开发效率,增强扩展性和可维护性。

网站开发小组一般由界面(美工)设计和动态程序设计两类人才组成。前者负责用html语言等增强网站的视觉美感,而后者专注于设计程序,与数据库等打交道,实现动态调用数据的功能。只有两者配合默契方能开发出功能既强大,界面又生动美观的动态网站。但在应用jsp开发中,往往会因为界面设计人员误删了“<%”或程序员弄乱了表格的嵌套等诸多错误而大大影响开发的效率。使用tag library,功能设计人员可以更专注于tag的定义和开发,亦即功能的实现;而界面开发者也可以根据易于理解的tag和html语言设计生动的页面。这样,两者既分工明确,又不相互干扰,既提高效率,又易于查错。

jruntags具有上述的优势,同时根据广大用户的客观需要定义了最常用的tag,如发送和接收邮件、发送和接收消息等,节省了功能设计人员的开发时间。笔者在开发的过程中还用到sendmail功能,可以将通知等信息及时发送到学生的信箱中。这种实现不需要冗长的代码。


结束语

xml正逐步推向更广泛的应用,它同jsp一样具有良好的跨平台性能。这样,基于xml和jsp的tag library也能在不同的平台上流畅地运行。allaire公司还提供了linux平台下的jrun引擎,笔者将windows平台上开发的jsp程序移值到linux上,在不需要修改任何代码的情况下,能流畅地运行。可以想象,凭着jsp和xml的强大功能,jsp+xml技术必将得到更广泛的应用。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表