JSP+MySQL网上教学系统21世纪是一个信息化的时代。网络这一信息时代的产物,已经超出了技术产品本身的内涵,而向社会生活的各个领域扩展,并逐渐形成了具有鲜明时代特色的文化。学习作为延续人类已有物质文化成果、并在原有知识基础上创造出前所未有的内容的活动,已从传统的基于课堂的“老师教授——学生学习”的模式转变为通过多种途径来实现,网络教学是一个必然的发展趋势。
与传统教育相比,借助互联网实现的网络教学是一种全新的教育模式,它可以突破时间和空间的限制,帮助人们随时随地的学习,让更多的学习者共享优秀的教育资源;网络教育具有开放性、交互性、协作性、自主性等特点,可以使更多的人尤其是无法到校园内学习的人们接受高等教育,它将成为终身教育的首选形式。
以信息技术为依托的现代网络教育对中国教育而言,既是挑战,更是机遇。抓住这个机遇,就会创造出教育领域中的一片新天地。
系统采用浏览器/服务器(B/S)模式,基于JSP技术,以MySQL数据库作为后台数据库,使用Eclipse开发,实现对文件的上传下载,学生和教师信息的管理。系统实现的功能模块主要有:学生模块、教师模块、管理员模块。系统把这些功能模块有机的组织起来,已经具备较高的实用价值。
关键词 Eclipse;网上教学系统;JSP;MySQL
Design and Realization of Network Teaching System
Abstract
The 21st century are an information time. The network, result of information age, has already gone beyond the origin of technological products, and extends to various field of social life, resulting in vivid and vigorous culture gradually. As method of inhering knowledge of ancestor and create new element, study has changed from traditional classroom based “teacher teach—student study” method into realize through a variety of ways already. The network teaching is an inevitable development tendency.
Compared with traditional education, online education with Internet is new educational method, which is able to break through the restrictions of the time and space, helps people to study whenever and wherever possible, enable more people share good educational resources. Online education has much merits, such as opening, interaction, cooperating nature, independence, ect., helping more people, especially those unable to get campus education, acquire higher education, it will become the first-selected form of education life long.
For Chinese education, online education, based on Interent technology, is an opportunity as well as challenge. If succeeded, new area would appear.
This system adopts B/S model, bases on JSP technology, and uses the MySQL database as background database, and develops the foreground webpage with Eclipse. The system realizes the document operation of uploading and downloading, and the management of student and teacher's information. The function modules in this system mainly include: student’s module, teacher's module, administrator's module. The system integrates these modules and has great practical values.
Keywords Eclipse;network teaching system;JSP;MySQL 108
JSP+MySQL网上教学系统Eclipse 目 录摘要…… IAbstract II
第1章 绪论 11.1 课题背景 11.2 国内教学模式 11.2.1 传统教学模式 11.2.2 现代教学模式 21.3 国外远程教育的发展 31.4 国内网上教育的现状 51.5 研究内容 7第2章 开发工具及其相关知识 92.1 开发工具简介 92.1.1 JSP介绍 92.1.2 开发环境 102.2 ASP、JSP、PHP三种技术比较 122.2.1 技术特点 122.2.2 应用范围 142.2.3 性能比较 152.2.4 前景分析 152.3 网站开发的基本流程 162.4 本章小结 16第3章 数据库软件介绍 183.1 数据库介绍 183.2 MYSQL数据库功能和特点 183.2.1 MYSQL功能 193.2.2 MYSQL特点 193.3 本章小结 20第4章 系统设计 214.1 系统需求分析 214.1.1 功能需求 214.1.2 可行性分析 214.2 系统设计思想 224.2.1 设计思想 224.2.2 系统功能图 224.3 数据库设计 234.3.1 数据库需求分析 234.3.2 数据库概念结构设计 234.3.3 数据库逻辑结构设计 254.3.4 数据库的生成与配置 264.4 本章小结 26第5章 系统详细设计及实现 275.1 功能模块设计 275.1.1 用户登录模块 275.1.2 教师操作模块 275.1.3 学生操作模块 305.1.4 管理员操作模块 315.2 系统测试 345.2.1 测试手段 345.2.2 测试目标 355.2.3 测试原则 355.2.4 测试方法 355.3 本章小结 36结 论 37致 谢 38参考文献 39附 录 40
JSP+MySQL网上教学系统Eclipse 第1章 绪论1.1 课题背景随着教育技术手段的发展,传统的“粉笔+黑板”的教学模式越来越不能满足发展的需要。教育的根本出路在于改革,而教育改革的重要途径之一是教育信息化。教育信息化是指在教育领域全面深入地运用现代化信息技术来促进教育改革和教育发展的过程,其结果必然是形成一种全新的教育形态:信息化教育。这种全新的教育模式,对传统教育方式的冲击以及影响是很大的。其中,网上教学是信息化教育的主要应用。
网上教学将有利于促进校际合作,实现资源共享。德国著名学者奥托.彼德斯指出,在远程教育中,教学是高度工业化的,学习也是高度工业化的。他的观点是指出在商品的工业化生产和远程教育系统中的教学过程之间存在并行的要素。远程教育系统中的教学过程可以被归类为高度工业化的,是因为某个学科领域的专家可以使用同样的学习材料教授成千上万的学生,只要这些学习材料以工业化的方式生产并包装起来,而且它们无需教师进一步的投入就可成百上千地被复制。远程教育系统中的学习也可以被归类为高度工业化的,是因为来自全国乃至全世界的学习者都可以利用同样的教学产品进行学习,并且这些教学产品可以成百、成千、成万地提供而无需院校的投入。
进入21世纪,随着计算机网络技术和Internet的不断发展,网上教学成为一种现实。所谓网上教学是指教师利用计算机网络向学生传递教学信息,或学生通过计算机网络获取学习知识。由于网上教学具有时效性、共享性、交互性和个别化等特点,教师在教学过程中如何根据网上教学不同教学模式,发挥教师的主导作用和激发学生自主学习使学生成为认识的主体[1]。
1.2 国内教学模式1.2.1 传统教学模式教育是一种上层建筑,它的形式一定与当时的生产力相适应。传统的教学模式基本上是以教师教、学生学的以教师为中心的教学模式;作为向成人或未能进入人学校门的学生进行的教学也是沿用这种教学模式,只是为了他们的方便,采用晚间上课或半日制等形式;到了60年代以后,广播电视大学的教学方式使教师的讲课可以多次重复播放,而学生也不一定要到教室去听讲,大大地提高了教学的效率,但这种教学方式仍然使单向的以教师为主的教学模式。
这种教学模式有利于教师主导作用的发挥,便于教师组织、监控整个教学活动进程,便于师生之间的情感交流,因而有利于系统的科学知识的传授。
其严重弊病则是:完全由教师土宰课堂,忽视学生的认知作用,不能快速、有效地进行信息的反馈。这种模式培养出的绝大部分是知识型人材,不利于培养具有创新思维和创新能力的创造型人材,而创新型人材正是适应21世纪激烈的国际竞争所需要的人材。
两种主要的传统教学方式有:
1. 面授、辅导
学习者要通过教师的课堂教学来实现学习目的。这种方式的优点是教师和学生之间的直接接触,有利于师生之间的情感交流,缩短了教学效果反馈的时间。同时,教师还可以根据学生的差异性进行个别引导和指导。
2. 函授学习
学习者利用信件、电话等通讯工具与教师进行交流,从而实现教学过程。在贫困地区,这种学习方式还发挥着极为重要的作用。
1.2.2 现代教学模式以学生为中心的教学模式,则是随着多媒体和网络技术的日益普及,才逐渐发展起来的。多媒体和网络技术由于能提供界面友好、形象直观的交互式学习环境,有利于激发学生的学习兴趣和进行协商会话、协作学习,能提供图文声像并茂的多种感官综合刺激,有利于情境创设和人量知识的获取与保持,还能按超文本、超链接方式组织管理学科知识和各种教学信息。目前在Internet上按这种方式组织建构的知识库、信息库浩如烟海,并己成为世界上最大的信息资源,这不仅有利于学生的土动发现、土动探索,还有利于发展联想思维和建立新旧知识之间的联系,因而对学生认知结构的形成与发展,即促进学生关于当前所学知识的意义建构是非常有利的,也是其他的教学媒体或其他学习环境无法比拟的。
但是,这种以学生为中心的教学模式由于强调学生的“学”,往往忽视教师主导作用的发挥,忽视师生之间的情感交流和情感因素在学习过程中的重要作用:另外,由于忽视教师主导作用,当学生自主学习的自由度过大时,还容易偏离教学目标的要求。
现代远程教育的特点主要体现在学习方式上。在远程教育中,教师和学生的分离,使学生的学习方式变得更为灵活、多样。具体讲,主要有以下几种:
1. 音像教学
这种学习方式曾在远距离教学中起过主要作用,进入90年代中期后它逐渐被VCD所代替,而且更加家庭化。学习者直接购买VCD光盘就可以获得学习信息。
2. 电视教学
这种学习方式主要是指通过有线电视、卫星电视和交互电视获取教学信息的一种方式。随着电视技术的发展和普及,电视教学也将趋于家庭化。
3. 网上自学
这是远程教育中最基本的学习方式,它是指学习者借助教学课件进行学习的方式。在学习过程中学习者自由选择学习内容,制定学习计划,自由安排学习时间和地点,因而这种学习方式的优点是灵活、自由。
4. 网上教学
这是指学习者通过计算机技术、多媒体技术、网络技术、可视电话、视频会议、虚拟技术等现代信息技术获取信息的一种学习方式。其优点是形象、直观、生动、活泼,打破了时空限制,学习者在一个很广阔的领域进行学习。重要的是学习者可以进行交互式学习,它是指学习者利用媒体与教师、同学进行网上交流或收集信息。这种方式可增加教师、学生之间的了解与帮助,体现相互协作的精神。
1.3 国外远程教育的发展由于网上教学实现全新的教育体制与教学模式方面具有其它技术无可比拟的优越性,因此,世界各国尤其是发达国家对此无不给予高度的重视,并投入人量的资金,开展这一领域的基础研究与应用开发。
1997年美国总统克林顿在向国会提交的国情咨文中提出,将要投入510亿美元的巨额预算用于实施一项称之为“美国教育行动”的宏伟计划,以实现每一个12岁的儿童都能上网,每一位18岁的青年都能受到高等教育,每一位成年美国人都能进行终身学习的目标;美国政府1997年决定,在5年内拨款20亿美元,做为公立学校建立网上教学系统的额外资助,学校所需的硬件设施则由国家全部包下来:1998年底,美国联邦通信委员会决定,每年陆续拨款帮助最贫困的学校早日进入信息高速公路[2]。日本从19%年开始进行网上教学试验,为此政府已拨款1200亿日元,还将陆续拨款2000亿日元,希望在2002年以前使全国所有的学校入网,并将网上教学与正在实施中的多媒体计划相结合。巴西政府投资1.5亿美元,建立了全国互联网教育科研系统。法国政府2000年拨款5亿法郎支持基金,用于全国小学配备电脑,为上网创造条件。
据联合国教科文组织统计,1998年全世界已经建立网站的大学就超过4500所,预计到2000年全世界85%的大学将在网上开辟白己的网站,其中的四分之一左右会在网上开设网上教学课程。有关资料表明,美国己有420多所大学建立了网上虚拟学校,开设了200多个专业,通过网络进行学习的人数正以每年300%以上的速度增加[3]。在德国,按计划到2000年全国将有一万所学校上网,其中的四分之一学校将推出网上教学。英国的多媒体和网上教学十分发达,很多家庭都有多媒体电脑,人们在家可以通过网络与外界联系,可以参加各种课程的学习。1998年英国政府制定了《全国网上教育五年计划》,提出在2003年以前将国内32000所中小学全部联网,并决定在2001年以前把全国的图书馆、科技情报机构、博物馆和各种文化设施全部联网。瑞典的互联网用户己占全国人口的44. 3%,人均上网比例居世界第一,91%的公立高中和56%的九年制义务教育学校己与互联网相联。韩国的教育网站目前已达到200多个,仍在以每天1-2个网站的速度增加;韩国教育学术情报院主办的“教育网(EDLJNET )”,目前已有会员160万人,预计到2002年可能突破800万人。法国的初中、高中在去年9月己全部使用互联网。巴西经过4年建立的全国互联网教育科研系统,其数据传输速度比普通互联网快17倍;目前,该网络联接着圣保罗、巴西利亚和贝洛奥里藏特3个城市,到2001年2月份,巴西全国14个主要城市都将加入这一系统。加拿大已有90%的中小学与互联网联通,政府计划把互联网扩至25万个班级。
JSP+MySQL网上教学系统的设计与实现
1.1 国内网上教育的现状我国的网上教育始于1994年实施“中国教育科研网示范工程”,目前已经有了一定的发展。在高等教育领域,继1998年教育部批准清华大学等6所高等院校开展网络大学试点工作之后,2000年已设立研究生院的30所高等院校又被获准开展网上远程教育,进行专科和本科学位学历教育和开设研究生课程。教育部已将大力推进网络教学列为高校工作的重点,在网络教育应用开发上,拟投资4000万元支持高校网络教材和网络教育师资队伍建设,用两年的时间建立200门左右网络课程,包括网上学习、师生交流、辅导答疑、网上作业和网上测试等。在基础教育领域,全国己有近3000所中小学组建了校园网,上万所学校组建了网络化电子教室。为适应信息化社会的要求,教育部在《关于加快中小学信息技术课程建设的指导意见》中提出,要在10年的时间里全面、逐步普及信息技术必修课;要用5--10年时间,使全国90%左右的独立建制的中小学校能够联网,使每一名中小学师生都能共享网上教育资源。目前发展比较迅速的是中小学网校,据统计全国已有近200所中小学网校,它以提供学校课程同步教育和中小学生课外补习为主。这类网校能使普通学校的学生接受到名校优秀教师的辅导,因而很受欢迎。
下面将以北京邮电大学的网上教学系统为例做一个全面的介绍。
1998年初北京邮电大学就开始与中国电信合作进行广域网上的远程教学实验,先后与湖南的三个城市、北京电信、香港大学以及天津市成功地进行了四次双向、实时、交互式课堂教学实验,并在此基础上确定了北京邮电大学的远程教学系统的技术方案。1999年北京邮电大学成为教育部进行远程教学试点的大学之一,并获得了每年1000名本科生的招生名额。目前首批招收的本科生已经正式在网上上课。
北京邮电大学的远程教学系统包括实时授课系统、非实时的辅助教学系统、多媒体课件库和教学教务管理系统四个主要部分组成。实时授课系统将采用电信公网主、卫星通信网为辅的网络平台,非实时教学系统将采用计算机互连网为网络工作平台,它们与多媒体课件库和教学教务管理系统一起构成一个完整的远程教学系统。
1. 双向、实时、交互式授课系统
北京邮电人学实时授课系统采用基于光纤、SDH的ATM作为传输和交换平台。由于光纤具有带宽宽、传输时延小,误码率低的特点,能满足多媒体交互式教学的需要。终端系统我们采用基于会议电视系统而又高于会议电视系统的终端系统。这是囚为会议电视系统只是语音、图像的交互,但双向、实时、交互课堂式远程教育系统除了语音和图象交互外,还有数据交互,比如电子白板交互、文件共享、应用程序共享等。因此,这个系统强大的数据功能是它区别于会议电视系统的重要特征之一。
2. 基于IP的非实时辅助系统
基于IP的多媒体互连网技术为真正突破时空限制提供了可能。学生可以在任何一台与Internet相连的PC上,上网搜索到各种学习资料,依自己的需要,采用适合自己的学习材料,实现远距离学习。教学过程的各个环节都可通过网络进行:通过电子邮件可实现传统教学中的答疑、交作业等,通过基于IP的可视电话可实现师生见面,通过电子白板可布置作业、发布通知,通过视频点播可以重复听讲,通过网上实时聊大可以开讨论会,还可以在网上检索参考资料、作练习、参加测验。基于IP的多媒体教学将彻底突破时空的限制,提供多形式、多功能、全方位的教育服务,是远程教学发展的必然方向。
北京邮电大学的远程教学系统除了采用了Internet上常用的WWW,FTP,E-mail,BBS等技术来提供非实时的远程教学手段之外,还开发了两个比较有特色的子系统:多媒体课件库和流广播、点播系统。
3. 基于多媒体的课件库系统
多媒体课件库是远程教学系统的重要组成部分,其土要任务是保存课件供学生随时根据自己的学习情况访问学习。课件库中包括课程内容、参考、习题、测验试题等等。除了提供课件浏览之外,多媒体课件库的另一个重要功能是对学生访问课件的情况进行统计以便跟踪学生的学习情况,评估教师的教学水平。
课件库系统由一台“课件网关”和多台“课件服务器”组成。课件网关的主要功能是接受用户的教学请求,确认需求的合法性,并依一定的分配算法对用户的访问进行调度,保持多个课件服务器的负载平衡、提高网络带宽的利用率。系统配置两台同样功能的课件网关,其中一台为另一台的备份。
课件服务器主要负责存储课件内容,并根据访问权限提供课件浏览,实现远程教学中的教学内容的传输,它具有良好的并发特性、强大的I/O能力、可靠性和稳定性。每两台课件服务器互为镜像。这样可以解决用户集中点播某一课件而导致的输出瓶颈问题。
课件服务器的另一个重要的特点是具有了一定的智能功能。比如当学生在课件库中进行自我测试时,课件服务器可以根据学生的测试成绩向他推荐不同的学习内容,对于成绩优秀的学生他可以直接浏览课件的后续部分,而成绩差的学生就没有这些权限而必须一步一步地进行学习。
4. 流广播、点播系统
流广播、点播系统是远程教学系统设计的另一个重要的子系统。利用该系统我们可以在教学活动进行的同时将教学过程在网上进行广播,扩大听课学生群体,同时我们还能将广播的内容以数字的方式保存到流服务器上,供学生课后点播。这个系统可以向用户提供两种类型的服务:节目流点播和节目流广播。节目流点播是指用户可以向服务器申请特定节目流的播放。在流点播过程中,每个用户与服务器之间均要建立单独的连接,点播的节目也只送给进行点播的用户,其他的网络用户无法接收此点播者点播的节目流。而节目流广播是指节目在网络上广播,所有在网络上的用户均可以收到广播的节目流。广播或点播的内容是音频、视频的节目流,而不是传统的基于HTML的主页。节目流的广播方式完全则不同,在广播过程中只需要播出一个节目流,所以网络负担比较轻.但在点播方式中,学生可以自由点播自己感兴趣的节目,而广播方式中学生只能被动地听课。这个系统由于采用了先进的流技术解决了流信息在Internet上的传输与播放问题。支持流播放的播放器只需要缓存很少的数据就可以开始播放,不需要等待信息下载完毕后才开始播放。流播放器的这种特点也使得网上直播成为可能,只要编码器连续不断地进行编码产生流信息,流信息穿过网络后到达播放器,播放器就可以连续不断进行播放。
目前这个系统用普通的PC机做为媒体服务器已经在校园网上进行了试播,学生只要用普通的IE浏览器就能观看在网上播出的节目并点播自己感兴趣的节目。
1.2 研究内容主要研究了网上教学在线系统下的一个小型在线办公平台的功能需求分析,设计,以及跟踪调试,并进而将它应用于实际生活工作中[4]。
依照所研究问题的结构层次,本论文分为以下几个部分:
第2章主要介绍系统的开发工具及其相关知识。
第3章主要介绍了数据库及其相关知识。介绍了网上教学系统所使用的数据库,为什么要选择这种数据库,以及数据库的概念和特点;介绍了MySQL的功能和特点。
第4章主要介绍了系统将要实现的功能,并作了总体的介绍。阐述了系统的总体设计及其流程。
第5章主要介绍了系统的主要的功能模块,系统数据库的设计以及系统中某些功能的技术。介绍了系统主要由教师操作界面、学生操作界面和管理员操作界面组成。详细地阐述了在系统的开发过程中所涉及的各种技术,及其代码实现和分析。对数据库的功能和字段进行设计,使前台显示页面和后台数据库合理地结合起来。
最后,概述了研究的结果以及对存在的问题改进的展望。
JSP+MySQL网上教学系统Eclipse 第1章 开发工具及其相关知识1.1 开发工具简介1.1.1 JSP介绍JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。该技术为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法。JSP技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web服务器,应用服务器,浏览器和开发工具共同工作。 JSP规范是Web服务器、应用服务器、交易系统、以及开发工具供应商间广泛合作的结果。在传统的网页HTML文件(*htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送 email 等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无Java Applet,甚至无Frame[5]。
JSP技术在多个方面加速了动态Web页面的开发:
1. 将内容的生成和显示进行分离
使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求来变化的,例如请求帐户信息或者特定的一瓶酒的价格)。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和Beans中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。在服务器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBCTM技术访问数据库,或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。
2. 强调可重用的组件
绝大多数JSP页面依赖于可重用的,跨平台的组件(JavaBeans或者Enterprise JavaBeansTM组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。
3. 采用标识简化页面开发
Web页面开发人员不会都是熟悉脚本语言的编程人员。JavaServer Page技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。
通过开发定制化标识库,JSP技术是可以扩展的。今后,第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。
JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。作为采用Java技术家族的一部分,以及Java 2(企业版体系结构)的一个组成部分,JSP技术能够支持高度复杂的基于Web的应用。
由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译成为Java Servlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。随着越来越多的供应商将JSP支持添加到他们的产品中,您可以使用自己所选择的服务器和工具,更改工具或服务器并不影响当前的应用。当与Java 2平台,企业版(J2EE)和Enterprise JavaBean技术整合时,JSP页面将提供企业级的扩展性和性能,这对于在虚拟企业中部署基于Web的应用是必需的。
1.1.2 开发环境1. 开发工具:Eclipse
Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,每一个项目由一个项目管理委员会监督,并由它的项目章程管理。Eclipse工具项目为不同的工具建造者提供一个焦点,以保证为Eclipse Platform创建最好的工具。Eclipse工具项目的任务是为Eclipse Platform培育广泛的工具的创建。工具项目提供单一的联系点以调和开放源代码工具建造者,从而使得覆盖和重复最小化,并保证共享的最大化和共同组件的创建,促进不同类型工具的无缝互操作。工具项目由工具开发者委员会和工具项目的项目管理委员会提议、选择和开发的子项目组成[6]。
Eclipse技术项目的任务是为开放源代码开发者、研究者、学院和教育者提供新的管道,以参与将来Eclipse的演化。它按照研究、培育和教育三个项目流来组织,研究项目在Eclipse相关领域诸如编程语言、工具和开发环境方面进行探索和研究;培育项目是小型的、未正式结构化的项目,为Eclipse软件基础添加新的能力;教育项目聚焦于教育材料的开发、教学帮助和课件。
Eclipse Platform是一个开放的可扩展的IDE。Eclipse Platform提供建造块和构造并运行集成软件开发工具的基础。Eclipse Platform允许工具建造者独立开发与他人工具无缝集成的工具你无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。
Eclipse SDK(软件开发包)是3个Eclipse项目的子项目(Platform、JDT、PDE)所生产的组件合并,它们可以一次下载。这些部分在一起提供了一个具有丰富特性的开发环境,允许开发者有效地建造可以无缝集成到Eclipse Platform中的工具。Eclipse SDK由Eclipse项目生产的工具和来自其它开放源代码的第三方软件组合而成。Eclipse项目生产的软件以 CPL发布,第三方组件有各自自身的许可协议。
2. Web服务器:Tomcat
Tomcat是Jakarta项目中的一个重要的子项目,其被JavaWorld杂志的编辑选为2001年度最具创新的Java产品(Most Innovative Java Product),同时它又是Sun公司官方推荐的Servlet和Jsp容器,因此其越来越多的受到软件公司和开发人员的喜爱。Servlet和Jsp的最新规范都可以在Tomcat的新版本中得到实现。随着Java的流行,其在Web上的应用也越来越广,Tomcat作为一个开源的Servlet容器,应用前景越来越广。
1.2 ASP、JSP、PHP三种技术比较ASP 全名Active Server Pages,是一个WEB服务器端的开发环境,利用它可以产生和执行动态的、互动的、高性能的WEB服务应用程序。ASP采用脚本语言VBScript(Java script)作为自己的开发语言[7]。
PHP是一种跨平台的服务器端的嵌入式脚本语言。它大量地借用C,Java和Perl语言的语法, 并耦合PHP自己的特性,使WEB开发者能够快速地写出动态产生页面。它支持目前绝大多数数据库。还有一点,PHP是完全免费的,不用花钱,你可以从PHP官方站点(http: //www.php.net)自由下载。而且你可以不受限制地获得源码,甚至可以从中加进你自己需要的特色。
JSP是Sun公司推出的新一代网站开发语言,Sun公司借助自己在Java上的不凡造诣,将Java从Java应用程序和Java Applet之外,又有新的硕果,就是JSP,Java Server Page。JSP可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序。
三者都提供在 HTML代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。但JSP代码被编译成 Servlet并由Java虚拟机解释执行,这种编译操作仅在对JSP页面的第一次请求时发生。在ASP 、PHP、JSP环境下,HTML代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。普通的 HTML页面只依赖于Web服务器,而ASP 、PHP、JSP页面需要附加的语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到HTML代码中,然后一起发送给浏览器。ASP 、PHP、JSP三者都是面向Web服务器的技术,客户端浏览器不需要任何附加的软件支持。
1.2.1 技术特点 ASP的技术特点包括以下内容[8]:
1. 使用VBScript 、 JScript等简单易懂的脚本语言,结合HTML代码,即可快速地完成网站的应用程序。
2. 无须compile编译,容易编写,可在服务器端直接执行。
3. 使用普通的文本编辑器,如Windows的记事本,即可进行编辑设计。
4. 与浏览器无关(Browser Independence), 客户端只要使用可执行HTML码的浏览器,即可浏览Active Server Pages所设计的网页内容。Active ServerPages 所使用的脚本语言(VBScript 、 Jscript)均在WEB服务器端执行,客户端的浏览器不需要能够执行这些脚本语言。
5.Active Server Pages能与任何ActiveX scripting语言兼容。除了可使用VB Script或JScript语言来设计外,还通过plug-in的方式,使用由第三方所提供的其它脚本语言,譬如REXX 、Perl 、Tcl等。脚本引擎是处理脚本程序的COM(Component Object Model) 对象。
6. 可使用服务器端的脚本来产生客户端的脚本。
7. ActiveX Server Components(ActiveX 服务器组件 )具有无限可扩充性。可以使用Visual Basic 、Java 、Visual C++ 、COBOL等程序设计语言来编写你所需要的ActiveX Server Component 。
PHP技术特点:PHP可以编译成具有与许多数据库相连接的函数。PHP与MySQL是现在绝佳的群组合。你还可以自己编写外围的函数去间接存取数据库。通过这样的途径当你更换使用的数据库时,可以轻松地修改编码以适应这样的变化。PHPLIB就是最常用的可以提供一般事务需要的一系列基库。但PHP提供的数据库接口支持彼此不统一,比如对Oracle, MySQL,Sybase的接口,彼此都不一样。这也是PHP的一个弱点。
JSP技术特点[9]:
1. 将内容的产生和显示进行分离
使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来产生页面上的动态内容。产生内容的逻辑被封装在标识和JavaBeans群组件中,并且捆绑在小脚本中,所有的脚本在服务器端执行。如果核心逻辑被封装在标识和Beans中,那么其它人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的产生。在服务器端,JSP引擎解释JSP标识,产生所请求的内容(例如,通过存取JavaBeans群组件,使用JDBC技术存取数据库),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。
2. 强调可重用的群组件
绝大多数JSP页面依赖于可重用且跨平台的组件(如:JavaBeans或者Enterprise JavaBeans)来执行应用程序所要求的更为复杂的处理。开发人员
JSP+MySQL网上教学系统的设计与实现 能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者用户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种群组织在他们现有的技能和优化结果的开发努力中得到平衡。
3. 采用标识简化页面开发
Web页面开发人员不会都是熟悉脚本语言的程序设计人员。JavaServer Page技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容产生所需要的。标准的JSP标识能够存取和实例化JavaBeans组件,设定或者检索群组件属性,下载Applet,以及执行用其它方法更难于编码和耗时的功能。通过开发定制化标识库,JSP技术是可以扩展的。今后,第三方开发人员和其它人员可以为常用功能建立自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。 JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。作为采用Java技术家族的一部分,以及Java 2EE的一个成员,JSP技术能够支持高度复杂的基于Web的应用。由于JSP页面的内置脚本语言是基于Java程序设计语言的,而且所有的JSP页面都被编译成为Java Servlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。作为Java平台的一部分,JSP拥有Java程序设计语言“一次编写,各处执行”的特点。随着越来越多的供货商将JSP支持加入到他们的产品中,您可以使用自己所选择的服务器和工具,修改工具或服务器并不影响目前的应用。
1.1.1 应用范围ASP是Microsoft开发的动态网页语言,也继承了微软产品的一贯传统,只能执行于微软的服务器产品,IIS(Internet Information Server)和PWS(Personal Web Server)上。Unix下也有ChiliSoft的组件来支持ASP,但是ASP本身的功能有限,必须通过ASP+COM的群组合来扩充,Unix下的COM实现起来非常困难。
PHP3可在Windows,Unix,Linux的Web服务器上正常执行,还支持IIS,Apache等一般的Web服务器,用户更换平台时无需变换PHP3代码,可即拿即用。
JSP同PHP3类似,几乎可以执行于所有平台。如Win NT,Linux,Unix。在NT下IIS通过一个外加服务器,例如JRUN或者ServletExec,就能支持JSP。知名的Web服务器Apache已经能够支持JSP。由于Apache广泛应用在NT、Unix和Linux上,因此JSP有更广泛的执行平台。虽然现在NT操作系统占了很大的市场份额,但是在服务器方面Unix的优势仍然很大,而新崛起的Linux更是来势不小。从一个平台移植到另外一个平台,JSP和JavaBean甚至不用重新编译,因为Java字节码都是标准的与平台无关的[10]。
1.1.2 性能比较有人做过试验,对这三种语言分别做回圈性能测试及存取Oracle数据库测试。在循环性能测试中,JSP只用了令人吃惊的四秒钟就结束了20000*20000的回圈。而ASP、PHP测试的是2000*2000循环(少一个数量级),却分别用了63秒和84秒。(参考PHPLIB)。数据库测试中,三者分别对oracle 8进行1000次 Insert,Update,Select和Delete:JSP 需要13秒,PHP 需要 69 秒,ASP则需要73秒。
1.1.3 前景分析目前在国内PHP与ASP应用最为广泛。而JSP由于是一种较新的技术,国内采用的较少。但在国外,JSP已经是比较流行的一种技术,尤其是电子商务类的网站,多采用JSP。采用PHP的网站如新浪网(sina)、中国人(Chinaren)等,但由于PHP本身存在的一些缺点,使得它不适合应用于大型电子商务站点,而更适合一些小型的商业站点。首先,PHP缺乏规模支持。其次,缺乏多层结构支持。对于大负荷站点,解决方法只有一个:分布计算。数据库、应用逻辑层、表示逻辑层彼此分开,而且同层也可以根据流量分开,群组成二维数组。而PHP则缺乏这种支持。还有上面提到过的一点,PHP提供的数据库接口支持不统一,这就使得它不适合运用在电子商务中。
ASP和JSP则没有以上缺陷,ASP可以通过Microsoft Windowsd的COM/DCOM获得ActiveX规模支持,通过DCOM和Transcation Server获得结构支持;JSP可以通过SUN Java的Java Class和EJB获得规模支持,通过EJB/CORBA以及众多厂商的Application Server获得结构支持。三者中,JSP应该是未来发展的趋势。世界上一些大的电子商务解决方案提供商都采用JSP/Servlet。比较出名的如IBM的E-business,它的核心是采用JSP/Servlet的Web Sphere。它们都是通过CGI来提供支持的。但去年10月后它推出了Enfinity,一个采用JSP/Servlet的电子商务Application Server,而且声言不再开发传统软件[11]。
总之,ASP,PHP,JSP三者都有相当数量的支持者,由此也可以看出三者各有所长。正在学习或使用动态页面的朋友可根据三者的特点选择一种适合自己的语言
1.2 网站开发的基本流程一个网站项目的开发过程,一般可以分为站点策划、设计制作、动态编程及测试发布4个阶段,各个阶段主要工作任务如下[12]:
1. 站点策划
根据站点的具体形象和功能需求,再内容编辑和收集各个方面信息的基础之上,确定整个站点的层次结构。对所有需表达的信息内容进行合理的编排,使用户可以方便得找到需要的信息,尽量使网站访问者可以在最短的时间内查找到最需要的信息,这一过程类似于软件项目开发过程中的需求分析和系统设计阶段。
2. 设计制作
这一阶段主要是指静态网页的设计制作,一般包括构思草图、图形图像的制作、网页效果图制作及页面制作等。在网站内容与结构都已经确定的前提下,由专业网页制作人员使用专业的网页设计软件(例如FrontPage、DreamWeaver等)进行主页、表格等内容的设计和制作。
3. 动态编程
根据网站动态功能的需求,确定各个动态部分的功能模块、设计数据库、编写程序代码并测试运行。该阶段主要由网站程序员负责与Web相关的基于网络数据库系统与应用软件开发的工程,一般使用JSP、Servlet等进行程序的设计与开发。
4. 测试发布
在网站系统工程师的管理与维护下,对外发布整个网站。在测试运行的过程中,及时发现相关的技术问题和错误,并接受相关信息反馈。对整个站点的页面进行改进和完善。
1.3 本章小结在这一章中,详细介绍了网上教学系统的开发工具,使大家能够对JSP有一个系统的了解,其中应用的开发工具为Eclipse,开发平台为Tomcat;在这里详细的介绍了JSP的运行环境;最后将ASP、JSP与PHP进行比较,并给出了网站开发的基本流程,使大家从整体上对对网站开发有了一定的了解
JSP+MySQL网上教学系统Eclipse 第1章 数据库软件介绍1.1 数据库介绍数据库在一个管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率,以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致[13]。
从根本上讲,数据库是一个有组织的、根据某种标准分类的数据集合。传统的比喻是把文件装入抽屉,每个抽屉保存一些与特殊主题相关的文件,而且这些文件可能根据一套特殊的标准(字母顺序、颜色、数字代码等)进一步分类。抽屉中资料的组织结构和文件,使我们能够比较容易地迅速获得特殊的信息:只需把手放在某个拉手上,拉开适当的抽屉,选择与标准相匹配的单个或多个文件即可。
MySQL是一个高性能、多线程、多用户、建立在客户-服务器结构上的ROBMS,专门为了速度和稳定性而设计。在过去的几年中,它已经成为线上和线下适合于数据驱动的应用程序最受欢迎的ROBMS之一。现今,有超过400万的网站建立、使用并且配置了基于MySQL的应用程序,而且网站的数量每天都在增加(见MySQL官方网站http://www.mysql.com/)[14]。
MySQL始于1979年,最初是Michael〝Monty〞Widenius为瑞典的TcX公司创建的名为UNIREG的数据库系统。由于UNIREG没有结构化查询语言(SQL)接口,因此在20世纪90年代中期,它失去了TcX公司的宠爱。TcX开始寻找其他的系统,mSQL就是其中之一,它是由David Hughes创建的、具有竞争力的DBMS。
1.2 MYSQL数据库功能和特点数据库技术是数据库组织和管理技术。主要有分布式数据库、实时数据库、并行数据库、多媒体数据库和模糊数据库等。MySQL是其中具有代表性的一种,主要具有如下功能和特点。
1.2.1 MYSQL功能1. 数据库管理系统。我们知道,所谓的数据库就是一些结构化的数据的联合体,要提供对这些数据的存取、增加、修改、删除或更加复杂的数据抽取等操作,需要有一个支撑系统,这就是数据库管理系统(DBMS),MySQL完全具有这方面的功能。
2. 关系型数据库管理系统。在菘獾姆⒄估讨校鱿止嘀植煌问降氖菘庀低常叵敌褪菘夤芾硐低常≧DBMS)以其优越性而被广为采用,象现在几种广泛使用的数据库全为关系型数据库。同样,MySQL也是关系型的数据库系统,支持标准的结构化查询语言(Structured Query Language)。
3. 开放源码数据库。同商业性的数据库相比,这是MySQL最大的特点。MySQL的源码是公开的,这就意味着任何人,只要遵守GPL的规则都可以对MySQL的源码使用、修改以符合自己特殊的需求。
4. 技术特点。MySQL是C/S架构的服务器,服务器端是多线程的,为客户端提供了不同的程序接口和链接库,如C、C++、Java、Perl、PHP、Tcl等,也提供了简单的管理工具,如mysqladmin,mysql等。
1.2.2 MYSQL特点1. 开良好的发语言为C/C++,支持多种编译器,如gcc, cc, xlc, aCC等;
2. 内存管理机制,尤其是内存泄漏的管理,通过了Purify的严格测试;
3. 支持多种平台,如AIX、Solaris、HP、FreeBSD、Tru64、SGI、Windows等;
4. 提供多种形式的API,为我们开发工具的选择提供了便利;
5. 使用多线程的技术,可充分发挥系统的特点,避免在SMP系统中出现仅使用单CPU的现象;
6. 对磁盘表的管理采用B树加密及索引的技术,为我们快速访问数据提供了可能;
7. 高性能的内存申请技术;
8. 临时表采用在内存中以哈希表实现;
9. 提供多种数据类型,如signed/unsigned integer, double, blob等;
10. 支持定长的和变长的纪录;
11. 所有的列都有缺省值,为我们的某些“粗心”提供了方便;
12. 灵活、安全的权限和密码系统,密码在传输中加密传送,允许主机端验证密码;
13. 客户端可以通过TCP/IP、Unix套接字、命名管道(NT)连接到MySQL数据库服务器;
14. 提供Windows端的ODBC连接;
15. 对多种字符集的完全支持[15]。
1.3 本章小结主要介绍了数据库的一些设计思想。详细地介绍了为什么采用MySQL数据库;介绍了系统中所需要的数据库,并且详细地阐述了MySQL的特点。
JSP+MySQL网上教学系统的设计与实现 第1章 系统设计1.1 系统需求分析网上教学系统的主要用户有:教师(主要是非计算机专业类教师)、学生和系统管理员。系统设计的主要目标是:教师可以根据自己的需要简捷、快速的生成具备课件展示、公告发布、多人讨论等功能的个人化的教学站点;学生可以登录某教师的教学站点,方便地进行自主学习或参与多人讨论等;管理员通过管理和维护教学系统,达到保证其稳定运行的目的。
1.1.1 功能需求随着网络化的发展,逐渐涌现了各种网上办公系统,例如报批﹑项目管理﹑网上申报等。网络化办公大大提高了工作效率,为日常各种办公提供了便利。网上教学近几年也逐渐兴盛起来,是未来教育发展的一种趋势,网上教学能为教师的“教”和学生的“学”提供更广阔的灵活空间,能打破地域﹑资源和时间的限制,让学生真正为自己的学习做主。本系统设计与实现充分满足了教师和学生的需求,可以说达到了双赢的目的。
1.1.2 可行性分析 随着计算机技术的不断提高,尤其是Java的产生,使教师与学生建立一个交流的平台已经不是件难事。Sun公司推出的Java语言,让程序设计变得简单,随着MVC模式的诞生,使开发的时间大大缩短,系统的性能也有很大的提高,对于开发这样的网上教学系统变的很容易。虽然开发一个网站需要一定的资金投入,但是也增强了教师与学生之间的互动。使教育教学不受时间、空间、微观、宏观的限制,向学生提供当时当地无法看见和看清的事物、现象和过程,或者无法听到和听清的各种音响,将所讲的对象化小为大、化远为近、化静为动、化快为慢、化繁为简,从而使教学内容变得直观具体、生动形象、声形色并茂,扩大教学的功能,激发学生学习的兴趣,同时也提高了教学速度,节省了教学时间,减轻了学生负担,最终得到了提高教学质量和效率的目的。所以开发一个该系统是可行的。
1.2 系统设计思想1.2.1 设计思想页面模块化。本系统在界面设计上都采用了模块化处理思想,把很多页面共有部分集成一个模块,例如页面的头,尾和导航条,这样在开发时遇到这些相似的页面部分,就不需要重新编写。
框架结构。为了用户操作上的方便,我们使用了框架结构,把用户能操作的功能全部放在左框架。而具体功能页面在右框架展开。
人性化设计。导航明晰,不管用户位于本系统的哪个角落,都不会迷路。
1.2.2 系统功能图
若图片无法显示请联系QQ3710167,JSP+MySQL网上教学系统免费,转发请注明源于www.lwfree.cn图4-1 系统功能图
1.3 数据库设计1.3.1 数据库需求分析用户分为教师、学生和管理员。
教师可以发布公告;学生可以浏览、查看公告,却不能发布公告。
经过系统功能分析和需求总结,考虑到将来功能上的扩展,设计如下数据项和数据结构。
用户,包括数据项:用户id、用户名、密码、用户类型(教师、学生、管理员)等。
公告,包括数据项:公告标题、公告内容。
教学资源,包括数据项:资源名称、资源类型等。
交流平台,包括数据项:问题标题、问题内容。
1.3.2 数据库概念结构设计等到上面的数据项和数据结构后以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。这些事体包含各种具体信息,通过相互之间的作用形成数据的流动。
本实例根据上面的设计规划出的实体有:用户信息实体、公告实体、教学资源实体、交流平台实体。
用户信息实体的E-R图如图4-2所示:
图4-2 用户信息实体的E-R图
公告实体的E-R图如图4-3所示:
图4-3 公告实体的E-R图
教学资源实体的E-R图如图4-4所示:
图4-4 教学资源实体的E-R图
交流平台实体的E-R图如图4-5所示:
图4-5 交流平台实体的E-R图
1.3.3 数据库逻辑结构设计数据库概念结构设计完后,现在可以将数据库概念结构转化为某种数据库系统所支持的实际数据模型,也就是数据库逻辑结构。
网上教学系统数据库中各个表的设计结果如下面的表格所示。每个表格表示在数据库中的一个表。
用户信息表如表4-1所示,用来记录教师、学生和管理员用户信息。
JSP+MySQL网上教学系统的设计与实现 表4-1 用户信息表
字段 类型 默认值 备注 id int — 主键,递增 account char — 用户帐号 password varchar — 用户密码 type int — 用户类型 1-学生
2-教师 3-管理员 nae char — 用户姓名 sex char — 用户性别 college varchar — 用户所在院系
课程公告表如表4-2所示,记录教师发布的课程公告。
表4-2 课程公告表
字段 类型 默认值 备注 id int — 主键,自增 title varchar — 公告标题 detail varchar — 公告内容 course_id varchar — 课程编号
交流平台表如表4-3所示,记录学生提问,回答的信息。
表4-3 交流平台表
字段 类型 默认值 备注 id int — 主键,自增 title varchar — 问题标题 question varchar — 问题内容
信息滚动显示表如表4-4所示,显示相关发布信息。
表4-4 信心滚动显示表
字段 类型 默认值 备注 id int — 主键,自增 title varchar — 显示标题 detail varchar — 显示内容
1.1.1 数据库的生成与配置经过前面的需求分析和概念结构设计以后,得到数据库的逻辑结构。现在就可以在数据库中创建数据表了。
1.2 本章小结本章从总体对系统进行了概要设计,对系统的整个流程进行剖析;对系统的功能模块有了大致的了解;对数据库连接、操作与显示进行了详细的介绍;给出了数据库中数据字典的清晰说明,从而可以对系统中的数据库的操作有一个基本的认识;介绍了各个数据库表的功能,从而可以了解每个表是做什么的;并介绍了本系统的系统角色,有助于对于本软件的操作有一个更清晰的脉络。
第1章 系统详细设计及实现1.1 功能模块设计本系统的结构主要有如下一些功能模块:用户登录模块、教师操作模块、学生操作模块、管理员操作模块。
1.1.1 用户登录模块用户在首页输入用户名和密码、对于用户的身份不同,登录后的相关权限也不相同。选择自己的身份后,点击“确定”按钮,通过验证,用户名和密码正确,可以进入到各自的页面,使用系统的功能。登录页面如图5-1所示:
若图片无法显示请联系QQ3710167,JSP+MySQL网上教学系统免费,转发请注明源于www.lwfree.cn图5-1 登录页面
1.1.2 教师操作模块教师通过教师身份登录教师操作系统实现教师页面的功能。教师操作页面如图5-2所示:
图5-2教师操作页面
在此图中,教师操作界面共包括四大模块、七个小模块。
1.1.2.1 个人信息模块此模块下包括个人资料模块,当用户选择自己的身份并登录成功进入到自己的页面时,系统通过与数据库连接,调用数据表里的信息,并显示出自己的相关信息。
1.1.2.2 网上教学模块此模块下包括公告管理模块,此操作只有教师操作界面可以实现。教师可以通过该页面适时的发布课程信息、公告。并可以对其进行浏览、删除功能。公告管理模块的预览效果图如图5-3所示:
1.1.2.3 在线资源管理模块此模块下包括WORD管理模块、PPT管理模块和下载资源管理模块。此操作也只有教师操作界面可以实现。在WORD模块和PPT模块,教师可以上传WORD文档和PPT文档。在下载资源管理模块中,教师可以上传可供学生下载的教学资源,也能删除已经发布的教学资源,下载资源管理模块的预览效果图如图5-4所示:
图5-3公告管理界面
图5-4下载资源管理界面
1.1.2.4 其它模块此模块下包括交流平台模块和退出模块。交流平台提供了老师与学生之间一个交流的机会。师生间、学习者间以电子公告板的形式相互交流和协作。这种模式的特点可以24小时进行,学习者可根据自己的实际情况,随时在网上下载学习的内容或向教师请教,从问题的不同时间、角度来学习,这正是建构主义提倡的随机访问学习方法。有助于学习者掌握相关领域知识,充分体现学生学习的自主性。使用退出模块则退出系统,显示用户登录界面。
1.1.3 学生操作模块学生通过学生身份登录学生操作系统实现学生页面的功能。学生操作页面如图5-5所示:
JSP+MySQL网上教学系统Eclipse 1.1.1.1 个人信息模块此模块下包括个人资料模块,当用户选择自己的身份并登录成功进入到自己的页面时,系统通过与数据库连接,调用数据表里的信息,并显示出自己的相关信息。个人资料模块的预览效果图如图5-6所示。
若图片无法显示请联系QQ3710167,JSP+MySQL网上教学系统免费,转发请注明源于www.lwfree.cn图5-6 个人资料界面
1.1.1.2 网上教学模块此模块下包括课程公告模块,学生通过该模块浏览、查看老师发布的课程信息和公告,却不能对其进行修改、删除等功能的操作。
1.1.1.3 在线资源浏览模块此模块下包括WORD、PPT和下载资源模块。学生可以通过此模块下载老师所上传的文档。
1.1.1.4 其它模块此模块下包括交流平台模块和退出模块。交流平台提供了老师与学生之间一个交流的机会。师生间、学习者间以电子公告板的形式相互交流和协作。这种模式的特点可以24小时进行,学习者可根据自己的实际情况,随时在网上下载学习的内容或向教师请教,从问题的不同时间、角度来学习,这正是建构主义提倡的随机访问学习方法。有助于学习者掌握相关领域知识,充分体现学生学习的自主性。学生交流平台模块的预览效果图如图5-7所示。
1.1.2 管理员操作模块管理员通过管理员身份登录管理员操作系统实现管理员页面的功能。管理员操作页面如图5-8所示:
图5-7学生交流平台界面
图5-8管理员操作页面
1.1.2.1 用户管理模块此模块下包括查看用户信息模块和添加新用户模块。查看用户信息功能可以使管理员随时的查看教师与学生的个人信息。方便管理员的管理。
添加新用户功能使管理员随时的添加老师与学生,以及其相关信息。点击“查看新用户”出现的界面如图5-9所示。
点击“添加老师”出现的界面如图5-10所示。
图5-9 添加新用户界面
图5-10 添加老师界面
点击“添加学生”出现的界面如图5-11所示:
图5-11 添加学生界面
1.1.2.2 平台管理模块此模块下包括查看平台信息模块。管理员通过该模块来管理平台信息。管理员也可以回答学生提出的问题。当问题已解答或过多时,管理员对其进行删除、维护等操作。
1.1.2.3 其它模块此模块下包括退出模块。使用退出模块则退出系统,显示用户登录界面。
1.2 系统测试单纯完成代码的编写,并不是一个软件流程的结束,更加重要的工作就是测试了,所谓测试,就是为了通过各种手段找出程序中的错误即bug,测试的目的就是为了找到错误,进行记录,以便改正,完善代码。
1.2.1 测试手段软件测试的两个手段:验证和确认。
1. 验证
JSP+MySQL网上教学系统的设计与实现
在软件生存期各个阶段,验证是指检测各个阶段结束时的工作产品满足对上一阶段的结束后的工作产品所定义的规格的验证过程。
2. 确认
在软件生存周期各个阶段,确认是指检测各个阶段时的工作产品是否满足在软件生存周期初期在系统需求文档中描述的各项软件规格的确认过程。
3. 验证和确认的比较
验证是测试每一阶段形成的产品是否与前一阶段定义的规格相一致。确认是检测每一阶段的工作产品是否与最初定义的软件需求规格相一致。 软件格式既可用于验证,又可用于确认。 测试的确认工作不光局限于专职测试人员。
1.1.1 测试目标1. 以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷。如果我们成功地实施了测试,我们就能够尽可能多的发现软件中的错误。
2. 测试的附带收获是,它能够证明软件的功能和性能与需求说明是否相符合。
3. 实施测试收集到的测试结果数据为可靠性分析提供了依据。
4. 测试不能表明软件中不存在错误,它只能说明软件中存在错误。
1.1.2 测试原则1. Good-enough原则:这是一种权衡投入/产出比的原则,测试既不要不充分,也不要过分。不充分和过分都是一种不负责任的表现。Zero-bug是一种理想,Good-enough是我们的原则。
2. Pareto原则:一般情况下,在分析、设计、实验阶段的复审和测试工作能够发现和避免80%的bug,而系统的软件测试能够找出其余bug中的80%。最后约5%的bug只有在用户大范围、长时间使用后才会暴露出来。因此,测试只能保证尽可能多地发现错误,不能保证发现所有的错误。
1.1.3 测试方法测试主要有两种方法,黑盒测试和白盒测试。
1. 黑盒测试
把测试对象看作一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。检查非功能性需求,是否满足设计要求。
2. 白盒测试
把测试对象看作一个透明的盒子,它允许测试人员利用程序内部的逻辑结构及有用信息,设计或测试功能,对程序所有逻辑路径进行测试。通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。因此白盒测试又称为结构测试。
在本系统的测试中,采用了白盒测试和黑盒测试相结合的方法。首先,根据详细设计的要求检查画面各项是否完整,是否包含全部功能,页面跳转,页面风格是否符合详细设计的要求。
之后,编写模拟数据,对各项功能逐一实现。这里首先看是否能真实,有效,完整地显示出数据库中的数据,其次,当数据完整有效的填写之后,能否在数据库中做正确的改动;在数据填写有误的情况下,测试数据校验是否正常。第三,系统是否能有效实现各自功能。
在测试过程中,最重要的是要保证各项功能的正确实现,要对可能出现的每个异常做相应处理,不能存在系统无法处理的异常。
1.2 本章小结主要对网上教学系统进行了详细的介绍。在功能模块设计中,对本系统的所有的功能进行了详细的介绍;最后给出了系统测试,使系统更加完善。
结 论本文对网上教学系统的设计与实现作了研究与阐述。并对用户登录、个人信息、文件上传下载、交流平台、添加新用户等模块进行了详细设计。完成了用户登录模块、教师操作模块、学生操作模块、管理员操作模块四个主要的功能模块的设计。通过整个系统的开发过程及实际运行情况,认识到了网上教学系统的优越性,具有很大的发展潜力和发展空间。
总结起来,本论文的主要工作和特点是:
1. 对系统软件的设计
本系统采用了Sun公司推出的动态网页技术标准JSP。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet是JSP技术的基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用、完全面向对象、具有平台无关性且安全可靠、主要面向Internet的所有特点。
2. 对数据库的设计
数据库的设计在整个系统中处于一个非常重要的位置。本文应用微软公司开发的MySQL数据库。设计整个系统所需要的数据库,主要是设计了各数据库的功能、结构以及相互间的关系;并设计了友好的操作界面,方便了工作人员的操作。
通过这次毕业设计使我懂得了只有不断学习新的技术,借鉴前人研究的成果,才能积累更加丰富的知识和经验,提高研究问题、分析问题的能力,把握这一领域的最新动态,使之在社会发展中发挥越来越重要的作用。
同时,通过本次毕业设计,不仅提高了我的学习兴趣与积极性,还拓宽了我的知识面,更重要的是大大提高了我的动手能力,使我树立起了认真严谨的科学态度,这些都将对我以后的学习和工作给予巨大帮助。
JSP+MySQL网上教学系统Eclipse
致 谢首先,衷心感谢我的导师姜畅老师,在工作非常繁忙的情况下,姜畅老师始终在整个系统的设计、调试以及本论文的写作过程中都给予了大量耐心细致的指导。姜老师深厚宽广的专业知识、严谨的治学态度、诲人不倦的工作作风给我留下了深刻的印象,并使我受益匪浅。在此,谨向姜老师表示衷心的感谢与敬意。
感谢教育过我的全体老师,感谢他们几年来对我的培养和教育。同时,在此对所有给予我关心、支持和帮助的各位老师、同学和朋友表示衷心的感谢。
参考文献
1 陈琦,刘儒德.信息技术教育应用.人民邮电出版出,1997:111-115
2 杨海平,黄会民.软件开发需求工程研究.信阳农业高等专科学校学报, 2005,15(1):44-45
3 向学哲.JSP程序设计教程.人民邮电出版社,2007:4-7
4 肖金秀.ASP网络编程技术.清华大学出版社,2001:56-70
5 刘大玮.数据库项目案例导航.清华大学出版社,2005:276~333
6 Vikram Vaswani.MySQL完全手册.电子工业出版社,2006:2~4
7 R.Agrawal,M.Garey,M.Livng.Concurrency Control Performance Modeling: Alternatives and Implications. ACM Transaction on Database System,1987,12(4):109-112
8 王国辉,牛强,李南南.ASP工程应用与项目实践.北京:机械工业出版社,2005年4月:175~204
9 A.Thomasian.Distributed Optimistic Concurrency Control Methods for High Performance Transaction Processing.IEEE Transaction on Knowledge and Data Engineering,1998,10(1):32-42
10 K.Ramamritham.Real-time Datebases.Journal of Distributed and Parallel Datebases,1993,5(2):35-45
11 廖兴祥.数据库技术及其在商界的应用.科学出版社,1995:62~67
12 Paulraj Ponniah.数据库设计与开发教程.韩宏志.清华大学出版社,2004:55~68
13 Eric J.Naiburg,Robert A.Maksimchuk.UML 数据库设计应用.陈立军,郭旭.人民邮电出版社,2004:50~60
14 张海藩.软件工程导论.清华大学出版社,1998:15-18
15 史济民,顾春华,李昌武,苑荣.软件工程—原理、方法与应用.高等教育出版社,2002:188-237
JSP+MySQL网上教学系统的设计与实现
附 录附录A 英文原文JSP technology -- friend or foe?A bit of history
Before diving into an explanation of presentation technology, it's helpful to fill in some details on the situation that led to the birth of the technology. Just 10 short years ago, the term thin client was a novelty. We still lived in a world of desktop applications, powered by wimpy 286 microprocessors with 14-inch monitors that we squinted at. Boy, have times changed! Now my desktop does nothing but power a Web browser, while servers from Sun, IBM, HP, Compaq, and the rest churn out computations, business logic, and content. And that little monitor? Replaced by flat-screen, plasma, whopping 21- and 25-inch beauties. Why? So we can see the intricate and complex HTML displays that serve as a front-end to these powerful applications. No suffice; now we expect flashy graphics, moving images, color-coordinated presentations that would look good in any room in the house, and speedy rendering to boot.
The premise
Today, a decade beyond those fledgling Windows applications, we are still dealing with this huge shift in the presentation paradigm. The woeful Visual Basic and C programmers who remain now find themselves working either on back-end systems or Windows-only applications, or they have added a Web-capable language such as the Java language to their toolbox. An application that doesn't support at least three of four ML-isms -- such as HTML, XML, and WML -- is considered shabby, if not an outright failure. And, of course, that means we all care very deeply about the ability to easily develop a Web presentation layer.
As it turns out, using the new Internet, and all the languages we have at our disposal -- Java, C, Perl, Pascal, and Ada, among others -- hasn't been as easy as we might have hoped. A number of issues creep up when it comes to taking the programming languages everyone used for back-end systems and leveraging them to generate markup language suitable for a client. With the arrival of more options on the browser (DHTML and JavaScript coding, for example), the increase in graphic artist talent in the Web domain, and tools that could create complex interfaces using standard HTML, the demand for fancy user interfaces has grown faster than our ability to develop these front ends to our applications. And this has given rise to presentation technology.
Presentation technology was designed to perform a single task: convert content, namely data without display details, into presentation -- meaning the various user interfaces you see on your phone, PalmPilot, or Web browser. What are the problems that these presentation technologies claimed to solve? Let's take a look.
Work vs. rework
Besides the separation of content and presentation, another measure of a presentation technology's usefulness is the amount of rework that it eliminates. The divergence of presentation and content enforces a divergence in the roles of those developing the content. A programmer can focus on the raw content presented in the examples above, and a graphic artist or webmaster can attend to the presentation. A slight overlap of roles remains, however, in the process of taking the presentation -- or markup -- designed by the artist and applying it to the content the programmer's code delivers.
In the simplest case, the artist su into the presentation technology. The application is "started up," and the content magically becomes a user interface. Of course, as we all know, development rarely ends there. Next come revisions and changes to the interface and new business rules that must be coded. This is where the true test of the presentation technology's flexibility comes into play. While it is usually simple to update the raw content being fed into the presentation layer, rarely can the graphic artists easily edit their original work. Changes to the presentation layer are common (we've all been victim to marketing departments changing this or that). So now a problem arises: what do the designers change to tweak their work? The original markup language page they gave to the developer? Probably not, as that page has most likely had custom tags or code inserted (JSP pages, template engines), converted to a Java servlet, or changed into something totally unrecognizable.
Often the designer must rework the original page and resubmit this page to the developer. Then the developer has to reconvert this page to the specific format needed for use in the presentation technology. Alternatively, the designer has to learn a scripting language or at least know that which areas of the page's source code from the developer are off limits. Of course, this is an error-prone, dangerous way to operate. Once you've determined that a presentation technology allows a clean split between content and presentation, you should try to ensure that a minimum amount of rework is necessary in order to make presentation changes.
The promise of JSP technology
Now, on to the specifics of JSP coding. The promise of JSP technology is to supply the designer and developer the only presentation technology they will ever need. JSP technology is part of the J2EE platform, which is the strongest show of support Sun can give one of its Java products. To a search on 'JSP' at amazon.com; you'll find more books devoted to JSP technology than about almost any other single Java API. Before I dive into the specific problems that JSP technology presents, you need a clear understanding of what it claims to do.
Content vs. presentation
Above all, JSP technology is about separating content from presentation, foremost in Sun's published set of goals for JSP pages. In fact, JSP design stemmed directly from the complaints of developers who were tired of typing out.println("
" + pageInfo.getTitle() + ""); into their servlet code. This mixing of hard-coded content with runtime variables presented a horrible burden on servlet developers. It also made making even minor changes to the presentation layer difficult for the developer.
JSP technology addresses this situation by allowing normal HTML pages (and later, WML or other markup language pages) to be compiled at runtime into a Java servlet, essentially mimicking the out.println() paradigm, without requiring the developer to write this code. And it allows you to insert variables into the page that are not interpreted until runtime.
Code vs. markup
Second on the JSP technology's list of features is something that might raise a bit of concern. JSP coding lets you insert Java code directly into a page of markup. To understand why this decision was made, recall that when the JSP specification was being developed, Sun's competition from Microsoft was at an all-time high, primarily due to the success of Microsoft Active Server Pages (ASP). The similarity of the name JavaServer Pages to Active Server Pages was not merely coincidental. And the ability to mimic many of ASP's features was also 需要完整内容的请联系QQ3710167,本文免费,转发请注明源于www.lwfree.cn
and developer. The designer creates markup, using only standard HTML, WML, or whatever language is appropriate, and the developer writes code. Of course, many designers today have learned JavaScript, so it should come as no surprise that many of these same designers have begun to learn JSP coding. Often, instead of just doing pure markup, they encode a complete JSP page and hand it over to the developer. Then the usual tweaking takes place, and the developer puts the JSP page into place as a front-end for some portion of the overall application. The key, though, is that many designers do not learn JSP coding, so it must also be workable in that environment.
HTML vs. XML
One of the most significant disadvantages of JSP technology, and one of the most overlooked, is its incompatibility with XML. More precisely, and particularly in the HTML realm, JSP pages are not required to be XHTML-compatible. XHTML is a World Wide Web Consortium (W3C) specification that is now replacing HTML 4.0. XHTML defines the HTML tagset in terms of a well-formed XML document. For example, the
tag must be converted to
JSP+MySQL网上教学系统Eclipse
to ensure XML compliance. (If this doesn't make much sense, you can check out the XML specification and the developerWorks article about XHTML, listed in Resources.) Similar rules are applied to image tags, and in XHTML 1.1 (recently coming of age) most font properties and other styling move into CSS stylesheets. Still, most standard HTML documents convert easily to XHTML 1.0, which means they can be read directly with any XML-compliant parser, such as Apache Xerces, and manipulated as XML.
"What's the big deal?" you ask. The big deal is that XML quickly is becoming the global standard for inter- and intra-application communication. Passing data around in an XML format lets any other application that employs basic XML data-handling facilities use your application's data easily. Imagine being able to communicate with credit card companies for e-commerce simply by moving your data into an XML format! Many times, your presentation of data needs to be exchanged with other companies as well. The most common case is the portal application, which receives content from a variety of providers (weather, stock quotes, and news, for example), often with branding from the provider. JSP pages, however, with their mix of code and custom tag libraries, cannot function well in this environment.
JSP pages are rarely well-formed XML documents, never mind conforming to XHTML, a markup language that doesn't allow the various JSP custom tag libraries. More important, though, is that the code snippets inserted in JSP pages are not any form of markup and will create loads of parser errors once they are processed by another application.
Before you go quoting me on this, let's get the whole story out there. If the application were to allow the JSP page to be evaluated by the original client, the result would be pure HTML (or WML, VoXML, and so on). Most applications that request this data, however, employ some form of caching, as network round-trips are very expensive. In these cases, the cached page returns stale data. In those cases, then, you'd probably prefer to return pure XML-compliant results, preferably in a static form. And it is in those cases that JSP technology cannot help; JSP pages must always be evaluated at runtime to remove the JSP code scriptlets and tag libraries.
Apply the litmus test: Can some other presentation technology do this? The answer is yes. The decided leader in this arena is the Apache Cocoon project, which is based entirely on XML and an application of XSLT stylesheets (which can be applied either at runtime or statically). Because XML Server Pages (called XSP in the Cocoon framework) are actually XML documents, they are always XML-conformant. Other technologies like Tea and Enhydra XMLC that allow the input of a pure markup language page also allow this, although they do not mandate it. In these cases, the user can use XHTML or standard HTML. Still, this is better than the JSP case, where well-formed XML cannot be accomplished statically.
JSP+MySQL网上教学系统Eclipse
JSP 技术 -- 是友还是敌? 历史点滴
在深入解释表示技术之前,介绍一些导致此技术产生的详细背景资料很有帮助。仅仅在10年前, 瘦客户机还是一个很新的术语。那时我们还生活在台式机应用程序的世界中,使用低级的286 微处理器,眯着眼睛看 14英寸的显示器。但是现在时代不同了,朋友!现在,我的台式机除了运行Web 浏览器之外什么也不干。我们使用 Sun、IBM、HP、Compaq和其他公司的服务器来运行计算、业务逻辑和内容。那个小显示器呢?它已被又大又漂亮的21 英寸和 25英寸等离子体平面显示器所取代。为什么呢?因为这样我们就可以观看错综复杂的HTML 显示,而这些 HTML显示是强大的应用程序的前端。单调沉闷的界面已不能满足要求;现在,我们希望看到华丽的图形、移动的图像、色彩协调的表示,不管哪个房间看上去都那么漂亮,并且能够快速显示出来。
前提
十年后的今天,作为雏形的 Windows应用程序已经成为历史,我们仍面临着表示方法上的巨大转变。悲惨的Visual Basic 和 C 程序员发现,他们现在只能编写后端系统或仅用于Windows 的应用程序,或者已在自己的工具箱中添加了能提供 Web功能的语言,例如 Java 语言。不支持四分之三以上 ML 语言(如HTML、XML 和WML)的应用程序即使不被认为是完全失败的,也会被认为是很低劣的。当然,这说明我们都很注重很容易地开发Web 表示层的能力。
结果是,使用新的因特网,以及我们熟悉的所有语言(Java、C、Perl、Pascal、Ada以及其他语言)都不像我们所希望的那么容易。当将每个人都使用的编程语言用于后端程序并生成适用于客户机的标记语言时,会出现一大量的问题。随着浏览器提供更多的选项(例如DHTML 和 JavaScript 编码)、Web领域图形艺术人才的增加、以及能够使用标准 HTML生成复杂界面的工具的出现,对别具一格的用户界面的需求比我们开发这些应用程序前端的能力增长得还要快。这就导致了表示技术的兴起。
表示技术设计用来执行一项任务:将内容(即不带显示详细信息的数据)转换为表示-- 即您在电话、掌上电脑或 Web浏览器中看到的各种用户界面。这些表示技术声称能够解决哪些问题?让我们来看一下。
编写与修改
除了将内容和表示分离开来以外,衡量表示技术是否有用的另外一个因素则是它所免除的修改工作量。表示和内容的分离加大了内容开发人员的角色差别。程序员可将注意力集中在前面示例中的原始内容上,图形艺术家或网站管理员则可将精力放在表示上。但是,在把艺术家设计的表示或标记取出并加入到程序员编制的内容中时,还会出现一些角色交迭
在最简单的情况下,艺术家提供标记,开发人员提供代码并将标记插入表示技术中。然后,应用程序“启动”,内容会魔术般地变成一个用户界面。当然,我们都知道,开发工作通常不会仅止于此。下一步是修订和更改界面,并编制新的业务规则,这正是检验表示技术灵活性的地方。虽然更新输入到表示层中的原始数据通常并不难,但是图形艺术家就很难对他们的原始作品进行编辑。对表示层的更改是很常见的(我们都饱受过市场部门改这改那之苦)。所以,现在出现了这样一个问题:设计人员应该从何处入手来更改他们的工作?是修改他们交给开发人员的原始标记语言页吗?可能不是。因为最可能的是,此页很可能已插入定制标记或代码(JSP页、模板引擎)、转化为 Java servlet、或者已变得面目全非了。
通常,设计人员必须在原始页上进行修改,并再次把此页交给开发人员。开发人员必须把此页再次转化为表示技术所使用的特定格式。否则,设计人员就必须学会一种脚本语言,或至少懂得此页中的哪些源代码区域是禁止入内的。当然,这是一种容易出错的、非常危险的方法。一旦您确定下来以一种表示技术支持内容和表示之间的明确分离,您就应确保改变表示所需的修改工作量限定在最小。
JSP 技术的承诺
现在,我们来讨论 JSP 编码的具体内容。JSP技术承诺为设计人员和开发人员提供他们所需的最合适的表示技术。JSP技术是 J2EE 平台的一部分,显示了 Sun 公司所能给予 Java产品的最强大支持。为了使您对此解决方案的流行程度有一个概念,您可以试着在amazon.com 上搜索一下“JSP”,您会发现,论述 JSP的书籍比论述其他任何一种 Java API 的书籍都要多。在我深入讨论 JSP技术存在的特定问题之前,您需要对它承诺的功能有一个清楚的了解。
内容与表示
首先,JSP 技术是用来分离内容和表示的,这一点最早出现在 Sun 对于 JSP公布的一系列目标中。实际上,JSP的设计直接针对开发人员的抱怨,这些开发人员对于在 servlet代码中反复键入 out.println("
" +pageInfo.getTitle() + "") 感到厌烦。这种硬编码内容和运行时变量的混合对 servlet开发人员造成了巨大的负担,也使开发人员在对表示层进行即便是最小的改动时也困难重重。
JSP 技术通过支持普通 HTML 页(以及稍后的 WML或其他标记语言页)在运行时编译为 Javaservlet,改变了这种情况。它实际上是模仿 out.println() 语句,而无须开发人员编写代码。同时还允许在页面中插入变量,直到运行时才解释这些变量。
代码与标记
JSP 技术所列的第二个特性可能引起你的注意,那就是,JSP编码允许直接向标记页中插入 Java代码。为了理解作出这种决定的原因,我们回想一下制定 JSP规范时的情况。Sun 与微软的竞争一直非常激烈,主要源于微软 ActiveServer Pages (ASP)的成功。 JavaServer Pages与 ActiveServer Pages在名称上的相似并非巧合。而且模仿 ASP的多种特性似乎亦是有意的。所以 JSP 的作者选择了在他们的标记中加入Java 代码。
设计人员与开发人员
JSP技术值得一提的最后一个(也是值得赞赏的)目标是,它试图在应用程序开发过程中建立明确定义的角色。通过表面上将内容和表示分离开来,JSP技术在设计人员和开发人员之间划定了一条更加明显的界线。设计人员只使用标准的HTML、WML、或其他适当的语言创建标记,开发人员编写代码。当然,现在许多设计人员已经学会了JavaScript,所以不应惊奇的是,他们中的许多人也开始学习JSP 编码。很多情况下,他们不只是做纯标记,而是编写完整的 JSP页,并把它交给开发人员。进行常规的调整后,开发人员把这些 JSP页作为整体应用程序某一部分的前端放置到适当位置。但关键是,许多设计人员 不会 JSP 编码,所以在这种环境中还有工作可做。
HTML与XML
JSP 技术的一个最严重的缺陷,也是最易被忽视的一点,就是它与 XML不兼容。更准确的说,尤其是在 HTML 领域中,JSP 页不需要兼容
JSP+MySQL网上教学系统Eclipse
XHTML。XHTML 是一个万维网联盟 (W3C) 规范,它现在正取代 HTML4.0。XHTML 按照一种结构完整的 XML 文档定义 HTML 标记集。例如
标记必须转换为
,以确保遵守 XML规定。(如果您觉得这一点没有阐明清楚,可以查阅 XML 规范和developerWorks 关于 XHTML 的文章,它们在列在 参考资料中。) 图像标记也有类似的规则,在XHTML 1.1 (最近诞生的) 中,大多数字体属性和其他样式转移到了 CSS样式表中。另外,大多数标准的 HTML 文档可以很容易转换为 XHTML1.0,这意味着它们很容易使用 XML 兼容的分析程序阅读,例如 ApacheXerces,并且能够以 XML 方式控制。
您会问:“最重要的是什么?”最重要的一点就是 XML迅速成为互联网和企业内部网的全球标准。对于任何使用基本 XML数据处理工具的其他应用程序,以 XML格式传送数据,它们可以很容易地使用您的应用程序的数据。试想一下,只须把数据转换为XML 格式就能与信用卡公司进行电子商务通信!很多情况下,您的数据表示也需要和其他公司交换数据。最常见的情况是门户站点应用程序,它从不同的提供者(例如天气、股票报价和新闻等)接收内容,这些内容还常常带有提供者的标志。但是,JSP页面由于混合了代码和定制标记库,所以无法在这样的环境中良好工作。
JSP 页几乎不是格式完整的 XML 文档,更不用提符合 XHTML了。因为XHTML是一种标记语言,它不允许各种 JSP定制标记库。但是更重要的是,插入到 JSP页中的代码片段不是任何形式的标记,而且一旦用另一个应用程序处理它们,就会产生分析程序错误的负担。
在您对我进行评论之前,让我讲完整个故事。如果应用程序允许原始客户机计算JSP 页的值,其结果会是纯 HTML (或 WML、VoXML等)。但是,大多数请求数据的应用程序使用某些形式的缓存,因为网络上的往返是很昂贵的。在这些情况下,缓存的页面返回陈旧的数据。在这种情况下,您可能更希望返回完全符合纯XML 的结果,最好是静态表单。但是 JSP 技术对这种情况无能为力。JSP页必须始终在运行时求值,这样才能去掉 JSP 代码 scriptlet和标记库。
检验一下:有其他表示技术能够完成这个任务吗?答案是肯定的。在此领域的绝对领先者是Apache Cocoon 项目,它完全基于 XML,是一个 XSLT样式表应用程序(即可在运行时应用,也可静态地应用)。由于 XML ServerPages(在Cocoon 框架中叫作 XSP)实际上是 XML文档,所以它们始终是符合 XML的。其他允许纯标记语言页输入的技术(例如 Tea 和 EnhydraXMLC)也可以允许这一点,虽然它们不强制这样做。在这些情况下,用户可以使用XHTML 或标准 HTML。但是这样仍然比 JSP 的情况要好,因为在 JSP中无法静态实现格式完整的 XML。