基于JSP网页自动生成工具的设计与实现.docx
- 文档编号:4602913
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:10
- 大小:38.91KB
基于JSP网页自动生成工具的设计与实现.docx
《基于JSP网页自动生成工具的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于JSP网页自动生成工具的设计与实现.docx(10页珍藏版)》请在冰豆网上搜索。
基于JSP网页自动生成工具的设计与实现
(范例1)
××××职业技术学院
毕业论文(设计)
题目基于JSP网页自动生成工具的设计与实现
指导老师
专业年级___________________________
姓名___________________________
学号___________________________
年月日
摘要:
Web开发技术是Internet应用的一个重要方面,而JSP又是Web开发的最先进的技术,是当前Web开发人员的首选技术。
但是由于JSP对Web开发人员要求较高,所以许多一般的Web开发人员还不能够使用这一项先进的技术。
讨论基于模板和标签库的JSP网页自动生成工具的设计和实现,提出具体的设计思想和实现方法。
引言
随着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是未来的主流开发技术[1],具有很多优势。
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模板技术
模板技术被广泛地应用于各种开发和应用系统中[2]。
它预先生成一些常用的框架结构,使用户可以根据自己的需要方便地从模板库中选择模板,而不用自己重新去搭建,节省了用户的开发时间,方便了用户的使用。
在本系统中,将页面按照功能类型进行分类,归纳出常用的页面类型,生成模板库。
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模板库和标签库的实现
标签库的规划和设计在整个系统设计中至关重要,它关系到了代码重用的程度和系统运行的效率。
它的规划应该遵循以下原则[3]。
(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,标签库开发使用的是UltraEdit编辑器[4],JDK采用的是JDK1.4。
系统测试环境是JRun3.0。
3结束语
Java是未来开发语言的主流,而Java在Web上的主要应用JSP也必将成为未来Web开发的主流技术。
本系统采用了JSP的最大特点之一的标签库,使一般的Web开发人员也能够方便地使用JSP强大的动态页面功能,开发出技术先进的JSP动态Web页面。
由于本系统采用Java语言进行开发,所以可以在任何支持图形化界面的操作系统下运行,实现了完全的与平台无关。
本系统易于扩充和完善。
在以后可以考虑为用户提供接口,使用户可以自己扩充模板库和标签库,进一步增强系统的功能。
参考文献
(范例2)
浙江经贸职业技术学院
毕业论文(设计)
题目自然辨证法和计算机语言的发展
指导老师
专业年级___________________________
姓名___________________________
学号___________________________
年月日
摘要:
本文以自然辩证的观点探讨了计算机语言的发展历程,运用自然辩证法的基本理论、基本方法,系统分析了计算机语言的发展历史、现状和未来。
并对其的发展趋势和未来模式做了探索性研究和预测,同时以哲学的观点阐述其发展的因果关系,揭示其事物发展的共性问题;最后文章介绍了在计算机语言发展历程中做出杰出贡献的科学家,以其在计算机事业中的突出表现来折射出人类智慧的伟大,以其不平凡的一生来激励和指导我们在计算机语言的发展中向着正确的方向前进。
引言
1993年美国的克林顿政府提出了“信息高速公路”计划,从而在这十多年间在全球范围内引发了一场信息风暴,信息技术几乎触及了现代生活的方方面面,毫不夸张的说没有了信息技术,现代文明的生活将无从谈起;作为信息技术中最重要的部分,计算机技术无疑是其发展的核心问题,而我们知道计算机只是一台机器,它只能按照计算机语言编好的程序执行,那么正确认识计算机语言的过去和未来,就是关系到计算机发展的重中之重;以自然辩证法的观点认识和分析计算机语言的发展历程,将有助于更加全面地推动计算机技术的发展,有助于更加准确地掌握计算机语言发展趋势。
1科学认识大门的钥匙--当代自然辩证法
自然辩证法,是马克思主义对于自然界和科学技术发展的一般规律以及人类认识自然改造自然的一般方法的科学,是辩证唯物主义的自然观、科学技术观、科学技术方法论。
它主要研究自然界发展的总规律,人与自然相互作用的规律,科学技术发展的一般规律,科学技术研究的方法[1]。
马克思、恩格斯全面地、系统地概括了他们所处时代的科学技术成功,批判吸取了前人的合理成分,系统地论述了辩证唯物主义自然观、自然科学发展过程及其规律性,以及科学认识方法的辩证法,以恩格斯的光辉著作《自然辩证法》为标志,创立了自然辩证法继续发展的广阔道路。
自然辩证法是马克思主义哲学的一个重要组成部分。
在辩证唯物主义哲学体系中,自然辩证法与历史唯物论相并列。
它集中研究自然界和科学技术的辩证法,是唯物主义在自然界和科学技术领域中的应用,它的原理和方法主要适用于自然领域和科学技术领域。
学习和运用自然辩证法将有助于我们搞清科学和哲学的关系,从而更加清楚地认识科学的本质和发展规律,更加全面的观察思考问题,只有加深了认识,我们才能更好地发挥主观能动性,迎接新的科学技术的挑战。
下面我将以自然辩证法的观点来分析计算机语言的发展历程。
2计算机语言的发展历程和发展趋势
计算机语言的发展是一个不断演化的过程,其根本的推动力就是抽象机制更高的要求,以及对程序设计思想的更好的支持[2]。
具体的说,就是把机器能够理解的语言提升到也能够很好的模仿人类思考问题的形式。
计算机语言的演化从最开始的机器语言到汇编语言到各种结构化高级语言,最后到支持面向对象技术的面向对象语言。
2.1计算机语言的发展历史
二十世纪四十年代当计算机刚刚问世的时候,程序员必须手动控制计算机。
当时的计算机十分昂贵,唯一想到利用程序设计语言来解决问题的人是德国工程师楚泽(KonradZuse)。
几十年后,计算机的价格大幅度下跌,而计算机程序也越来越复杂。
也就是说,开发时间已经远比运行时间来得宝贵。
于是,新的集成、可视的开发环境越来越流行。
它们减少了所付出的时间、金钱(以及脑细胞)。
只要轻敲几个键,一整段代码就可以使用了。
这也得益于可以重用的程序代码库。
随着C,PASCAL,FORTRAN,等结构化高级语言的诞生,使程序员可以离开机器层次,在更抽象的层次上表达意图。
由此诞生的三种重要控制结构,以及一些基本数据类型都能够很好的开始让程序员以接近问题本质的方式去思考和描述问题[3]。
随着程序规模的不断扩大,在60年代末期出现了软件危机,在当时的程序设计模型中都无法克服错误随着代码的扩大而级数般的扩大,以至到了无法控制的地步,这个时候就出现了一种新的思考程序设计方式和程序设计模型-----面向对象程序设计,由此也诞生了一批支持此技术的程序设计语言,比如EIFFEL,C++,JAVA,这些语言都以新的观点去看待问题,即问题就是由各种不同属性的对象以及对象之间的消息传递构成。
面向对象语言由此必须支持新的程序设计技术,例如:
数据隐藏,数据抽象,用户定义类型,继承,多态等等。
2.2计算机语言的发展现状
目前通用的编程语言有两种形式:
汇编语言和高级语言。
汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。
用汇编语言所能完成的操作不是一般高级语言所能实现的,而且源程序经汇编生成的可执行文件不仅比较小,而且执行速度很快。
高级语言是目前绝大多数编程者的选择。
和汇编语言相比,它不但将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等,这样就大大简化了程序中的指令。
同时,由于省略了很多细节,编程者也就不需要有太多的专业知识。
高级语言主要是相对于汇编语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,如目前流行的VB、VC、FoxPro、Delphi等[4],这些语言的语法、命令格式都各不相同。
高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行,按转换方式可将它们分为两类:
解释类和编译类。
2.3计算机语言的发展趋势
面向对象程序设计以及数据抽象在现代程序设计思想中占有很重要的地位,未来语言的发展将不在是一种单纯的语言标准,将会以一种完全面向对象,更易表达现实世界,更易为人编写,其使用将不再只是专业的编程人员,人们完全可以用订制真实生活中一项工作流程的简单方式来完成编程。
下面是一张计算机语言发展图表,从中不难得出计算机语言发展的特性,见图1。
图1
(1)简单性
提供最基本的方法来完成指定的任务,只需理解一些基本的概念,就可以用它编写出适合于各种情况的应用程序。
(2)面向对象
提供简单的类机制以及动态的接口模型。
对象中封装状态变量以及相应的方法,实现了模块化和信息隐藏;提供了一类对象的原型,并且通过继承机制,子类可以使用父类所提供的方法,实现了代码的复用
(3)安全性
用于网络、分布环境下有安全机制保证。
(4)平台无关性
与平台无关的特性使程序可以方便地被移植到网络上的不同机器、不同平台。
3面向未来的汉语程序设计语言
从计算机诞生至今,计算机自硬件到软件都是以印欧语为母语的人发明的。
所以其本身就带有印欧语的语言特征,在硬件上CPU、I/O、存储器的基础结构都体现了印欧语思维状态的"焦点视角",精确定义,分工明确等特点。
计算机语言也遵照硬件的条件,使用分析式的结构方法,严格分类、专有专用,并在其发展脉络中如同他们的语言-常用字量和历史积累词库量极度膨胀。
实际上,计算机硬件的发展越来越强调整体功能,计算机语言的问题日益突出。
为解决这一矛盾,自六十年代以来相继有500多种计算机语言出现,历经五代,至今仍在变化不已。
汉语没有严格的语法框架,字词可以自由组合、突出功能的整体性语言。
在计算机语言问题成为发展瓶颈的今天,汉语言进入计算机程序设计语言行列,已经成为历史的必然。
3.1发展汉语程序设计语言的理由
(1)计算机语言问题解决,只能从人类语言中寻找解决方案;
(2)计算机语言的现存问题是形式状态与功能需求的矛盾;
(3)计算机硬件的发展已为整体性语言-汉语进入计算机程序设计语言提供了条件。
3.2汉语程序设计语言的技术特点
(1)汉文字的常用字高度集中,生命力极强,能灵活组合,简明准确地表达日新月异的词汇,这些优点是拼音文字无法企及的。
(2)汉语言的语法简易灵活,语词单位大小和性质往往无一定规,可随上下语境和逻辑需要自由运用。
汉语言的思维整体性强,功能特征突出。
(3)汉语程序设计语言的发明者采用核心词库与无限寄存器相结合的方法,实现了汉语言的词素自由组合;将编译器与解释器合一,使汉语程序设计语言既能指令又能编程;以独特的虚拟机结构设计,将数据流与意识流分开,达到汉语程序设计语言与汉语描述完全一致,通用自如。
具有汉语言特性的汉语程序设计语言的出现,打破了汉语言不具备与计算机结合的条件而不能完成机器编码的神话。
还为计算机科学与现代语言学研究提出了一条崭新的路径,它从计算机语言的角度,从严格的机械活动及周密的算法上,向世人证实汉语的特殊结构状态,及其特殊的功能。
4计算机语言之父——尼盖德
尼盖德帮助因特网奠下了基础,为计算机业做出了巨大贡献。
尼盖德是奥斯陆大学的教授,因为发展了Simula编程语言,为MS-DOS和因特网打下了基础而享誉国际。
克里斯汀·尼盖德于1926年在奥斯陆出生,1956年毕业于奥斯陆大学并取得数学硕士学位,此后致力于计算机计算与编程研究。
1961年~1967年,尼盖德在挪威计算机中心工作,参与开发了面向对象的编程语言。
因为表现出色,2001年,尼盖德和同事奥尔·约安·达尔获得了2001年A.M.图灵机奖及其它多个奖项。
当时为尼盖德颁奖的计算机协会认为他们的工作为Java,C++等编程语言在个人电脑和家庭娱乐装置的广泛应用扫清了道路,“他们的工作使软件系统的设计和编程发生了基本改变,可循环使用的、可靠的、可升级的软件也因此得以面世。
”
尼盖德因其卓越的贡献,而被誉为“计算机语言之父”,其对计算机语言发展趋势的掌握和认识,以及投身于计算机语言事业发展的精神都将激励我们向着计算机语言无比灿烂的明天前进。
5结束语
用科学的逻辑思维方法认识事物才会清楚的了解其过去、现在和未来,计算机语言的发展同样遵循着科学技术发展的一般规律,以自然辩证法的观点来分析计算机语言,有助于我们更加深入地认识计算机语言发展的历史、现状和趋势,有了自然辩证法这把开启科学认识大门的钥匙,我们将回首过去、把握现在、放眼未来,正确地选择计算机语言发展的方向,更好的学习、利用和发展计算机语言。
6致谢
首先感谢张老师,张老师幽默的讲解使我受益匪浅,使我对以后的工作和生活有了更深刻的认识。
另外要感谢本文所参考的文献的作者和相关网站。
最后还要感谢在我写论文过程中提供无私帮助的人们,以及给我支持的家人和朋友。
参考文献
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 JSP 网页 自动 生成 工具 设计 实现