摘要:Web开发技术是Internet应用的一个要紧方面,而JSP又是Web开发的最早进的技术,是目前Web开发职员的最佳选择技术。但因为JSP对Web开发职员需要较高,所以很多普通的Web开发职员还不可以够用这一项一流的技术。讨论基于模板和标签库的JSP网页自动生成工具的设计和达成,提出具体的设计思想和达成办法。
关键字:JSP;自动生成;Web开发;标签;标签库;模板
目录:
引言…………………………………………………………………..2
1系统设计目的和用的主要技术……………………………….4
1.1设计目的………………………………………………………4
1.2主要技术………………………………………………………4
1.2.1模板技术………………………………………………….4
1.2.2标签库技术……………………………………………….4
2系统的组成和达成……………………………………………….6
2.1系统组成………………………………………………………6
2.2系统的达成……………………………………………………7
2.2.1模板库和标签库的达成………………………………….7
2.2.2系统开发环境…………………………………………….11
3结束语…………………………………………………………….11
引言
伴随WWW(WorldWideWeb)的普及,动态网页技术也急速进步。从原来的CGI(CommonGatewayIn-terface)到ASP(ActiveServerPage),都从某种程度上满足了网站开发职员对动态网站开发技术的需要。但无论是CGI还是ASP都存在肯定的局限性,如CGI对服务器资源的耗费,ASP只能同MicrosoftIIS一块用等,这类都限制了这类技术的用法范围,很大地妨碍了它们的推广。广大的页面开发职员都热切地盼望一种统一的页面开发技术,该技术应该具备的特征:①与操作平台无关,可以在任何Web或应用程序服务器上运行;②将应用程序逻辑和页面显示离别;③提供代码重用,简化开发基于Web的交互式应用程序的过程。
JSP(JavaServerPage)技术就是被设计用来满足如此的需要的。JSP是由SunMicroSystem公司于1999年6月推出的新的网站开发技术,它是基于JavaServ-let与整个Java体系的Web开发技术,是Servlet2.1API的扩展。借助这一技术,可以打造先进、安全和跨平台的动态网站。
Java是将来的主流开发技术,具备不少优势。JSP则是Java在Internet/IntranetWeb上的要紧应用技术,得到了广泛的支持和承认,它可以和各种Java技术完好地结合在一块,从而达成很复杂的应用。
作为一种基于文本的、以显示为中心的开发技术,JSP提供了JavaServlet的所有好处。为了做到逻辑功能和显示功能分开,JSP已经可以和JavaBeans、EnterpriseJavaBeans(EJB)和Servlet一块工作。JSP的开发职员可以通过用JavaBeans、EJB和Servlet来完成大多数与网站逻辑有关的工作,而仅仅把显示的工作交给JSP页面来完成。内容和显示逻辑分开有哪些好处在于,更新页面外观的职员不必了解Java代码,而更新Java类的职员也不必是制作网站的行家。这就能用带Java类的JSP页面来概念Web模板,以打造一个具备相似外观的页面组成的网站。Java类完成数据提供,在模板中就没Java代码,这意味着这类模板可以由一个HTML撰写职员来维护。
JSP作为目前主流的网站开发技术,具备如下特征。
1)将内容的生成和显示进行离别:用JSP技术,Web页面开发职员可以用HTML或者XML标识来设计和格式化最后的页面。用JSP标识或者小脚本来生成页面上的动态内容(内容是依据请求来变化的)。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有些脚本在服务器端运行。假如核心逻辑被封装在标识和JavaBeans中,那样别的人,如Web管理职员和网页设计者,可以编辑和用JSP页面,而不影响内容的生成。
2)强调可重用的组件:绝大部分JSP页面依靠于可重用的、跨平台的组件来完成应用程序所需要的更为复杂的处置。得益于Java的操作平台无关性,开发职员可以很便捷共享和交流实行普通操作的组件,或者使得这类组件为更多的用法者所用。基于组件的办法加快了总体的开发过程,很大地提升了项目整体开发的效率。
虽然JSP功能强大,但它需要网站开发职员对Java要相当熟知。而目前Java技术员还比较少,对普通的网站开发职员来讲,JSP的语法还是比较难于学会的。所以,就需要有一种网站开发工具,为普通的网站开发职员提供常见的JSP应用,让只了解一般页面开发技术(HTML)的开发职员也可以用JSP的强大功能。
1系统设计目的和用的主要技术
1.1设计目的
本系统的设计目的是为只了解HTML但完全不知道JSP的一般网站开发职员提供一个网站开发工具,使他们可以依据系统文档,通过标签用JSP的常用功能,最后生成一个只包括静态HTML和JSP标签的动态JSP网页。
1.2主要技术
本系统在设计时,主要考虑用模板和JSP标签的技术来达成。
1.2.1模板技术
模板技术被广泛地应用于各种开发和应用系统中。它预先生成一些常见的框架结构,用户可以参考我们的需要便捷地从模板库中选择模板,而不需要自己重新去搭建,节省了用户的开发时间,便捷了用户的用法。在本系统中,将页面根据功能种类进行分类,总结出常见的页面种类,生成模板库。
1.2.2标签库技术
在JSP中,动作是可以创造与访问程序语言对象和影响输出流的元素。JSP概念了六个标准的动作。除去这六个标准动作以外,用户可以概念我们的动作来完成特定的功能。这类动作被叫做顾客化动作,它们是可重用的程序模块。通过这类动作,技术员就能在JSP页面中把页面的显示功能也部分地封装起来,使整个页面愈加简洁和易于维护。在一个JSP页面中,这类顾客化动作是通过顾客化标签来调用的。而标签库(TagLibrary)就是顾客化标签的集合。
JSP标签库是一种通过JavaBeans生成基于XML的脚本的办法。它是JSP的最大特征之一。通过标签库,可以无限制地扩展JSP应用,完成任何复杂的应用需要。
JSP标签库具备以下特征。
1)易于用:JSP中的标签和普通的HTML标记外表上是完全一样的,用起来和普通的HTML标记一样便捷。
2)易于代码重用:标签库中的每个标签都能完成肯定的功能。一旦概念好了一个标签库,仅需把这个标签库包装成一个Jar文件,那样将来只须在别的系统中用这个标签库就好了,而不需要重新开发代码,很大地提升了系统开发效率,减少了开发本钱。
3)易于代码维护:所有些应用逻辑都封装在标签处置器和JavaBeans中,所有些标签都集中在一个标签库中。假如需要更新代码或者需要修改一个网页上的功能,仅需修改相应的标签即可。通过这种统一维护方法,不需要在每一个网页上去作修改,很大地降低了维护的工作量,节省了维护本钱。
4)易于系统扩充:假如需要向系统中添加新的功能,仅需概念一个新的标签来完成这一功能即可,不需要对系统的其它方面作任何改动。标签库可以继承JSP规范各方面的特质。如此就能无限制地扩展和增加JSP的功能,而无需等待下一版本JSP的出现。
2系统的组成和达成
2.1系统组成
本系统主要由四个部分组成,见图1。
1)数据库连接部分:本系统支持常见的几个数据库,包含Oracle、Sybase、MSSQLServer、MySQL和DB2,依据用户选择的数据库种类和用户提供的数据库名字、用户名、密码用JDBC同数据库相连。
2)系统基本表生成部分:和数据库连接将来,依据同数据库相连的用户名生成两个系统基本表TC-Tables和TC-Columns,TC-Tables表包括在该数据库中是该用户的所有些表的英文名字、中文名字和一些属性,如是不是可修改、是不是可查看等;TC-Columns表包括在该数据库中是该用户的所有些表的所有列的中英文名字和其它一些属性。如是不是可显示、是不是可查看等。这两个系统基本表在整个系统的开发过程中提供用户所用数据库的基本信息。
3)模板选择和网页生成部分:该部分是系统的核心部分。它包括了两个子模块。
①模板选择部分:系统为用户提供模板选择界面,让用户依据需要从模板库中选择所要用的模板。
②模板处置部分:依据用户选择的模板,系统调用指定的模板处置模块对这个模板进行处置。当处置程序遇见模板中的标签时,就为用户提供交互界面,让用户为指定的标签输入参数,并由系统验证用户输入的标签的有效性。最后由系统完成JSP页面的生成。
4)网页预览和修改部分:网页生成出来将来,系统为用户提供了一个网页预览窗口和代码查询修改窗口。通过这个预览窗口,用户可以预览一下生成出来的JSP页面的成效。假如用户对页面的静态方面的成效不太认可,用户可以通过代码查询修改窗口修改代码中的HTML代码。假如用户对页面的静态成效有进一步的需要,系统还为用户提供了一个调用DreamWeaver编辑器的接口,用户可以用它来对生成出来的JSP页面的静态成效进行进一步的修改和健全。
2.2系统的达成
2.2.1模板库和标签库的达成
标签库的规划和设计在整个系统设计中至关要紧,它关系到了代码重用的程度和系统运行的效率。它的规划应该遵循以下原则。
1)在标签中应该尽可能少的包括静态的HTML。对于一般用户来讲,标签是透明的。用户不可以够查询和修改标签。假如在标签中包括了过多的静态HT-ML语句,将影响用户对页面的静态成效的修改和健全,限制标签的用法。
2)尽可能提升代码的重用度。在对JSP应用进行分类是尽可能把公用的JSP应用提取出来,形成标签。而不需要在每一个标签中都重复达成该应用。如此在将来要对该应用进行修改和健全时,仅需对这一个标签进行修改即可,易于代码的维护。
3)便捷用户的用法。在设计标签库时,应该充分考虑到用户的用法状况,用户可以比较容易和便捷地理解和用标签。
①标签库的概念:概念一个标签库,需要第一概念一个标签库描述文件(TLD)。这是一个基于XML的脚本文件,在这个文件中概念了XML的版本、所用的编码、标签库的版本、所用的JSP的版本、标签库的名字和这个库中所包括的所有些标签的概念和参数描述,包含标签的名字,标签所对应的Java类,标签的描述信息等。
②标签的达成:一个标签就是一个特殊的Java
类,这个类需要继承TagSupport类,这个类是在javax.servlet.jsp.tagext包中概念的。在标签类中,包括了这个标签的参数初始化办法(Set/Get)、标签的主体处置办法(Handler)与供下一级标签调用的办法等。
③模板的达成:一个模板就是一个含有标签引用的JSP文件。为了在模板中引用所概念的标签,需要第一引入标签库。
<%@tagliburi=“tag.tld”prefix=“ctag”%>
其中uri指定标签库描述文件的路径;prefix指定引用标签时所用的前缀。
在模板中引用指定的标签时,用引入标签库时所指定的前缀,指定标签的名字;为标签的参数赋值。
2.2.2系统开发环境
本系统主体程序开发用的是Borland企业的JBuilder6.0,模板开发用是Microsoft企业的Front-Page2000,标签库开发用的是UltraEpt编辑器,JDK使用的是JDK1.4。系统测试环境是JRun3.0。
3结束语
Java是将来开发语言的主流,而Java在Web上的主要应用JSP也势必成为将来Web开发的主流技术。本系统使用了JSP的最大特征之一的标签库,使普通的Web开发职员也可以便捷地用JSP强大的动态页面功能,开发出技术一流的JSP动态Web页面。因为本系统使用Java语言进行开发,所以可以在任何支持图形化界面的操作系统下运行,达成了完全的与平台无关。本系统易于扩充和健全。在将来可以考虑为用户提供接口,用户可以自己扩充模板库和标签库,进一步增强系统的功能。
参考文献
[1]CayS.Horstmann,GaryCornell.Java2核心技术(CoreJava2)[M].北京:机械工业出版社.
[2]BruceEckel.Java编程思想(ThinkinginJava)[M].北京:机械工业出版社.
[3]JosephL.Weber.Java2编程解析(UsingJava2)[M].北京:电子工业出版社.
[4]Borland公司.BuilpngApplicationswithJBuilder.