1、武汉理工大学基于WEB的学生考勤管理系统摘 要 随着计算机科学的发展,各种Web技术也随之不断的发展,Internet的应用越来越广泛。在高校校园信息化过程中,有效地借助网络、数据库等技术成为提高工作和管理效率的关键。如今针对师生的成绩查询系统、教务管理系统、招生就业系统、BBS、校园网站等系统在各大高校纷纷出现,对全校师生的学习、生活、管理、办公带来了便利。因此学生考勤管理系统能进一步加强高校学风建设,维护正常的教学秩序,给学生创造一个优良的学习环境。本设计基于Web的学生考勤管理系统,开发与设计将使用当前主流的编程语言Java来开发,用MySQL数据库作为底层数据的存储,在页面的实现中,将
2、使用了javascript技术,实现出一个功能相对齐全、界面简洁、使用方便、用户体验度相对较高的学生考勤系统。该系统为用户提供了一个学生考勤管理平台,操作上力争实现人性化、合理化,满足学校、老师、非计算机管理人员的使用和查看。 关键词 考勤管理、Java、MySQL、javascript、jsp武汉理工大学Student attendance system based on WebAbstract With the development of computer science, a variety of Web technologies also will continue the deve
3、lopment of Internet applications more widely. In the process of campus information effectively through the network, database technology and the key to improve management efficiency. Today, teachers and students for the achievement query system, educational management system, enrollment and employmen
4、t system, BBS, campus sites and other systems have appeared in major universities, teachers and students to learn, live, management, office brings convenience. So the student attendance management system will further strengthen the construction of university study style, maintaining the normal teach
5、ing order, the students create a good learning environment.The development and design of student attendance system based on Web will use the current mainstream programming language Java to develop, use MySQL database as data storage, in the realization of the page, the use of javascript technology,
6、realizes the function of a relatively complete, the interface is simple, easy to use, user experience degree student attendance system the relatively high. The system provides a student attendance management platform for the user, Operation strive to achieve humane and reasonable, to meet the school
7、, teachers, use of non-computer management and viewing.Key words:Attendance management,Java,MySQL,JavaScript,jsp武汉理工大学 目 录摘 要IAbstractII第一章 绪论1 一、 项目背景1二、 Web的发展历史1(一) Web的起源1(二) Web技术发展阶段2三、 编写目的4第二章 系统关键技术及开发环境5一、 系统开发环境5二、 系统开发工具5(一) B/S架构5(二) Java技术7(三) Tomcat服务器技术8(四) MySQL数据库10(五) Eclipse11第三章
8、 系统分析13一、 可行性分析13(一) 引言13(二) 目的和意义13(三) 经济可行性13(四) 技术可行性13二、 需求分析14(一) 用户需求概述14(二) 系统功能划分14第四章 系统总体设计16一、 系统设计目标16二、 系统总体功能16三、 系统功能模块16四、 系统用例图18第五章 数据库设计19一、 数据库逻辑结构设计19(一) 管理员信息表19(二) 教师信息表19(三) 学生信息表20(四) 考勤信息表20二、 数据库编写20(一) 管理员信息表20(二) 教师信息表21(三) 学生信息表21(四) 考勤信息表21第六章 系统实现23一、 用户登录23二、 在线请假25三
9、、 教师审批28四、 管理员主要功能29第七章 系统测试33一、 软件测试的概念和方法33二、 采用的测试技术33结论34参考文献36致谢35外文文献37武汉理工大学第一章 绪论一、 项目背景高校校园网的迅速普及,使学生考勤管理系统能充分依托校园网,实现教务信息的集中管理、分散操作、信息共享,使传统的教务管理朝数字化、无纸化、智能化、综合化的方向发展。基于Web的学生考勤系统利用JSP技术与MySQL数据库相结合实现,具有数据输入、查询修改等功能,应用该系统可大大提高工作效率,并为进一步完善计算机教务管理系统和全校信息系统打下良好的基础。随着高校校园信息化的逐步完善,有效地借助网络、数据库等技
10、术提高工作和管理效率。如今针对师生的成绩查询系统、教务管理系统、招生就业系统、BBS、校园网站等系统在各大高校纷纷出现,对全校师生的学习、生活、管理、办公带来了便利。因此学生考勤管理系统能进一步加强高校学风建设,维护正常的教学秩序,给学生创造一个优良的学习环境。信息技术的迅猛发展,已经引起社会的深刻变革,信息时代的到来,迫切要求我们的学校管理进行变革。因此,信息化的考勤系统就在这种情况下变的越来越受欢迎,它给教师带来了更加高效处理考勤的方法,使得教学能够比较顺利的进行下去,不会再因为考勤等烦杂事务影响教学。因此一个好的学生考勤管理系统在一定程度上可以解决这些弊端,本系统主要针对目前高校学生在线
11、请假以及学生上课出勤管理而设计的信息系统。学生考勤管理系统是一个B/S系统,它的出现,改变了教师手工登记考勤信息的管理方式,管理员及教师使用计算机对学生信息进行管理,具有着手工无法比拟的优点,例如:考勤统计查询方便快捷,数据存储量大,可靠性高等,便于教师掌握学生的出勤情况。学生考勤系统以方便、快捷等优点冲击着传统的考勤方式。也正是因为这些优点,使它更符合现代社会人们快节奏、高效率的生活方式。二、 Web的发展历史(一) Web的起源 混沌初开,一切都那么简单。为了连接美国的少数几个顶尖研究机构,人们设计了最早的“Internet”,以便共同开展科学研究。不论是图书馆员、核物理 学家,还是计算机
12、科学家,都必须学习一个相当复杂的系统。1962年,麻省理工学院(MIT)的J.C.R. Licklider最早提出他的“Galactic Network”(超大网络)思想时,Firefox和IE之类的便捷工具连概念都未产生。 Licklider后来继续在美国国防高级研究计划局(DARPA)从事计算机研究,在那里他积极地宣扬网络化思想的重要性。几乎与此同时,MIT的 Leonard Kleinrock和Lawrence G. Roberts正在开展分组交换理论的研究,这是计算机联网的一个核心概念。在Thomas Merrill的帮助之下,Roberts于1965年进而创建了第一个广域网,他通过一
13、个拨号连接使马萨诸塞州的一台TX-2连上了加利福尼亚州的一台 Q-32。 1966年底,Roberts带着他的实验结果来到DARPA,在这里他构思了高级研究项目管理网络(Advanced Research Projects Administration Network,ARPANET)的计划。此时,Kleinrock正在加州大学洛杉矶分校网络测量中心(Network Measurement Center),这里被选作ARPANET的第一个节点。正是在这里,1969年BBN公司成功地安装了第一个分组交换器,称为接口消息处理器 (Interface Message Processors,IMP)。
14、斯坦福研究中心被选为第二个节点,1969年10月,在此首次实现了主机到主机的消息交换。此后不久,又将加州大学圣巴 巴拉分校和犹他大学增加为节点,这就是我们现在所称因特网的前身。 Web是World Wide Web的简称,中文称之为万维网,是用于发布、浏览、查询信息的网络信息服务系统,由许多遍布在不同地域内的Web服务器有机地组成。Web的不断完善都是基于各种Web技术的不断发展,Web的应用架构是由英国人Tim Berners-Lee在1989年提出的,而它的前身是1980年Tim Berners-Lee负责的Enquire(Enquire Within Upon Everything的简称
15、)项目。1990年11月第一个Web服务器nxoc01.cern.ch开始运行,由Tim Berners-Lee编写的图形化Web浏览器第一次出现在人们面前。1991年,CERN(European Particle Physics Laboratory)正式发布了Web技术标准。目前,与Web相关的各种技术标准都由著名的W3C组织(World Wide Web Consortium)管理和维护。(二) Web技术发展阶段互联网的发展总是让人瞠目结舌。当人们身处web1.0,讨论着博客,SNS(社会性网络)等这些web2.0概念的时候,我们不禁想问:web3.0的时代,我的世界将会怎么样?那么就
16、让我们来看看前两个互连网时代的特性吧1. Web技术发展的第一阶段静态技术阶段 本阶段的Web主要是静态的Web页面。在这个阶段,HTML语言就是Web向用户展示信息的最有效的载体。HTML的全称是超文本标注语言(Hyper Text Markup Language),它通过提供超文本格式的信息,在客户端的用户机上显示出完整的页面。Web服务器使用HTTP(Hyper Text Transport Protocol)超文本传输协议将HTML文档从Web服务器传输到用户的Web浏览器上。通过(liu2 lan3 qi4 shang4 _tong1 guo4)对各种资料的学习,我们得知,HTML的
17、构想由上世纪四五十年代就形成了。1945年,Vannevar Bush就已经提出了一种使文本与文本相互关联的问题,并给出了能够实现文件关联的计算机设计方案,其后,Doug Engelbart等人则对该种方案进行了首次实验。Ted Nelson于1960年前后正式将这种信息关联技术命名为超文本(Hypertext)技术。1969年,IBM的Charles Goldfarb发明了可用于描述超文本信息的GML(Generalized Markup Language)语言,也就是后来的SGML语言。经过不断(yu3 yan2 _jing1 guo4 bu4 duan4)的完善,到1990年,第一个We
18、b浏览器就可以使用HTML语言来实现超文本信息的展示。 在本阶段,由于受HTML语言和旧式浏览器的制约,Web页面只包含了静态的文本和图像信息,限制了资源共享,这个现象越来越不能满足人们对信息多样性和及时性的要求。而这一阶段的Web服务器基本上只是一个HTTP的服务器,它负责接收客户端浏览器的访问请求,建立连接,响应用户的请求,查找所需的静态的Web页面,再返回到客户端。2. Web技术发展的第二阶段动态技术阶段 在Web出现的同时,能存储、展现二维动画的GIF图像格式也已发展成熟,为HTML引入动态元素提供了条件。此后,为了能更好地克服静态页面的不足,人们将传统单机环境下的编程技术引入互联网
19、络与Web技术相结合,从而形成新的网络编程技术。1995年Java语言的问世给Web的发展带来更大的变革,它为人们提供了一条在浏览器中开发应用的捷径。1996年,著名的Netscape浏览器2.0版本和Microsoft的IE 3.0增加了对Java Applets和JavaScript的支持。JavaScript语音是一种脚本方式运行的,简化的Java语言。Web世界里从此出现了脚本技术。Microsoft公司于1996年为IE3.0设计出了与JavaScript相抗衡的脚本语言VBScript脚本语言。在Windows98及其后的Windows操作系统中,WSH(Windows scrip
20、t Host)技术将原本只能在浏览器中运行的JavaScript、VBScript变成了可以在WIN32环境下使用的通用脚本语言。 其实,真正让HTML页面又酷又炫、动感无限的是CSS(Cascading Style Sheets)和DHTML(Dynamic HTML)技术。1996年底,W3C组织提出了CSS的建议标准,同年,IE3.0引入了对CSS的支持。这项技术使得开发者能够在Web上更好地把握信息的的展示。1997年的Netscape 4.0在支持CSS技术的同时,又增加了愈多由他们自定义的动态HTML标记,同年,Microsoft公司发布了IE 4.0,并将动态的HTML标记、CS
21、S和动态对象模型(DHTML object Model)发展成了一套完整的客户端开发技术体系(DHTML)。该项技术无需启动Java虚拟机或其他脚本环境,在浏览器的支持下,同样可以实现HTML页面的动态展示,而且可以获得更好的效果。1996年,Netscape 2.0成功引入了对QuickTime插件的支持(cha1 jian4 de0 zhi1 chi2),从此,实现了在HTML页面下音频、视频等更为(ye4 mian4 xia4 yin1 pin2 _shi4 pin2 deng3 geng4 wei4)复杂的多媒体应用。同年,IE 3.0正式支持在HTML页面中插入ActiveX控件的功
22、能。从此,各式各样由不同公司所开发的各种插件先后在浏览器上取得了成功。我们这里所说的动态页面和静态页面是相对应的,在引入了动态技术生成的网页中,网页URL的后缀不只是.htm、.html、.shtml、.xml等静态网页的常见形式,还可以是以.asp、.jsp、.php、.perl、.cgi等形式为后缀。从网页内容的显示上看,动态网页引入了各项技术,使得网页内容更多样化,引人入胜;从网站的开发管理和维护角度看,动态网页以数据库技术为基础,更利于网站的维护,而动态网页使用了ASP对象,可以实现诸如用户注册、用户登陆、数据管理等的功能,大大提高了网络的利用率,为用户提供更多的方便。3. Web技术
23、发展的第三阶段Web2.0新时期在最近两年里,Web2.0这个名词引起了很多人的关注,那什么是Web2.0呢?其实,Web2.0并没有一个准确的定义,甚至于它并不是一个具体的事物,它只是人们对于一个阶段的描述。在这一阶段,用户可以自己主导信息的生产和传播,从而打破了原先所固有的单向传输模式。Web2.0并不是一个革命性的改变,而只是应用层面的东西,相对于传统的门户网站,它具备了更好的交互性。一般来说Web2.0(也有人称之为互联网2.0)是相对Web1.0的新的一类互联网应用的统称。Web1.0的主要特点在于用户通过浏览器获取信息,Web2.0则更注重用户的交互作用,用户既是网站内容的消费者(
24、浏览者),也是网站内容的制造者。如果说WEB1.0是以数据为核心的网,那我觉得WEB2.0是以人为出发点的互联网让,是要让所有的人都忙起来,全民织网,然后用软件,机器的力量使这些信息更容易被需要的人找到和浏览,让我们通过几个Web2.0的产品,就可以理解以上的观点!Blog博客/网志:Blog的全名应该是Weblog,后来缩写为Blog。Blog是一个易于使用的网站,您可以在其中迅速发布想法、与他人交流以及从事其他活动。所有这一切都是免费的。RSS站点摘要:RSS是站点用来和其他站点之间共享内容的一种简易方式(也叫聚合内容)的技术。最初源自浏览器“新闻频道”的技术,现在通常被用于新闻和其他按顺
25、序排列的网站,例如Blog。WIKI百科全书:Wiki-一种多人协作的写作工具。Wiki站点可以有多人(甚至任何访问者)维护,每个人都可以发表自己的意见,或者对共同的主题进行扩展或者探讨。Podcasting:个人视频/声频的发布/定阅。SNS社会网络:SocialNetworkSofwaret,社会性网络软件,依据六度理论,以认识朋友的朋友为基础,扩展自己的人脉。P2P对等联网:P2P是peer-to-peer的缩写,peer在英语里有“(地位、能力等)同等者”、“同事”和“伙伴”等意义。这样一来,P2P也就可以理解为“伙伴对伙伴”、“点对点”的意思,或称为对等联网。目前人们认为其在加强网络
26、上人的交流、文件交换、分布计算等方面大有前途。IM即时通讯:即时通讯(InstantMessenger,简称IM)软件可以说是目前我国上网用户使用率最高的软件。聊天一直是网民们上网的主要活动之一,网上聊天的主要工具已经从初期的聊天室、论坛变为以MSN、QQ为代表的即时通讯软件。三、 编写目的 系统对学校全体学生的资料和考勤情况进行管理,通过每日的打卡把出勤信息输入到学校的考勤管理中心,保存学生每日的的出勤情况,以便于统计学生的出勤情况。同时方便班长查阅,即节省了人力,又省去了中间的很多容易出错的步骤。让学校学生的考勤管理更具有透明性,且方便管理。 此外系统还涉及系统数据安全和用户管理的问题、各
27、种代码使用和维护问题、数据安全和数据维护问题、统计报表生成和输出等问题,因此还要求系统具有系统管理和事务处理功能。总而言之,要求通过系统的开发,达到系统项目的总体目标是:在整个系统的框架下,结合学生在学校的实际出勤情况的需要实现对数据更新、数据查询、数据统计、数据分析等功能进行有效的管理。并提供用户友好接口,满足学校管理需求的软件,提高学校对学生的管理效率,从而完善学校的管理制度。 学生考勤管理程序是学校管理工作中一个比较重要的任务,过多的学生考勤管理程序工作给学校管理人员带来了很大麻烦的。虽然原始的记录方法在一定的程度上可以解决问题,可是现在计算机已经走到了我们的生活,它的不足之处就显而易见
28、了。 学生考勤管理程序,是一个对于学生考勤的管理系统, 不仅大大减少了考勤管理人员的大量的工作,而且还方便了班级和学校对学生出课率的查询,只要通计算机登入本系统就能及时修改、更正学生的考勤信息,使信息真实、有效。这样节省了大量人力物力,节省了宝贵的时间,大大提高了工作效率.。操作上力争实现人性化、合理化,满足学校、老师、非计算机管理人员的使用和查看。第二章 系统关键技术及开发环境一、 系统开发环境系统结构:B/S(浏览器/服务器)开发语言:JAVA/JSP 数据库:MySQL开发工具:Eclipse 服务器端容器:Tomcat 6.0二、 系统开发工具(一) B/S架构学生考勤管理系统采用了当
29、前很流行的B/S模式结构。相对于以往的主机/终端、C/S机构来说,B/S结构更具有优势。 在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。而其余如数据请求、加工、结果返回以及动态网页生成、对数据库的访问和应用程序的执行等工作全部由Web Server完成。随着Windows将浏览器技术植入操作系统内部,这种结构已成为当今应用软件的首选体系结构。显然B/S结构应用程序相对于传统的C/S结构应用程序是一个非常大的进步。 B/S(Browser / Server)结构即浏览器和服务器结构。它是随着Internet技术
30、的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层(3-tier)结构。一个三层架构的应用程序由三部分组成,这三部分各自分布在网络中的不同地方。这三个部分分别是:工作站或表示层接口、事务逻辑、数据库以及与其相关的程序设计。在一个典型的三层架构应用程序中,应用程序的用户工作站包括提供图形用户界面(GUI)的程序设计和具体的应用程序入口表格或交互式窗口。事务逻辑处在局域网(LAN)服务器或其他共享主机上,它作为响应工作站所发出学生请求的服务器,而
31、相对于处于大型机的第三层它是作为学生端,并且决定需要什么数据以及数据存储在哪里。第三层包括数据库以及处理读写以及访问数据库的程序。然而应用程序的设计可能比这个架构要复杂,对于大型程序来说,这个三层模式是一种比较简便的考虑方法。这种应用程序的设计使用学生/服务器模式,各层可以同时开发,并且可以由不同的成员组用不同的语言来开发。因为各个层次的开发不会影响其他层次,所以这种模型对于进一步开发软件是很方便的。这样就大大简化了学生端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet / Intranet模式
32、下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet / Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在Java这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。这种B/S模式学生端只要安装一个标准的Web浏览器,其它应用程序都存储在Web服务器上。建立在B/S模式上的在线考试系统,可建立大型、高效、共享的题库,在服务器端对数据库进行管理,学生端通过浏览器登录考试系统,打破了时空界限,可实现自动出卷、阅卷、评卷
33、、简化考试程序,且考试结果更加公正、客观。采用B/S(Browser / Server)模式的计算机在线考试和管理系统适用于一个考场或几十个考场、几十人甚至几万人同时通过网络在线考试,解决了考试系统对学生机软件过分依赖的问题,减轻了学生机软件维护工作量,比以往的考试系统更具有实用性。采用这种结构,考试系统安装和试题装卸的程序简易;进行不同类别试题的考试时仅需要在服务器上进行试题的更换处理,对考场的计算机配置应考专业的相应软件,考生就可以进行考试。此技术超越了传统的“学生机/服务器”两层结构,采用了三层体系结构:用户界面层/事务层/数据库层。因此Web结构有着更好的安全性。在用户机上不需要安装任
34、何应用程序,应用程序可以安装在事务层所在的计算机上,试题存放在数据库服务器上(事务层和数据库可以是同一台机器)。 采用B/S结构软件的优势在于:(1)维护和升级方式简单。当前,软件系统的改进和升级越发频繁,B/S架构的产品明显体现着更为方便的特性。对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升
35、级和共享。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。(2)成本降低,选择更多。大家都知道windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上windows并不是处于绝对的统治地位。 当前的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用哪种操作系统都可以让大部分人使用windows作为桌
36、面电脑操作系统不受影响,这就使得最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。比如说很多人每天上“新浪”网,只要安装了浏览器就可以了,并不需要了解“新浪”的服务器用的是什么操作系统,而事实上大部分网站确实没有使用windows操作系统,但用户的电脑本身安装的大部分是windows操作系统。(3)应用服务器运行数据负荷较重。由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser
37、)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。(二) Java技术 在丰富的开发语言种类中,Java是一个非常理想的选择。 Java分为三个体系JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版),JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java平台企业版),JavaME(J2ME)(Java 2 Platform Micro Edition
38、,java平台微型版)。 Java与传统程序不同,Sun Microsystems公司在推出 Java 之际就将其作为一种开放的技术。使得全球的Java公司在开发的关于Java程序都要做到了互相兼容。“Java 语言开发要靠大家努力而非个人、企业的力量”是Sun Microsystems的口号之一,并且得到了大多数软件开发公司的认可。这种模式和微软公司所提倡的注重精英的模式和密封式的模式完全不同。 Sun Microsystems公司对Java编程语言的官方诠释是:Java 编程语言是个简单、面向对象、健壮、解释性、分布式、安全与系统无关、高性能、可移植、多线程和动态的语言。 Java编程语言
39、的风格非常的接近C语言、C+语言。Java语言的设计核心是面向对象的编程语言,它继承了C+语言面向对象技术的核心。 Java的进步是其没有像C语言那样,容易由于指针引起错误、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5之后的版本中,Java 又引入了类型安全的枚举、泛型编程(Generic Programming)、自动装/拆箱和不等长参数等等语言特性。 Java语言是易学的。Java语言的语法与C语言和C+语言很接近,使得大多数程序员很容
40、易学习和使用Java。另一方面,Java丢弃了C+中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,而是引用。并提供了自动的废料收集,使得程序员不必为内存管理而担忧。 Java语言是强制面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C+语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。 Java语言是分布式的。Java语言支持Internet
41、应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。 Java语言是健壮的。Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。 Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Ja
42、va对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。 Java语言是体系结构中立的。Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。Java语言是可移植的。这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编
43、译器是用Java实现的,Java的运行环境是用ANSI C实现的。 Java语言是解释型的。如前所述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。Java是性能略高的。与那些解释型的高级脚本语言相比,Java的性能还是较优的。 Java语言是原生支持多线程的。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread(Runnable)的构造子将一个实
44、现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。 Java语言是动态的。Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻
45、的表示,能进行运行时刻的类型检查。 Java语言的优良特性使得Java应用具有无比的健壮性和可靠性, 这也减少了应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。Java的编译一次,到处 可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(Java Enterprise APIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。 Java的优势:此开发语言非常适合集体开发,软件工程可以相对做到一定的标准化。由于其本身的极度严格语法的特点,因此Java语言无法写出结
46、构杂乱无章的程序。这样将迫使程序员的软件代码、软件结构的一致性、规范性。这是其很难比拟的优势。 Java的劣势:j2ee的架构相对完善,第一版软件虽然可以做满意,但是很不适合互联网模式的持续不断修改。互联网软件工程管理上的不好的地方,不断的修补就会导致软件框架的破坏。(三) Tomcat服务器技术 目前支持JSP的应用服务器是较多的,Tomcat是其中较为流行的一个Web服务器,被JavaWorld杂志的编辑选为2001年度最具创新的java产品,可见其在业界的地位。Tomcat是一个免费的开源的Serlvet容器,在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的w
47、ebapp目录下,Tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。编译以后,访问将会很快。另外Tomcat也提供了一个应用:manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中。通过这个应用,辅助于Ftp,你可以在远程通过Web部署和撤销应用。当然本地也可以。 Tomcat也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,它的处理静态Html的能力就不如Apache。我们可以将Tomcat和Apache集成到一块,让Apache处
48、理静态Html,而Tomcat处理Jsp和Servlet。这种集成只需要修改一下Apache和Tomcat的配置文件即可。Tomcat是一个很好的工具,不仅仅因为其免费,功能强大,更因为其开放性,越来越收到人们的重视。Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,目前最新版本是6.0.14。目前支持JSP的应用服务器是较多的,Tomcat是其中较为流行的一个Web服务器,被JavaWorld杂志的编辑选为2001年度最具创新的Java产品,可见其在业界的地位。Tomcat是一个免费的开源的Serlvet容器,在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到