1、基于 JSP 网页自动生成工具的设计与实现摘 要:Web 开发技术是 Internet 应用的一个重要方面,而 JSP 又是Web 开发的最先进的技术,是当前 Web 开发人员的首选技术。但是由于JSP 对 Web 开发人员要求较高,所以许多一般的 Web 开发人员还不能够使用这一项先进的技术。讨论基于模板和标签库的 JSP 网页自动生成工具的设计和实现,提出具体的设计思想和实现方法。关键词:JSP;自动生成;Web 开发;标签;标签库;模板目录:引言.21 系统设计目标和使用的主要技术.411 设计目标412 主要技术4121 模板技术.4122 标签库技术.42 系统的组成和实现.621
2、系统组成622 系统的实现7221 模板库和标签库的实现.7222 系统开发环境.113 结束语.11引 言随着 WWW(World Wide Web)的普及,动态网页技术也急速发展。从原来的 CGI(Common Gateway Interface)到 ASP(Active Server Page) ,都从某种程度上满足了网页开发人员对动态网页开发技术的需求。但是不管是 CGI 还是 ASP 都存在一定的局限性,如 CGI 对服务器资源的耗费,ASP 只能同 Microsoft IIS 一起使用等,这些都限制了这些技术的使用范围,极大地阻碍了它们的推广。广大的页面开发人员都热切地盼望一种统一
3、的页面开发技术,该技术应该具有的特点:与操作平台无关,能够在任何 Web 或应用程序服务器上运行;将应用程序逻辑和页面显示分离;提供代码重用,简化开发基于 Web 的交互式应用程序的过程。JSP(Java Server Page)技术就是被设计用来满足这样的要求的。JSP 是由 Sun MicroSystem 公司于 1999 年 6 月推出的新的网页开发技术,它是基于 Java Servlet 以及整个 Java 体系的 Web 开发技术,是Servlet21API 的扩展。利用这一技术,可以建立先进、安全和跨平台的动态网站。Java 是未来的主流开发技术,具有很多优势。JSP 则是 Jav
4、a 在InternetIntranet Web 上的重要应用技术,得到了广泛的支持和承认,它可以和各种 Java 技术完好地结合在一起,从而实现非常复杂的应用。作为一种基于文本的、以显示为中心的开发技术,JSP 提供了 Java Servlet 的所有好处。为了做到逻辑功能和显示功能分开,JSP 已经可以和 JavaBeans、Enterprise JavaBeans(EJB)和 Servlet 一起工作。JSP的开发人员可以通过使用 JavaBeans、EJB 和 Servlet 来完成大部分与网站逻辑相关的工作,而仅仅把显示的工作交给 JSP 页面来完成。内容和显示逻辑分开的好处在于,更新
5、页面外观的人员不必懂得 Java 代码,而更新 Java 类的人员也不必是设计网页的行家。这就可以用带 Java 类的JSP 页面来定义 Web 模板,以建立一个具有相似外观的页面组成的网站。Java 类完成数据提供,在模板中就没有 Java 代码,这意味着这些模板可以由一个 HTML 编写人员来维护。JSP 作为当前主流的网页开发技术,具有如下特点。1)将内容的生成和显示进行分离:使用 JSP 技术,Web 页面开发人员可以使用 HTML 或者 XML 标识来设计和格式化最终的页面。使用 JSP 标识或者小脚本来生成页面上的动态内容(内容是根据请求来变化的) 。生成内容的逻辑被封装在标识和
6、JavaBeans 组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和 JavaBeans中,那么其他人,如 Web 管理人员和页面设计者,能够编辑和使用 JSP页面,而不影响内容的生成。2)强调可重用的组件:绝大多数 JSP 页面依赖于可重用的、跨平台的组件来完成应用程序所要求的更为复杂的处理。得益于 Java 的操作平台无关性,开发人员能够很方便共享和交流执行普通操作的组件,或者使得这些组件为更多的使用者所使用。基于组件的方法加速了总体的开发过程,极大地提高了项目整体开发的效率。虽然 JSP 功能强大,但是它要求网页开发人员对 Java 要相当熟悉。而现在 J
7、ava 程序员还比较少,对一般的网页开发人员来说,JSP 的语法还是比较难于掌握的。所以,就需要有一种网页开发工具,为一般的网页开发人员提供常用的 JSP 应用,让只懂得一般页面开发技术(HTML)的开发人员也能够使用 JSP 的强大功能。1 系统设计目标和使用的主要技术11 设计目标 本系统的设计目标是为只懂得 HTML 但完全不了解 JSP 的一般网页开发人员提供一个网页开发工具,使他们能够根据系统文档,通过标签使用 JSP 的常用功能,最后生成一个只包含静态 HTML 和 JSP 标签的动态JSP 网页。12 主要技术本系统在设计时,主要考虑使用模板和 JSP 标签的技术来实现。121
8、模板技术模板技术被广泛地应用于各种开发和应用系统中。它预先生成一些常用的框架结构,使用户可以根据自己的需要方便地从模板库中选择模板,而不用自己重新去搭建,节省了用户的开发时间,方便了用户的使用。在本系统中,将页面按照功能类型进行分类,归纳出常用的页面类型,生成模板库。122 标签库技术在 JSP 中,动作是可以创造与访问程序语言对象和影响输出流的元素。JSP 定义了六个标准的动作。除了这六个标准动作以外,用户可以定义自己的动作来完成特定的功能。这些动作被称为客户化动作,它们是可重用的程序模块。通过这些动作,程序员就可以在 JSP 页面中把页面的显示功能也部分地封装起来,使整个页面更加简洁和易于
9、维护。在一个 JSP 页面中,这些客户化动作是通过客户化标签来调用的。而标签库(Tag Library)就是客户化标签的集合。JSP 标签库是一种通过 JavaBeans 生成基于 XML 的脚本的方法。它是JSP 的最大特点之一。通过标签库,能够无限制地扩展 JSP 应用,完成任何复杂的应用需求。JSP 标签库具有以下特点。1)易于使用:JSP 中的标签和一般的 HTML 标记外表上是完全一样的,使用起来和普通的 HTML 标记一样方便。2)易于代码重用:标签库中的每一个标签都能完成一定的功能。一旦定义好了一个标签库,只需要把这个标签库包装成一个 Jar 文件,那么以后只要在别的系统中使用这
10、个标签库就行了,而不用重新开发代码,极大地提高了系统开发效率,降低了开发成本。3)易于代码维护:所有的应用逻辑都封装在标签处理器和JavaBeans 中,所有的标签都集中在一个标签库中。如果需要更新代码或者需要修改一个网页上的功能,只需要修改相应的标签即可。通过这种统一维护方式,不用在每个网页上去作修改,极大地减少了维护的工作量,节约了维护成本。4)易于系统扩充:如果需要向系统中添加新的功能,只需要定义一个新的标签来完成这一功能即可,无需对系统的其它方面作任何改动。标签库可以继承 JSP 规范各方面的特性。这样就可以无限制地扩展和增加 JSP 的功能,而不需要等待下一版本 JSP 的出现。2
11、系统的组成和实现21 系统组成本系统主要由四个部分组成,见图 1。1)数据库连接部分:本系统支持常用的几个数据库,包括Oracle、Sybase、MSSQLServer、MySQL 和 DB2,根据用户选择的数据库类型和用户提供的数据库名称、用户名、密码使用 JDBC 同数据库相连。2)系统基本表生成部分:和数据库连接以后,根据同数据库相连的用户名生成两个系统基本表 TCTables 和 TCColumns,TCTables 表包含在该数据库中属于该用户的所有的表的英文名称、中文名称和一些属性,如是否可修改、是否可查询等;TCColumns 表包含在该数据库中属于该用户的所有的表的所有列的中英
12、文名称和其它一些属性。如是否可显示、是否可查询等。这两个系统基本表在整个系统的开发过程中提供用户所使用数据库的基本信息。3)模板选择和网页生成部分:该部分是系统的核心部分。它包含了两个子模块。模板选择部分:系统为用户提供模板选择界面,让用户根据需要从模板库中选择所要使用的模板。模板处理部分:根据用户选择的模板,系统调用指定的模板处理模块对这个模板进行处理。当处理程序遇到模板中的标签时,就为用户提供交互界面,让用户为指定的标签输入参数,并由系统验证用户输入的标签的有效性。最后由系统完成 JSP 页面的生成。4)网页预览和修改部分:网页生成出来以后,系统为用户提供了一个网页预览窗口和代码查看修改窗
13、口。通过这个预览窗口,用户可以预览一下生成出来的 JSP 页面的效果。如果用户对页面的静态方面的效果不太满意,用户可以通过代码查看修改窗口修改代码中的 HTML 代码。如果用户对页面的静态效果有进一步的要求,系统还为用户提供了一个调用 DreamWeaver 编辑器的接口,用户可以使用它来对生成出来的 JSP 页面的静态效果进行进一步的修改和完善。22 系统的实现 221 模板库和标签库的实现标签库的规划和设计在整个系统设计中至关重要,它关系到了代码重用的程度和系统运行的效率。它的规划应该遵循以下原则。1)在标签中应该尽量少的包含静态的 HTML。对于一般用户来说,标签是透明的。用户不能够查看
14、和修改标签。如果在标签中包含了过多的静态 HTML 语句,将影响用户对页面的静态效果的修改和完善,限制标签的使用。2)尽量提高代码的重用度。在对 JSP 应用进行分类是尽量把公用的JSP 应用提取出来,形成标签。而不用在每个标签中都重复实现该应用。这样在以后要对该应用进行修改和完善时,只需对这一个标签进行修改即可,易于代码的维护。3)方便用户的使用。在设计标签库时,应该充分考虑到用户的使用情况,使用户能够很容易和方便地理解和使用标签。标签库的定义:定义一个标签库,必须首先定义一个标签库描述文件(TLD) 。这是一个基于 XML 的脚本文件,在这个文件中定义了 XML的版本、所使用的编码、标签库
15、的版本、所使用的 JSP 的版本、标签库的名称和这个库中所包含的所有的标签的定义和参数描述,包括标签的名称,标签所对应的 Java 类,标签的描述信息等。标签的实现:一个标签就是一个特殊的 Java类,这个类必须继承 TagSupport 类,这个类是在javaxservletjsptagext 包中定义的。在标签类中,包含了这个标签的参数初始化方法(SetGet) 、标签的主体处理方法(Handler)以及供下一级标签调用的方法等。模板的实现:一个模板就是一个含有标签引用的 JSP 文件。为了在模板中引用所定义的标签,必须首先引入标签库。taglib uri“tagtld”prefix“ct
16、ag”其中 uri 指定标签库描述文件的路径;prefix 指定引用标签时所使用的前缀。在模板中引用指定的标签时,使用引入标签库时所指定的前缀,指定标签的名称;为标签的参数赋值。222 系统开发环境本系统主体程序开发使用的是 Borland 公司的 JBuilder 60,模板开发使用是 Microsoft 公司的 FrontPage2000,标签库开发使用的是UltraEdit 编辑器,JDK 采用的是 JDK14。系统测试环境是 JRun30。 3 结束语Java 是未来开发语言的主流,而 Java 在 Web 上的主要应用 JSP 也必将成为未来 Web 开发的主流技术。本系统采用了 J
17、SP 的最大特点之一的标签库,使一般的 Web 开发人员也能够方便地使用 JSP 强大的动态页面功能,开发出技术先进的 JSP 动态 Web 页面。由于本系统采用 Java 语言进行开发,所以可以在任何支持图形化界面的操作系统下运行,实现了完全的与平台无关。本系统易于扩充和完善。在以后可以考虑为用户提供接口,使用户可以自己扩充模板库和标签库,进一步增强系统的功能。参考文献1 Cay SHorstmann,Gary CornellJava 2 核心技术(CoreJava 2) M 北京:机械工业出版社2 Bruce EckelJava 编程思想(Thinking in Java) M 北京:机械工业出版社3 Joseph LWeberJava 2 编程详解(Using Java 2) M 北京:电子工业出版社4 Borland 公司Building Applications with JBuilder
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。