基于Java-jsp的现代数字化城市公交查询系统论文(四)

发布于:2024-04-30 ⋅ 阅读:(27) ⋅ 点赞:(0)

⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️

➡️点击免费下载全套资料:源码、数据库、部署教程、论文、答辩ppt一条龙服务

➡️有部署问题可私信联系

⬆️⬆️⬆️​​​​​​​⬆️​​​​​​​⬆️​​​​​​​⬆️​​​​​​​⬆️​​​​​​​⬆️​​​​​​​⬆️​​​​​​​⬆️​​​​​​​⬆️​​​​​​​⬆️​​​​​​​⬆️​​​​​​​⬆️​​​​​​​⬆️​​​​​​​⬆️​​​​​​​⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️

6 系统测试

6.1 程序测试

网站测试是软件设计的最后一道工序,也是非常重要的一步。用于检查软件的质量、性能、可靠性等是否符合用户需求。一套严谨的、规范的、完善的测试过程将大大提高软件的质量、可信度、可靠性,降低软件的出错率,降低用户风险系数。通常网站测试包括:功能测试,安全测试,可用性测试,性能测试、兼容性测试等方面。
在系统设计的过程中,这是必然的,存在一些错误。对于错误的语言和语法,程序在运行时,会自动提示你错的地方,并请求立即修改,所以,这样类型的错误是比较容易发现和纠正的。但另一类错误是在程序执行时由于不正确的操作,或是导致的错误结果的对某些数据的计算公式的逻辑错误。这类错误隐蔽性很强,时而出现,因此,这是非常耗时费力的,对这一类动态发生的错误的排查。
软件测试,描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
为了使本软件运行更加稳定,我对它进行了全面的测试,其中测试分为二部分,一种是界面测试;另一种功能测试。
首先我们来说界面测试,界面测试是为了使程序在不同的的操作平台上能够运行界面,并且能够保持原来的风格。经测试程序运行正常,运行界面上的字体图片等设置都能够保持得非常好。不出现字体变形等情况。
其次进行功能测试。该系统测试采用的是单元测试,集成测试,完善性测试等多种方式进行测试。
经过测试,所有功能都能得以实现,没有任何变形。至此,在功能的测试上也已经比较圆满的完成了。

6.2 测试的重要性及目的

(1)测试的重要性
系统测试是开发一个管理信息周期中非常重要而且漫长的的阶段。其重要性体现在他是保证系统质量与可靠性的重要关口,是对整个系统开发过程的最终审查。
系统测试的主要任务是尽可能的检查出程序中的错误,提高系统的可靠性,主要的目的是位列检验系统“做得如何”。其中这一阶段又可以分为三个步骤:模块测试;组装测试;确认测试;通过测试整个管理系统来确定能不能够满足用户的需求。通过测试发现问题以后,我们要经过不断的调试找出错误具体原因和位置,然后对其进行修改。
系统开发完成后就需要进行系统测试,测试在一个软件的开发过程中是非常重要的,其意义在于:
1.发现软件错误;
2.有效定义和实现软件成分由低到高层的组装过程;
3.验证软件是否满足任务书和系统定义文档所规定的技术要求
4.为软件质量模型的建立提供依据。
(2)测试的目的
Grenford J.Myers曾对软件测试的目的提出过以下观点:
1.测试是为了更好的找出程序中存在的问题、错误。
2.好的测试方案是很有可能是到现在为止仍然未被发现的错误的测试方案。
3.成功的测试则是找出了至今仍然没有被发现的错误的测试。
4.测试并不单纯是为了找出错误。而是通过分析错误,来找出产生错误的原因,来避免发生错误,帮助程序员找出软件开发过程中的缺陷,以便及时进项改正。
5、测试是为了检验修改或优化过程是否引发新的问题、软件所能达到处理能力和是否达到预期的处理能力等。

6.3 测试的步骤

就像开发过程,测试过程中要完成的一步一步的逻辑上的每一步都是在继续之前的一个步骤。由许多个子系统是大型软件系统,并且多个包括各子系统模块的。因此,一个软件系统的测试基本上由以下步骤组成:
(1)测试模块,编码和详细设计错误往往在本测试程序中找到。
(2)在此测试步骤中遇到的测试系统的软件错误的设计,规范的要求的错误也可以找到。
(3)系统需求规格说明书的错误也是在这个测试程序进行验收测试发现。
在我们设计软件的过程中,测试系统常用的测试方法主要有两种:功能测试和结构测试。
功能测试也被叫做黑盒测试和数据驱动测试,是在已经知道系统应该具有的具体功能的情况下,通过黑盒测试来测试系统功能是不是能够正常运行。在测试时,将系统当做不能打开的盒子,在不管系统内部结构与特性的状况下进行测试,它只检查系统功能是不是根据系统说明书的规定正常运行的,同时检测系统是否能正确接收的输入信息和输出信息的正确对应,并保持系统的完整性的外部信息需求。
白盒测试与黑盒测试相反,它了解系统内部工作的各项具体程序,能够通过测试来检查系统内部的运行是不是按照系统说明书的规定进行正常运作的,因此,白盒测试又被叫做结构测试和逻辑驱动测试。根据测试程序的结构在每个道路试验,当系统运行时不是能按预定要求正确运行,无论其功能如,白盒测试试验,道路试验是一个逻辑驱动器,这种测试主要用来软件测验。
首先我们来说界面测试,界面测试是为了使程序在不同的的操作平台上能够运行界面,并且能够保持原来的风格。我把完整程序拷贝到不同版本的电脑平台环境下,程序运行正常,运行界面上的字体、图片等设置都能够保持得非常好。不出现字体变形等情况。
其次进行功能测试和性能测试,功能测试主要包括五项内容:适用性、准确性、可操作性、依从性、安全性。
系统性能测试主要是通过模拟系统运行环境,测试系统性能是否符合客户的需求。性能测试的重要技术指标是:系统的运行速度、系统响应的时间和支持并发节点数。
最后进行系统的可用性测试,可用性测试用于检测系统的可理解性、可操作性和学习性等方面内容。

6.4 测试的主要内容

测试过程分为哪会保证测试,即质量几个阶段:代码审查,单元测试,集成测试,确认测试和系统测试。

(1)单元测试
集中在一个小软件单元设计审查 - 模块是一个测试单元,意识和定义模块的功能实际发现,这种情况不符合测试说明和编码错误。
(2)集成测试
集成测试模块安装在根据进行集成测试的设计要求,其主要目的是为了发现问题相关的接口。例如有可能是一个问题,由于疏忽,与其他模块的模块,并造成有害影响;不能产生所需的功能键,组合功能;看起来可以接受的个别错误是不可接受的,当积累;可能有错误,如整个数据结构。
(3)确认测试
该试验的目的是验证,该系统能够工作如期,根据需要,以显示未来的用户。集成测试后,已经把一个完整的软件系统,设计按照完成安装的所有模块,从根本上推动问题接口错误的,那么软件的有效性将能够得到进一步的确认,试验工作证实,它是功能和软件的性能,如用户所期望的。
(4)系统测试
在软件开发完成后,并且系统将最终在包的其它部分,在测试系统上执行。包括恢复测试,安全性测试,强度测试和性能测试。
系统测试主要从以下几个方面:
①功能测试:测试满足发展的需要,旨在提供这里所描述的功能,用户需求是否得到满足。功能测试是测试最常用的系统和强制性测试和正式的规格通常是标准的软件测试。
②强度测试和性能测试:该测试系统的最大实际程度的能力,即在某些情况下,负载的软件功能进行。
③安全测试:验证内置到系统中的保护机制,它可以保护系统,所以从很不安。该系统主要是针对权限对系统进行测试,并为void仅仅是数据,错误的数据和测试数据的非法干扰的能力。

6.4.1 功能测试

功能测试主要包括五项内容:适用性、准确性、可操作性、依从性、安全性。
本系统功能测试如表6-1所示:
表6-1 系统功能测试
测试内容	测试结果
适用性	好
准确性	好
可操作性	好
依从性	好
安全性	好

本系统功能测试测试用例6-2所示:
表6-2 系统功能测试用例
测试标识 测试项目 测试用例输入及说明 预期结果 测试记录
用户管理模块功能点 新增用户 系统管理员单击”新增”按钮 成功进入到新增用户界面 测试通过
用户管理模块功能点 登录全部置空 令所有文本框为空 提示(请输入账号密码) 测试通过
用户管理模块功能点 提交新增用户信息 在新增用户界面输入有效数据并点击提交按钮 显示注册成功 测试通过
用户管理模块功能点 删除用户 在界面上点击要删除的用户,并点击删除按钮 删除成功,并退回到用户管理界面 测试通过
用户管理模块功能点 编辑用户 系统管理员单击”编辑”按钮 成功进入到编辑用户界面 测试通过
公告管理模块功能点 新增公告 系统管理员单击”添加”按钮 成功进入到新增公告界面 测试通过
公告管理模块功能点 全部置空 令所有文本框为空 提示(标题不能为空) 测试通过
公告管理模块功能点 提交新增公告信息 在添加公告界面,点击保存 添加成功后跳转到公告界面 测试通过
公告管理模块功能点 删除公告 系统管理员点击删除公告并点击删除键 显示删除成功并跳转到公告界面 测试通过
线路维护模块功能点 新增线路 系统管理员单击”添加”按钮 成功进入到添加线路界面 测试通过
线路维护模块功能点 全部置空 令所有文本框为空 提示(线路名称不能为空) 测试通过
线路维护模块功能点 提交新增线路信息 在新增线路输入有效数据并点保存 添加成功后跳转到线路维护界面 测试通过
线路维护模块功能点 编辑线路 系统管理员单击”编辑”按钮 成功进入到编辑线路界面 测试通过
题目管理模块功能点 删除线路 点击删除的线路再点击删除按钮 显示删除成功 测试通过
会员提问模块功能点 查看问题 点击查看按钮 成功查看问题 测试通过
会员提问模块功能点 回复问题 点击查看问题并参与回复 成功增加回复内容 测试通过

6.4.2 可用性测试

可用性测试用于检测网站的可理解性、可操作性和学习性等方面内容。具体测试方面如表6-3所示。
表6-3 网站可用性测试
测试项	测试人员的评价
窗口移动、改变大小、关闭等操作是否正常	是
操作模块是否友好 	是
模块和提示内容等文字描述是否正确	是
模块布局是否合理、协调	是
模块的状态是否正确(对选中项能否发生对应切换)	是
键盘、鼠标操作是否支持	是
所需的数据项是否正确显示	是
操作流程是否合理	是
是否提供帮助信息	是

6.4.3 性能测试

系统的性能测试主要是通过模拟网站运行环境,测试网站性能是否符合客户的需求。性能测试的重要技术指标是:网站的运行速度、网络响应的时间和支持并发节点数。
(1)测试网站的运行速度:通过在不同的计算机上进行试运行本网站,没有发现任何停顿、迟滞现象。
(2)测试网络响应时间:网络响应时间主要包括:网络最小响应时间、平均响应时间和最大响应时间这三个参数。经过测试,在网络运营良好状态下,局域网内响应时间三参数为:1/2/5s,外网响应时间三参数为3/7/12s,符合客户的需求,属于在用户的心理可承受范围内。
(3)支持并发节点数:经过模拟的环境测试,本网站在并发节点达到45个时,网络运营的速度会发生比较大的波动,延迟时间10秒左右,符合客户需求。
6.5 测试结论
由于自己独立写的项目不多,考虑问题肯定会不周全,存在很多的难以预料的问题,写的功能有时候也难以满足用户需求,代码和接口也会出现很多问题,不规范的书写习惯,都会导致项目不无法达到用户的目标,无法让用户放心的使用,用户体验效果差。正是因为这样所有的项目在交付用户使用之前,必须经过专业技术人员的测试,一个好的项目需要不断的打磨,需要不断的反馈意见,不断地再加工,才能设计出符合用户要求,用户体验良好的项目。测试的技术人员,需要根据项目设计的人员制作的项目文档,对用户要求的各个功能进行测试并根据测试结果编写好测试的文档,在经过这一系列的工作后,可以有效的规避因设计人员在设计过程中的小纰漏,提升项目的质量,最终交付给用户一个完美的作品。
本系统设计要求基本都可以达到,此系统具有完整的软件功能,良好的用户界面,能够正确的处理错误信息,而且能够准确的提出错误的种类。总体说来,软件通过测试。
经过对上述的测试结果分析,本系统满足用户的通过计算机平台用户使用的要求和需求。所有基本功能齐全,操作简单,产品运行性能良好,是一个值得推广的公交查询系统。

总结与展望

本此毕业的内容所实现的是城市公交查询系统的设计与实现,主要介绍了java与jsp技术。本设计按照以下五个步骤对此项目进行设计:1.需求分析,2.概要设计,3.后台数据库的实现,4.项目的详细设计,5.系统的测试,当下此系统的基本功能已得到实现。从3月份开始准备资料到5月份基本完成了项目的设计,要是想很好的完成这个项目,使它运用到生活中是远远不够的,还需要不断地用户反馈,不断修改,不断地充实,我也将会在今后的学习中,不断的完善它,改进它,使其更好。
本系统具有以下优点:
1、该系统可以运行在多个操作系统平台(Windows NT和Windows 2000 / Windows XP和Windows Vista)数据库管理系统采用MySQL和Java开发环境,可移植性好。
2、该系统界面简单,操作方便,容易进入的信息,人们使用的术语。
但也存在以下缺点:
1、界面跳转复杂,接口不能被刷新,可以改进。
2、功能比较简单,没有进一步提高一些选修的程序等,不能更好的为用户提供更强大的功能服务。
3、数据库设计有冗余,需要进一步优化。
毕业设计的选题是在老师的指导下最终确立的,选题确定好后就开始学习这方面的资料进行学习,开始在这方面可以说是不熟悉的,虽然最初学习JSP技术,但学校学习的东西如果没有运用到实际的设计中终究是不行的,以前都是老师带领我们做,第一次做难免会怯场,但是最终通过自己的努力,老师的指导,同学的帮助,完成了本系统的设计。
本次毕业设计已基本画上句号,在整个设计的道路上是劳动和汗水凝结的成果。为了解决一丢点的困难,我翻阅书籍,询问老师,与同学探讨,从不懂到熟知也是一个新的经验和新的收获的过程。学习是一个长期的过程,系统设计过程中,遇到了很多问题,后来通过自己的努力来解决大部分问题,但同时也学到了很多知识。通过这次毕业设计,我从最初的Java语言,和后来的Web开发学会了很多,然后在训练过程中,通过所学到的知识应用到实际发展实践中,最后到软件功能集成的整个设计过程的思想。
该系统在实施过程中也常遇到一些困难,毕竟,JSP技术的掌握不熟练,有许多控件不能真正明白他们的意思,有一个对象调用的一些方法,并不十分了解,美化界面处理不好。所以开始的设计真的遇到了许多困难,但通过和老师同学的帮助以及在线学习,解决设计中的许多问题,但也使我有了一定的JSP技术的掌握,同时巩固了以前学过的知识。实现了质的上升,在一个纯粹的理论学习到实际上手再向完成毕业设计前进,理论联系实际情况,是学术认知的另一次跃进。
总之,本毕业让我学的东西,不仅仅是专业知识增加了很多,也锻炼了我的意志,让我更坚强。走软件开发这条路线,就要不断学习新知识,不断提高自己的实力,也要不断的树立新的目标,也需要是精神上不怕吃苦。

参考文献

[11] 汪光焘.畅通城市交通,实现城市的可持续发展.可持续发展,2002,(2):18-19
[12] 马武定.城市化与城市可持续发展的基本问题.城市规划汇刊,2002,(2):7-9
[13] 冯博.SQL实用教程.北京:人民邮电出版社,2005
[14] 严蔚敏,吴伟明.数据结构(c语言版).北京清华大学出版社,1997
[15] 张海藩.软件工程.北京:人民邮电出版社,2002
[16] 黄斯伟.HTML完全使用详解.北京:人民邮电出版社,2005
[17] Anthony J.Dos Reis. Compiler Construction Using Java,JavaCC,and Yacc. Wiley-IEEE Computer Society Pr; 1 , 2011
[18] Joan Casteel. Oracle 12c:SQL. Course Technology; 3, 2015
[19] Richard North Patterson. Eclipse. Pan Publishing, 2009
[20] 李兴华,王月清.名师讲坛:Java Web开发实战经典基础篇(JSP、Servlet、Struts、Ajax) [平装][M].清华大学出版社,2010.
[21] 李刚.轻量级Java EE企业应用实战(第3版):Struts 2+Spring 3+Hibernate整合开发[M].电子工业出版社,2012.
[22] 孙卫琴:《精通Hibernate:Java对象持久化技术详解》[M].电子工业出版社出版,2010.
[23] Budi Kurniawan (作者),崔毅 (译者),俞哲皆 (译者),俞黎敏 (译者).Servlet和JSP学习指南[M].机械工业出版社,2013.
[24] 陆舟.Struts2技术内幕:深入解析Struts2架构设计与实现原理 [M].机械工业出版社,2012.
[25] 陈亚辉,缪勇.Struts2+Spring+Hibernate框架技术与项目实战[M].清华大学出版社,2012.
[26] 施瓦茨 (Baron Schwartz),扎伊采夫 (Peter Zaitsev),特卡琴科 (Vadim Tkachenko),宁海元.高性能MySQL(第3版)[M].电子工业出版社,2013.
[27] 薛华成.信息管理与信息系统专业教材系列:管理信息系统(第6版)[M].清华大学出版社,2012.
[28] 王颖.基于JSP的学生学籍信息管理系统的设计与实现[J].电子科技大学,2012.
[29] 朱丽萍.基于JSP的高校图书管理系统开发和实现[J].电子科技大学,2011.
[30] 吕勇.基于JSP的实验室项目管理系统的设计与实现[J].武汉理工大学,2012.
[31] 庞丽娜.Java 应用开发技术详解[M],科学出版社,2007:126-235
[32] Cay S.Horstmann,Gary Cornell著,叶乃文,邝劲筠,杜永萍.JAVA核心技术卷I:基础知识,程序设计教程[M].人民邮电出版社,2008.5:87-234
[33] 张超.基于JSP Struts2技术的房地产信息管理系统的设计与实现[D].吉林大学,2012.
[34] (美)Powell.R. (美)Weeks.R.著. 袁鹏飞译. C#和.NET架构. 北京:人民邮电出版社,2002.4 17
[35] 萨师煊,王珊.数据库系统概论(第三版).北京:高等教育出版社,2000.2

致 谢

一眨眼四年的大学时光就要快过了,本科毕设的编写将要画上句号,四年的时光,让我感受到了不仅来自老师对我学业上和生活上的帮助,还有同学和家人对我对我的关心,我很感激在大学的宝贵时光中遇到他们,使我的人生更加的丰富多彩,谢谢他们。
首先我要向我的论文指老师表达我最诚信的感谢,从论文的开题到论文的初稿的确定,我都遇到了很多的问题,包括一些命题的不准确,专业知识描述不精确,都让我的论文举步维艰,点评,对学术知识的剖析,很快使我找到了论文的突破口。他们这样对待知识的严谨的态度使我受益匪浅,他们将是我日后学习和工作上的榜样。
其次我要感谢的是我大学的各位任课老师们,就是因为一节节生动的课堂,勾起我对知识的渴望,这股力量推动的这我努力学习专业知识,并将其运用到的论文构思中,谢谢老师们。
最后我要感谢我的同学们,他们对知识的热情同样激励着我,和他们在一起学习和生活我觉得非常的充实,每天都很有激情,每天都有新的进步,谢谢他们。
同时我还要向参与审阅论文和参加答辩的老师说一声辛苦了,没有你们的严谨就没有我们明天辉煌,谢谢各位老师和同学。

外文原文

JSP Advantages and Disadvantages
JSP pages can perform any task can be accomplished with a servlet. However, the underlying equivalence does not mean servlet and JSP pages for all situations equally appropriate. The problem is not technical ability, but they are different in the convenience, productivity and maintainability. After all, on a specific platform using the Java programming language can accomplish things, the same can be done in assembly language, but the choice of which language is still very important. And compared alone servlet, JSP provides the following benefits: JSP in 6> HTML easier to write and maintain.
JSP can use regular HTML: no extra backslash, no extra double quotation marks, no lurking Java syntax. You can use standard web development tools. Even for those who know nothing about HTML JSP tools, we can also use because they ignore the JSP tags (JSP tags). You can divide your development team. Java programmers can work on the dynamic code. Heads of some requests, you may be used in combination in the MVC framework of these two technologies. We always want to use the proper tools to complete the corresponding work, just servlet and not fill your toolbox. Java community did not invent the idea ---- to designing pages as static HTML and dynamic code marked with special tags mixed composition … ColdFusion years ago, it has already done so. ASP or even a product from the previous manager’s company appeared before JSP promote this approach. In fact, JSP not only adopted the general concept that even the use of a lot of the same special tags and ASP. So the question becomes: Why use JSP, instead of using other technologies it our first reaction is that we are not arguing that all the people should do?. Other of these techniques, there are some very good, and in some cases is indeed reasonable choice. However, in other situations, JSP significantly better.
Comparison with other technologies Jsp
Compared with .NET and Active Server Pages ASP .NET is a technology that Microsoft designed. ASP.NET is in direct competition with servlets and JSP technology. JSP advantage is reflected in two aspects. First, JSP can be ported to multiple operating systems and Web servers, you do not have to be limited despite the deployment of core .NET platform can run on several non-Windows platform on Windows and IIS, but not this part of the ASP. You can not expect to be able to deploy significant ASP.NET application to multiple servers and operating systems. For some applications, this difference has no effect. However, some applications, this difference is very important. Secondly, the choice of certain applications, the underlying language is essential. For example, although .NET’s C # language design excellent, and similar to Java, but few are familiar with the core C # syntax and many tool library programmer. In addition, many developers still use the original version of the ASP. With respect to this release, JSP has a clear advantage in terms of dynamic code. The use of JSP, dynamic part is written in Java, rather than through other ASP VBScript proprietary language, so JSP stronger, better suited to the requirements of complex applications reusable components. When the JSP comparison with the previous version of ColdFusion, you may get the same conclusion. Applications JSP, you can use Java to write “real code” Do not rely on a specific server product. However, the current version of ColdFusion meet J2EE server environment that allows developers to easily mix ColdFusion and Servlet / JSP code.
Compared with PHP (“PHP: Hypertext Preprocessor” recursive acronym) is a free, open-source, HTML embedded scripting language similar to ASP and JSP have some degree. One advantage of JSP is that the dynamic part is written in Java, but Java is already networked aspect database access, distributed objects, etc. have extensive API, and PHP need to learn a new application of a relatively wide range of languages. The second advantage is that JSP and PHP compared, JSP has a very wide range of support tools and server providers.
Compared JavaScript and Java programming language and JavaScript is totally different, the former is generally used to dynamically generate HTML on the client side, to build part of the content of the page in the browser load a document. This is a useful feature, generally overlap with JSP functionality (only running on the server) does not occur. Like conventional HTML pages, JSP pages can still include a SCRIPT tag for JavaScript. In fact, JSP can be used to dynamically generate even sent to the client’s JavaScript. Thus, JavaScript is not a competing technology, which is a complementary technology. JavaScript can also be used on the server side, because most people pay attention to is SUN ONE (formerly the iPlanet), IIS and BroadVision server. However, Java is more powerful, flexible, reliable, and portable.
JSP is by no means perfect and compared with WebMacro Velocity. Many people have pointed out the JSP can be improved features. This is a good thing, one of the advantages is that the JSP specification by many different companies community control. Therefore, in subsequent versions, this technology can be coordinated improvements. However, some organizations have developed a Java-based alternatives, trying to make up for these deficiencies. According to our judgment, this is wrong. Use JSP and Servlet technologies expand third-party tools, such as Apache Structs, it is a good idea, as long as the tool to bring the benefits of the tool can be compensated for the extra complexity. However, instead of attempting to use a non-standard tools JSP is not ideal. When choosing a technology, we need to weigh many factors areas: standardization, portability, integration, industry support and technical characteristics. For alternative technologies JSP debate focused almost exclusively on the technical features, and portability, standardization and integration is also very important. Servlet After compilation, loaded into the content server, the initialization and execution. But every step occurred when? To answer this question, we should keep in mind the following two points: the first time only when the JSP page is accessed after modification, it will be converted into a servlet and compiled; loaded into memory, initialization, and follow the general rules for the implementation of the servlet. The most commonly misunderstood term have highlighted marked. When referring to the table, pay attention generated by the JSP page servlet uses _jspService methods (GET and POST requests are calling the function), not doGet or doPost methods. Similarly, for initialization, they use jspInit method, rather than the init method. The JSP pages into servlet compiled Servlet? Servlet loaded into server memory will call jspInit call _jspService.
Application Framework
What is the Application Framework: Frame (framework) is a reusable, semi-applications that can be used to produce specialized custom programs. Like people, software applications to be more similarities than differences. They run on similar machines, expect from the same device input information, and outputs to the same display device, and the data stored in the hard disk to the same device. Development of traditional desktop applications developers more accustomed to the identity of those can cover application development toolkits and development environments. Framework application framework based on these public can provide developers can provide reusable services infrastructure for their products.
It offers a range of skeleton frame assembly having the following characteristics to developers:
1.Already we know they work very well in other programs;
2. They can always use the next project;
3. They can be used by other teams organizations;
The frame is a typical build versus buy proposition. If you build it, when you finish you will understand it, but before you get into the turn takes how long? If you want to buy, you have to overcome the learning curve, too, before you can use it to work they have to spend more time? There is no right answer here, but many observers would agree that such a framework like Struts than developed from scratch to provide a more significant return on investment,especially for large projects.
Other types of framework: conceptual framework not only for the application can also be used for components. In other inside information, we also introduced a number of Struts framework can be used together. These include Lucene search engine, Scaffold toolkit, Struts Validator and Tiles tag library. And application framework, these tools also provide some semi-finished version, it can be used in custom components among users. Some frames are limited to specific development environment. Struts and components covered in this article is not the case. You can in many environments to develop Struts: Visual Age for Java, JBuilder, Eclipse, Emacs, and even use Textpad. For your tools, if you can use to develop Java, you can use it to develop Struts.
The use of technology: application development using Struts uses a lot of other basic techniques. These techniques are not specific to Struts, but all Java web applications can be used. Developers use frameworks like Struts is to hide in such as HTTP, CGI, JSP and tedious details like the technology behind it. Struts as a developer, you do not need to know all of the relevant knowledge, but these basic technology works may help you design a thorny issue for creative solutions.
Servlet Introduction
Java servlet: Sun’s Java Servlet platform directly addresses the two main drawbacks of CGI programs: First, servlet provides better performance and resource utilization than conventional CGI programs. Second, once written, JAVA characteristics mean servlet running everywhere in between there JVM operating system is lightweight movable. Servlet looks like a tiny web server. It accepts the request and generates a response. But different conventional web server, servlet API is specifically designed to help Java developers to create dynamic applications. Servlet is compiled into byte code to Java class, just like any other Java object. HTTP Servlet access a particular service API, but it is still a running program into Java objects, and can use all the Java assets. To make conventional web servers can access the servlet, servlet to be placed among a container. Servlet container is connected to the Web server. Each servlet URL can declare what style it can handle. When compliance with the registered style request arrives, web server passes the request to the container, the container is called in response to the servlet.
JavaServer Pages: Although servlets for CGI program is a big step forward, but it is not a panacea. In order to generate response, the developer had to use a lot of println statements to generate HTML. For example, this code: out.println “One line of HTML.”; Out.println “Another line of HTML.”; Servlet generated in the HTTP response is very common. There are also some libraries to help you generate HTML. As applications become more complex, Java developers will no longer play the role of HTML page design. At the same time, most project managers prefer to team divided into different groups. They like HTML presentation layer design staff to handle the work, and Java engineers to focus on business logic. Servlet approach alone encourage mixed marks and business logic, it is difficult to distinguish between professional work team staff. To solve this problem, Sun made a script and template technology incorporated into a component Server Pages technology (JavaServer Pages). To create JSP pages, developers create HTML pages according to a similar manner to create a page, use the same HTML syntax. The dynamic content into pages, developers can script element into the page being. Some elements of the script tag, a package can be logically JSP identified. You can easily identify the scripting elements in a JSP page, they are encapsulated in a pair of% and% tags. To identify the JSP page, you need to save the file extension .jsp. When a client requests a JSP page, the container will translate the page into Java servlet source file and compile it into a Java class file - as you write servlet files. At runtime, the container can also detect JSP file and the corresponding time last updated class. If, JSP file has been modified since the last compilation, the container will be re-translate and compile JSP files. The project manager can now assign the presentation layer to HTML developers, business logic work assigned to JAVA developers. It is important to remember, JSP page is in fact a servlet. Servlet you can do, can do in the JSP. Now that you have the initial impression about Strtus Web applications it looks like the future we will be more in-depth discussion of the theory and application Strtuts framework.

中文翻译

JSP 的优点与劣点
JSP页面能够执行的任何任务都可以用servlet 来完成。然而,这种底层的等同性并不意味着servlet 和JSP 页面对于所有的情况都等同适用。问题不在于技术的能力,而是二者在便 利性、生产率和可维护性上的不同。毕竟,在特定平台上能够用 Java 编程语言完成的事情,同样可以用汇编语言来完成,但是选择哪种语言依旧十分重要。和单独使用servlet 相比,JSP 提供下述好处:JSP中HTML的编写与维护更为简单。
JSP 中可以使用常规的 HTML:没有额外的反斜杠,没有额外的双引号,也没有暗含的Java 语法。能够使用标准的网站开发工具。即使对那些对JSP 一无所知的HTML工具,我们也可以使用,因为它们会忽略JSP 标签(JSP tags)。可以对开发团队进行划分。Java 程序员可以致力于动态代码。目中的某些请求,您可能会在MVC 构架下组 合使用这两项技术。我们总是希望用适当的工具完成相对应的工作,仅仅是 servlet 并不能填满您的工具箱。Java 社团没有发明这一思想----将页面设计成由静态 HTML 和用特殊标签标记的动态代 码混合组成.。ColdFusion 多年前就已经这样做了。甚至ASP 来自于前述经理所 在公司的一项产品 都在JSP 出现之前推广了这种方式。实际上,JSP 不只采用了 这种通用概念,它甚至使用许多和ASP 相同的特殊标签。 因此,问题变成:为什么使用 JSP,而不使用其他技术呢。我们的第一反应是 我们不是在争论所有的人应该做什么。其他这些技术中,有一些也很不错,在某些情况下也的确是合情合理的选择.然而,在其他情形中,JSP明显要更好一些。
Jsp与其他技术的比较
与.NET 和Active Server Pages ASP 相比 .NET 是Microsoft 精心设计的一项技术。ASP.NET 是与servlets 和JSP 直 接竞争的技术。JSP 的优势体现在两个方面。首先,JSP 可以移植到多种操作系统 和Web 服务器,您不必仅仅局限于部署在Windows 和IIS 上尽管核心.NET 平台可 以在好几种非Windows 平台上运行,但ASP 这一部分不可以。您不能期望可以将 重要的ASP.NET 应用部署到多种服务器和操作系统。对于某些应用,这种差异没 有什么影响。但有些应用,这种差异却非常重要。其次,对于某些应用,底层语 言的选择至关重要。例如,尽管.NET 的C#语言设计优良,且和Java 类似,但熟 悉核心C#语法和众多工具库的程序员很少。此外,许多开发者依旧使用最初版本 的 ASP。相对于这个版本,JSP 在动态代码方面拥有明显的优势。使用 JSP,动态 部分是用Java编写的,而非VBScript过其他ASP专有的语言,因此JSP更为强劲, 更适合于要求组件重用的复杂应用。 当将JSP 与之前版本的ColdFusion 对比时,您可能会得到相同的结论。应用JSP您可以使用Java 编写“真正的代码”不必依赖于特定的服务器产品。然而,当前版本的ColdFusion 满足J2EE 服务器的环境,允许开发者容易的混合使用ColdFusion 和Servlet/JSP代码。
与PHP 相比 PHP(“PHP:Hypertext Preprocessor”的递归字母缩写词)是免费的、开 放源代码的、HTML 嵌入其中的脚本语言,与 ASP和JSP 都有某种程度的类似。 JSP 的一项优势是动态部分用Java 编写,而Java 已经在联网、数据库访问、分布式对象等方面拥有广泛的API,而PHP 需要学习全新的、应用相对广泛的语言。JSP 的第二项优势是,和PHP 相比,JSP 拥有极为广泛的工具和服务器提供商的支持。
与JavaScript 相比 JavaScript 和Java 编程语言完全是两码事,前者一般用于在客户端动态生 成 HTML,在浏览器载入文档时构建网页的部分内容。这是一项有用的功能,一 般与JSP 的功能(只在服务器端运行)并不发生重叠。和常规HTML 页面一样, JSP 页面依旧可以包括用于JavaScript 的SCRIPT 标签。实际上,JSP 甚至能够 用来动态生成发送到客户端的 JavaScript。因此,JavaScript 不是一项竞争技 术,它是一项补充技术。 JavaScript 也可以用在服务器端,最因人注意的是 SUN ONE(以前的 iPlanet)、IIS 和BroadVision 服务器。然而,Java 更为强大灵活、可靠且可移 植。
与WebMacro 和Velocity 相比 JSP 决非完美。许多人都曾指出过JSP 中能够改进的功能。这是一件好事, JSP 的优势之一是该规范由许多不同公司组成的社团控制。因此,在后续版本中, 这项技术能够得到协调的改进。但是,一些组织已经开发出了基于 Java 的替代技术,试图弥补这些不足。据我们的判断,这样做是错误的。使用扩充JSP 和Servlet 技术的第三方工具,如 Apache Structs,是一种很好的思路,只要该工具带来的好处能够补偿工具带来的额外复杂性。但是,试图使用非标准的工具代替JSP 则不理想。在选择一项技术时,需要权衡许多方面的因素:标准化、可移植性、集成性、行业支持和技术特性。对于JSP 替代技术的争论几乎只是集中在技术特性上,而可移植性、标准化和集成性也十分重要。Servlet 在编译后,载入到服务器的内容中,初始化并执行。但是每一步发生在什么时候呢?要回答这个问题,要记住以 下两点:JSP 页面仅在修改后第一次被访问时,才会被转换成servlet 并进行编译; 载入到内存中、初始化和执行遵循servlet 的一般规则。 最常被误解的项已经突出标示出来。在参考该表时,要注意,由JSP 页面生 成的servlet 使用_jspService 方法(GET 和POST 请求都调用该函数),不是doGet 或doPost 方法。同样,对于初始化,它们使用jspInit 方法,而非init 方法。 将JSP 页面转换成servlet 编译Servlet? 将Servlet 载入到服务器内存中调 用jspInit 调用_jspService。
应用框架
什么是应用框架: 框架(framework)是可重用的,半成品的应用程序,可以用来产生专门的 定制程序。像人一样,软件应用的相似性比不同点要多。它们运行在相似的机器 上,期望从相同的设备输入信息,输出到相同的显示设备,并且将数据存储到相 同的硬盘设备。开发传统桌面应用的开发人员更习惯于那些可以涵盖应用开发同 一性的工具包和开发环境。构架在这些公共基础上的应用框架可以为开发人员提 供可以为他们的产品提供可重用服务的基础架构。
框架向开发人员提供一系列具有以下特征的骨架组件:
1.已经知道它们在其它程序上工作得很好;
2.它们随时可以在下一个项目中使用;
3.它们可以被组织的其它团队使用;
对于框架是典型的构建还是购买命题。如果你自己构建它,在你完成时你就 会理解它,但是在你被融入之前又将花费多长时间呢?如果要购买,你必须得克 服学习曲线,同样,在你可以用它进行工作之前又得花多长时间?这里没有所谓 正确答案,但许多观察者都会同意,象 Struts 这样的框架能提供比从头开始开 发更显著的投资回报,特别是对于大型项目来说。
其它类型的框架: 框架的概念不仅用于应用程序也可用于组件。在其它的资料里面,我们也介 绍了一些可以和Struts 一起使用的框架。这些包括Lucene 搜索引擎,Scaffold 工具包,Struts 验证器,以及 Tiles 标签库。与应用框架一样,这些工具也提 供了一些半完成的版本,可以用在用户的定制组件之中。某些框架被限制于专门 的开发环境中。Struts 以及本文中涉及的组件却不是这样。你可以在很多环境 中来开发 Struts: Visual Age for Java, JBuilder, Eclipse, Emacs, 甚至 使用Textpad。对于你的工具,如果你可以用来开发Java, 你就可以用它来开发 Struts。
使用的技术: 使用Struts 的应用开发使用了大量的其他基础技术。这些技术并不是专门 针对Struts,而是所有Java web 应用都可以使用的。开发者使用Struts 之类 的框架是为了隐藏在诸如HTTP,CGI,以及JSP 之类技术后面的繁琐的细节。作 为一个Struts 开发者,你并不需要知晓所有的相关知识,但是这些基本技术的 工作原理可能有助于你针对棘手问题设计出创造性的方案。
Servlet简介
Java servlet: Sun 公司的Java Servlet 平台直接解决了CGI 程序的两个主要缺点: 首先,servlet 比常规 CGI 程序提供更好的性能和资源利用。其次,一次 编写,随处运行的JAVA 特性意味着servlet 在有JVM 的操作系统间是轻便的可 移动的。Servlet 看起来好像是一个微小的web server。它接受请求并产生响应。 但和常规 web server 不同,servlet API 是专门设计来帮助 Java 开发人员 创建动态应用的。Servlet是要编译成字节码的 Java 类,就像其他Java对象一样。 Servlet访问HTTP 特定服务的API,但它仍然是一个运行于程序之中的Java 对象,并可以利用所有的Java 资产。为了使常规web servers 能访问servlet, servlet 被安插在一个容器之中。Servlet 容器连接到Web 服务器。每servlet 都 可以声明它可以处理何种样式的URL。当符合所注册样式的请求到达,web server 将请求传递给容器,容器则调用响应的servlet。
JavaServer Pages:虽然servlets 对CGI 程序来说前进了一大步,但它也不是万能灵药。为了 产生响应,开发人员不得不使用大量的 println 语句来生成 HTML。比如这样的 代码: out.println " One line of HTML. " ; out.println " Another line of HTML. " ; 在产生HTTP 响应的Servlet 中是很普遍的。也有一些库有助于你产生HTML。 随着应用越来越复杂,Java 开发人员将不再扮演HTML 页面设计的角色。同时, 大多数项目经理更喜欢将团队分成不同的小组。它们喜欢HTML 设计人员处理表 现层的工作,而Java 工程师则专注于业务逻辑。单独使用servlet 的做法鼓励 混合标记和业务逻辑,很难区分团队人员的专业工作。为解决这个问题,Sun 提出了一个将脚本和模板技术结合到一个组件中的服 务器页面技术(JavaServer Pages)。为创建JSP 页面, 开发者按创建HTML 页面 类似的方式创建页面,使用相同的HTML 语法。为将动态内容引入页面,开发人 员可以将脚本元素置入页面之中。脚本元素是一些标记,封装了可以被JSP 识别 的逻辑。你可以在 JSP 页面中很容易的识别出脚本元素,他们被封装在一对 % 和 % 标记中。 为了识别JSP 页面,文件需要保存为扩展名.jsp。当一个客户请求JSP 页面 时,容器将页面翻译成 Java servlet 源代码文件,并将它编译成 Java 类文 件――就象你写的servlet 文件一样。在运行时,容器也能检测JSP 文件和相应 的类的最后更新时间。如果,JSP 文件自上次编译以来被修改了,容器将重新翻 译和编译JSP 文件。项目经理现在可以将表现层分派给HTML 开发人员,将业务 逻辑工作分派给JAVA 开发人员。重要的是记住,JSP 页面事实上是一个servlet。 你可以在servlet 做的,也可以在JSP 中做。现在你已经有关于 Strtus Web 应用程序模样的初步印象,以后我们将更深入的讨论 Strtuts 框架 的理论和具体应用。


网站公告

今日签到

点亮在社区的每一天
去签到