毕业论文-基于WEB的学生考勤管理系统_第1页
毕业论文-基于WEB的学生考勤管理系统_第2页
毕业论文-基于WEB的学生考勤管理系统_第3页
毕业论文-基于WEB的学生考勤管理系统_第4页
毕业论文-基于WEB的学生考勤管理系统_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

太原理工大学毕业设计(论文)用纸第一章绪论项目背景高校校园网的迅速普及,使学生考勤管理系统能充分依托校园网,实现教务信息的集中管理、分散操作、信息共享,使传统的教务管理朝数字化、无纸化、智能化、综合化的方向发展。基于Web的学生考勤系统利用JSP技术与MySQL数据库相结合实现,具有数据输入、查询修改等功能,应用该系统可大大提高工作效率,并为进一步完善计算机教务管理系统和全校信息系统打下良好的基础。随着高校校园信息化的逐步完善,有效地借助网络、数据库等技术提高工作和管理效率。如今针对师生的成绩查询系统、教务管理系统、招生就业系统、BBS、校园网站等系统在各大高校纷纷出现,对全校师生的学习、生活、管理、办公带来了便利。因此学生考勤管理系统能进一步加强高校学风建设,维护正常的教学秩序,给学生创造一个优良的学习环境。信息技术的迅猛发展,已经引起社会的深刻变革,信息时代的到来,迫切要求我们的学校管理进行变革。因此,信息化的考勤系统就在这种情况下变的越来越受欢迎,它给教师带来了更加高效处理考勤的方法,使得教学能够比较顺利的进行下去,不会再因为考勤等烦杂事务影响教学。因此一个好的学生考勤管理系统在一定程度上可以解决这些弊端,本系统主要针对目前高校学生在线请假以及学生上课出勤管理而设计的信息系统。

学生考勤管理系统是一个B/S系统,它的出现,改变了教师手工登记考勤信息的管理方式,管理员及教师使用计算机对学生信息进行管理,具有着手工无法比拟的优点,例如:考勤统计查询方便快捷,数据存储量大,可靠性高等,便于教师掌握学生的出勤情况。学生考勤系统以方便、快捷等优点冲击着传统的考勤方式。也正是因为这些优点,使它更符合现代社会人们快节奏、高效率的生活方式。Web的发展历史Web的起源混沌初开,一切都那么简单。为了连接美国的少数几个顶尖研究机构,人们设计了最早的“Internet”,以便共同开展科学研究。不论是图书馆员、核物理学家,还是计算机科学家,都必须学习一个相当复杂的系统。1962年,麻省理工学院(MIT)的J.C.R.Licklider最早提出他的“GalacticNetwork”(超大网络)思想时,Firefox和IE之类的便捷工具连概念都未产生。

Licklider后来继续在美国国防高级研究计划局(DARPA)从事计算机研究,在那里他积极地宣扬网络化思想的重要性。几乎与此同时,MIT的LeonardKleinrock和LawrenceG.Roberts正在开展分组交换理论的研究,这是计算机联网的一个核心概念。在ThomasMerrill的帮助之下,Roberts于1965年进而创建了第一个广域网,他通过一个拨号连接使马萨诸塞州的一台TX-2连上了加利福尼亚州的一台Q-32。

1966年底,Roberts带着他的实验结果来到DARPA,在这里他构思了高级研究项目管理网络(AdvancedResearchProjectsAdministrationNetwork,ARPANET)的计划。此时,Kleinrock正在加州大学洛杉矶分校网络测量中心(NetworkMeasurementCenter),这里被选作ARPANET的第一个节点。正是在这里,1969年BBN公司成功地安装了第一个分组交换器,称为接口消息处理器(InterfaceMessageProcessors,IMP)。斯坦福研究中心被选为第二个节点,1969年10月,在此首次实现了主机到主机的消息交换。此后不久,又将加州大学圣巴巴拉分校和犹他大学增加为节点,这就是我们现在所称因特网的前身。Web是WorldWideWeb的简称,中文称之为万维网,是用于发布、浏览、查询信息的网络信息服务系统,由许多遍布在不同地域内的Web服务器有机地组成。Web的不断完善都是基于各种Web技术的不断发展,Web的应用架构是由英国人TimBerners-Lee在1989年提出的,而它的前身是1980年TimBerners-Lee负责的Enquire(EnquireWithinUponEverything的简称)项目。1990年11月第一个Web服务器nxoc01.cern.ch开始运行,由TimBerners-Lee编写的图形化Web浏览器第一次出现在人们面前。1991年,CERN(EuropeanParticlePhysicsLaboratory)正式发布了Web技术标准。目前,与Web相关的各种技术标准都由著名的W3C组织(WorldWideWebConsortium)管理和维护。Web技术发展阶段互联网的发展总是让人瞠目结舌。当人们身处web1.0,讨论着博客,SNS(社会性网络)等这些web2.0概念的时候,我们不禁想问:web3.0的时代,我的世界将会怎么样?那么就让我们来看看前两个互连网时代的特性吧Web技术发展的第一阶段——静态技术阶段本阶段的Web主要是静态的Web页面。在这个阶段,HTML语言就是Web向用户展示信息的最有效的载体。HTML的全称是超文本标注语言(HyperTextMarkupLanguage),它通过提供超文本格式的信息,在客户端的用户机上显示出完整的页面。Web服务器使用HTTP(HyperTextTransportProtocol)超文本传输协议将HTML文档从Web服务器传输到用户的Web浏览器上。通过(liu2lan3qi4shang4_tong1guo4)对各种资料的学习,我们得知,HTML的构想由上世纪四五十年代就形成了。1945年,VannevarBush就已经提出了一种使文本与文本相互关联的问题,并给出了能够实现文件关联的计算机设计方案,其后,DougEngelbart等人则对该种方案进行了首次实验。TedNelson于1960年前后正式将这种信息关联技术命名为超文本(Hypertext)技术。1969年,IBM的CharlesGoldfarb发明了可用于描述超文本信息的GML(GeneralizedMarkupLanguage)语言,也就是后来的SGML语言。经过不断(yu3yan2_jing1guo4bu4duan4)的完善,到1990年,第一个Web浏览器就可以使用HTML语言来实现超文本信息的展示。在本阶段,由于受HTML语言和旧式浏览器的制约,Web页面只包含了静态的文本和图像信息,限制了资源共享,这个现象越来越不能满足人们对信息多样性和及时性的要求。而这一阶段的Web服务器基本上只是一个HTTP的服务器,它负责接收客户端浏览器的访问请求,建立连接,响应用户的请求,查找所需的静态的Web页面,再返回到客户端。Web技术发展的第二阶段——动态技术阶段在Web出现的同时,能存储、展现二维动画的GIF图像格式也已发展成熟,为HTML引入动态元素提供了条件。此后,为了能更好地克服静态页面的不足,人们将传统单机环境下的编程技术引入互联网络与Web技术相结合,从而形成新的网络编程技术。1995年Java语言的问世给Web的发展带来更大的变革,它为人们提供了一条在浏览器中开发应用的捷径。1996年,著名的Netscape浏览器2.0版本和Microsoft的IE3.0增加了对JavaApplets和JavaScript的支持。JavaScript语音是一种脚本方式运行的,简化的Java语言。Web世界里从此出现了脚本技术。Microsoft公司于1996年为IE3.0设计出了与JavaScript相抗衡的脚本语言——VBScript脚本语言。在Windows98及其后的Windows操作系统中,WSH(WindowsscriptHost)技术将原本只能在浏览器中运行的JavaScript、VBScript变成了可以在WIN32环境下使用的通用脚本语言。其实,真正让HTML页面又酷又炫、动感无限的是CSS(CascadingStyleSheets)和DHTML(DynamicHTML)技术。1996年底,W3C组织提出了CSS的建议标准,同年,IE3.0引入了对CSS的支持。这项技术使得开发者能够在Web上更好地把握信息的的展示。1997年的Netscape4.0在支持CSS技术的同时,又增加了愈多由他们自定义的动态HTML标记,同年,Microsoft公司发布了IE4.0,并将动态的HTML标记、CSS和动态对象模型(DHTMLobjectModel)发展成了一套完整的客户端开发技术体系(DHTML)。该项技术无需启动Java虚拟机或其他脚本环境,在浏览器的支持下,同样可以实现HTML页面的动态展示,而且可以获得更好的效果。1996年,Netscape2.0成功引入了对QuickTime插件的支持(cha1jian4de0zhi1chi2),从此,实现了在HTML页面下音频、视频等更为(ye4mian4xia4yin1pin2_shi4pin2deng3geng4wei4)复杂的多媒体应用。同年,IE3.0正式支持在HTML页面中插入ActiveX控件的功能。从此,各式各样由不同公司所开发的各种插件先后在浏览器上取得了成功。我们这里所说的动态页面和静态页面是相对应的,在引入了动态技术生成的网页中,网页URL的后缀不只是.htm、.html、.shtml、.xml等静态网页的常见形式,还可以是以.asp、.jsp、.php、.perl、.cgi等形式为后缀。从网页内容的显示上看,动态网页引入了各项技术,使得网页内容更多样化,引人入胜;从网站的开发管理和维护角度看,动态网页以数据库技术为基础,更利于网站的维护,而动态网页使用了ASP对象,可以实现诸如用户注册、用户登陆、数据管理等的功能,大大提高了网络的利用率,为用户提供更多的方便。Web技术发展的第三阶段——Web2.0新时期在最近两年里,Web2.0这个名词引起了很多人的关注,那什么是Web2.0呢?其实,Web2.0并没有一个准确的定义,甚至于它并不是一个具体的事物,它只是人们对于一个阶段的描述。在这一阶段,用户可以自己主导信息的生产和传播,从而打破了原先所固有的单向传输模式。Web2.0并不是一个革命性的改变,而只是应用层面的东西,相对于传统的门户网站,它具备了更好的交互性。一般来说Web2.0(也有人称之为互联网2.0)是相对Web1.0的新的一类互联网应用的统称。Web1.0的主要特点在于用户通过浏览器获取信息,Web2.0则更注重用户的交互作用,用户既是网站内容的消费者(浏览者),也是网站内容的制造者。如果说WEB1.0是以数据为核心的网,那我觉得WEB2.0是以人为出发点的互联网让,是要让所有的人都忙起来,全民织网,然后用软件,机器的力量使这些信息更容易被需要的人找到和浏览,让我们通过几个Web2.0的产品,就可以理解以上的观点!

Blog——博客/网志:Blog的全名应该是Web

log,后来缩写为Blog。Blog是一个易于使用的网站,您可以在其中迅速发布想法、与他人交流以及从事其他活动。所有这一切都是免费的。

RSS——站点摘要:RSS是站点用来和其他站点之间共享内容的一种简易方式(也叫聚合内容)的技术。最初源自浏览器“新闻频道”的技术,现在通常被用于新闻和其他按顺序排列的网站,例如Blog。

WIKI——百科全书:Wiki--一种多人协作的写作工具。Wiki站点可以有多人(甚至任何访问者)维护,每个人都可以发表自己的意见,或者对共同的主题进行扩展或者探讨。

Podcasting:

个人视频/声频的发布/定阅。

SNS——社会网络:Social

Network

Sofwaret,社会性网络软件,依据六度理论,以认识朋友的朋友为基础,扩展自己的人脉。

P2P——对等联网:P2P是peer-to-peer的缩写,peer在英语里有“(地位、能力等)同等者”、“同事”和“伙伴”等意义。这样一来,P2P也就可以理解为“伙伴对伙伴”、“点对点”的意思,或称为对等联网。目前人们认为其在加强网络上人的交流、文件交换、分布计算等方面大有前途。

IM——即时通讯:即时通讯(Instant

Messenger,简称IM)软件可以说是目前我国上网用户使用率最高的软件。聊天一直是网民们上网的主要活动之一,网上聊天的主要工具已经从初期的聊天室、论坛变为以MSN、QQ为代表的即时通讯软件。

编写目的系统对学校全体学生的资料和考勤情况进行管理,通过每日的打卡把出勤信息输入到学校的考勤管理中心,保存学生每日的的出勤情况,以便于统计学生的出勤情况。同时方便班长查阅,即节省了人力,又省去了中间的很多容易出错的步骤。让学校学生的考勤管理更具有透明性,且方便管理。

此外系统还涉及系统数据安全和用户管理的问题、各种代码使用和维护问题、数据安全和数据维护问题、统计报表生成和输出等问题,因此还要求系统具有系统管理和事务处理功能。总而言之,要求通过系统的开发,达到系统项目的总体目标是:在整个系统的框架下,结合学生在学校的实际出勤情况的需要实现对数据更新、数据查询、数据统计、数据分析等功能进行有效的管理。并提供用户友好接口,满足学校管理需求的软件,提高学校对学生的管理效率,从而完善学校的管理制度。学生考勤管理程序是学校管理工作中一个比较重要的任务,过多的学生考勤管理程序工作给学校管理人员带来了很大麻烦的。虽然原始的记录方法在一定的程度上可以解决问题,可是现在计算机已经走到了我们的生活,它的不足之处就显而易见了。学生考勤管理程序,是一个对于学生考勤的管理系统,不仅大大减少了考勤管理人员的大量的工作,而且还方便了班级和学校对学生出课率的查询,只要通计算机登入本系统就能及时修改、更正学生的考勤信息,使信息真实、有效。这样节省了大量人力物力,节省了宝贵的时间,大大提高了工作效率.。操作上力争实现人性化、合理化,满足学校、老师、非计算机管理人员的使用和查看。

第二章系统关键技术及开发环境系统开发环境系统结构:B/S(浏览器/服务器)开发语言:JAVA/JSP数据库:MySQL开发工具:Eclipse服务器端容器:Tomcat6.0系统开发工具B/S架构学生考勤管理系统采用了当前很流行的B/S模式结构。相对于以往的主机/终端、C/S机构来说,B/S结构更具有优势。

在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。而其余如数据请求、加工、结果返回以及动态网页生成、对数据库的访问和应用程序的执行等工作全部由WebServer完成。随着Windows将浏览器技术植入操作系统内部,这种结构已成为当今应用软件的首选体系结构。显然B/S结构应用程序相对于传统的C/S结构应用程序是一个非常大的进步。B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层(3-tier)结构。一个三层架构的应用程序由三部分组成,这三部分各自分布在网络中的不同地方。这三个部分分别是:工作站或表示层接口、事务逻辑、数据库以及与其相关的程序设计。在一个典型的三层架构应用程序中,应用程序的用户工作站包括提供图形用户界面(GUI)的程序设计和具体的应用程序入口表格或交互式窗口。事务逻辑处在局域网(LAN)服务器或其他共享主机上,它作为响应工作站所发出学生请求的服务器,而相对于处于大型机的第三层它是作为学生端,并且决定需要什么数据以及数据存储在哪里。第三层包括数据库以及处理读写以及访问数据库的程序。然而应用程序的设计可能比这个架构要复杂,对于大型程序来说,这个三层模式是一种比较简便的考虑方法。这种应用程序的设计使用学生/服务器模式,各层可以同时开发,并且可以由不同的成员组用不同的语言来开发。因为各个层次的开发不会影响其他层次,所以这种模型对于进一步开发软件是很方便的。这样就大大简化了学生端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在Java这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。这种B/S模式学生端只要安装一个标准的Web浏览器,其它应用程序都存储在Web服务器上。建立在B/S模式上的在线考试系统,可建立大型、高效、共享的题库,在服务器端对数据库进行管理,学生端通过浏览器登录考试系统,打破了时空界限,可实现自动出卷、阅卷、评卷、简化考试程序,且考试结果更加公正、客观。采用B/S(Browser/Server)模式的计算机在线考试和管理系统适用于一个考场或几十个考场、几十人甚至几万人同时通过网络在线考试,解决了考试系统对学生机软件过分依赖的问题,减轻了学生机软件维护工作量,比以往的考试系统更具有实用性。采用这种结构,考试系统安装和试题装卸的程序简易;进行不同类别试题的考试时仅需要在服务器上进行试题的更换处理,对考场的计算机配置应考专业的相应软件,考生就可以进行考试。此技术超越了传统的“学生机/服务器”两层结构,采用了三层体系结构:用户界面层/事务层/数据库层。因此Web结构有着更好的安全性。在用户机上不需要安装任何应用程序,应用程序可以安装在事务层所在的计算机上,试题存放在数据库服务器上(事务层和数据库可以是同一台机器)。

采用B/S结构软件的优势在于:(1)维护和升级方式简单。当前,软件系统的改进和升级越发频繁,B/S架构的产品明显体现着更为方便的特性。对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。(2)成本降低,选择更多。大家都知道windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上windows并不是处于绝对的统治地位。当前的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用哪种操作系统都可以让大部分人使用windows作为桌面电脑操作系统不受影响,这就使得最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。比如说很多人每天上“新浪”网,只要安装了浏览器就可以了,并不需要了解“新浪”的服务器用的是什么操作系统,而事实上大部分网站确实没有使用windows操作系统,但用户的电脑本身安装的大部分是windows操作系统。(3)应用服务器运行数据负荷较重。由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。Java技术在丰富的开发语言种类中,Java是一个非常理想的选择。Java分为三个体系JavaSE(J2SE)(Java2PlatformStandardEdition,java平台标准版),JavaEE(J2EE)(Java2Platform,EnterpriseEdition,java平台企业版),JavaME(J2ME)(Java2PlatformMicroEdition,java平台微型版)。Java与传统程序不同,SunMicrosystems公司在推出Java之际就将其作为一种开放的技术。使得全球的Java公司在开发的关于Java程序都要做到了互相兼容。“Java语言开发要靠大家努力而非个人、企业的力量”是SunMicrosystems的口号之一,并且得到了大多数软件开发公司的认可。这种模式和微软公司所提倡的注重精英的模式和密封式的模式完全不同。SunMicrosystems公司对Java编程语言的官方诠释是:Java编程语言是个简单、面向对象、健壮、解释性、分布式、安全与系统无关、高性能、可移植、多线程和动态的语言。Java编程语言的风格非常的接近C语言、C++语言。Java语言的设计核心是面向对象的编程语言,它继承了C++语言面向对象技术的核心。Java的进步是其没有像C语言那样,容易由于指针引起错误、运算符重载(operatoroverloading)、多重继承(以接口取代)等特性,增加了垃圾回收功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在Java1.5之后的版本中,Java又引入了类型安全的枚举、泛型编程(GenericProgramming)、自动装/拆箱和不等长参数等等语言特性。Java语言是易学的。Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,而是引用。并提供了自动的废料收集,使得程序员不必为内存管理而担忧。Java语言是强制面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C++语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(javanet),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。Java语言是健壮的。Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。Java语言是体系结构中立的。Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。Java语言是可移植的。这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSIC实现的。Java语言是解释型的。如前所述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。Java是性能略高的。与那些解释型的高级脚本语言相比,Java的性能还是较优的。Java语言是原生支持多线程的。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread(Runnable)的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。Java语言是动态的。Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(JavaEnterpriseAPIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。Java的优势:此开发语言非常适合集体开发,软件工程可以相对做到一定的标准化。由于其本身的极度严格语法的特点,因此Java语言无法写出结构杂乱无章的程序。这样将迫使程序员的软件代码、软件结构的一致性、规范性。这是其很难比拟的优势。Java的劣势:j2ee的架构相对完善,第一版软件虽然可以做满意,但是很不适合互联网模式的持续不断修改。互联网软件工程管理上的不好的地方,不断的修补就会导致软件框架的破坏。Tomcat服务器技术目前支持JSP的应用服务器是较多的,Tomcat是其中较为流行的一个Web服务器,被JavaWorld杂志的编辑选为2001年度最具创新的java产品,可见其在业界的地位。Tomcat是一个免费的开源的Serlvet容器,在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。编译以后,访问将会很快。另外Tomcat也提供了一个应用:manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中。通过这个应用,辅助于Ftp,你可以在远程通过Web部署和撤销应用。当然本地也可以。

Tomcat也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,它的处理静态Html的能力就不如Apache。我们可以将Tomcat和Apache集成到一块,让Apache处理静态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会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的JSP时,通常第一次会很慢,因为Tomcat要将JSP转化为Servlet文件,然后编译。编译以后,访问将会很快。另外Tomcat也提供了一个应用:manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中。通过这个应用,辅助于FTP,你可以在远程通过Web部署和撤销应用。当然本地也可以。Tomcat也具有传统的Web服务器的功能:处理HTML页面。但是与Apache相比,它的处理静态HTML的能力就不如Apache。我们可以将Tomcat和Apache集成到一块,让Apache处理静态HTML,而Tomcat处理JSP和Servlet。这种集成只需要修改一下Apache和Tomcat的配置文件即可。与传统的桌面应用程序不同,Tomcat中的应用程序是一个WAR(WebArchive)文件。WAR是Sun提出的一种Web应用程序格式,与JAR类似,也是许多文件的一个压缩包。这个包中的文件按一定目录结构来组织:通常其根目录下包含有Html和JSP文件或者包含这两种文件的目录,另外还会有一个WEB-INF目录,这个目录很重要。通常在WEB-INF目录下有一个web.xml文件和一个classes目录,web.xml是这个应用的配置文件,而classes目录下则包含编译好的Servlet类和JSP或Servlet所依赖的其它类(如JavaBean)。通常这些所依赖的类也可以打包成JAR放到WEB-INF下的lib目录下,当然也可以放到系统的ClassPath(系统变量)中,但那样移植和管理起来不方便。在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的JSP时,通常第一次会很慢,因为Tomcat要将JSP转化为Servlet文件,然后编译。编译以后,访问将会很快。另外Tomcat也提供了一个应用:Manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中。通过这个应用,辅助于FTP,你可以在远程通过Web部署和撤销应用,当然本地也可以。Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,它的处理静态Html的能力就不如Apache.我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理JSP和Servlet.这种集成只需要修改一下Apache和Tomcat的配置文件即可。另外,Tomcat提供Realm支持。Realm类似于Unix里面的group.在Unix中,一个group对应着系统的一定资源,某个group不能访问不属于它的资源。Tomcat用Realm来对不同的应用(类似系统资源)赋给不同的用户(类似group)。没有权限的用户则不能访问这个应用。Tomcat提供三种Realm:1、JDBCRealm,这个Realm将用户信息存在数据库里,通过JDBC获得用户信息来进行验证;2、JNDIRealm,用户信息存在基于LDAP的服务器里,通过JNDI获取用户信息;3、MemoryRealm,用户信息存在一个xml文件里面,上面讲的manager应用验证用户时即使用此种Realm.通过Realm我们可以方便地对访问某个应用的学生进行验证。在Tomcat中,你还可以利用Servlet2.3提供的事件监听器功能,来对你的应用或者Session实行监听。Tomcat也提供其它的一些特征,如与SSL集成到一块,实现安全传输。还有Tomcat也提供JNDI支持,这与那些J2EE应用服务器提供的是一致的。说到这里我们要介绍一下通常所说的应用服务器(如WebLogic)与Tomcat有何区别。应用服务器提供更多的J2EE特征,如EJB,JMS,JAAS等,同时也支持JSP和Servlet.而Tomcat则功能没有那么强大,它不提供EJB等支持。但如果与JBoss(一个开源的应用服务器)集成到一块,则可以实现J2EE的全部功能。既然应用服务器具有Tomcat的功能,那么Tomcat有没有存在的必要呢?事实上,我们的很多中小应用不需要采用EJB等技术,JSP和Servlet已经足够,这时如果用应用服务器就有些浪费了。而Tomcat短小精悍,配置方便,能满足我们的需求,这种情况下我们自然会选择Tomcat。基于Tomcat的开发其实主要是JSP和Servlet的开发,开发JSP和Servlet非常简单,你可以用普通的文本编辑器或者IDE,然后将其打包成WAR即可。我们这里要提到另外一个工具Ant,Ant也是Jakarta中的一个子项目,它所实现的功能类似于Unix中的make.你需要写一个build.xml文件,然后运行Ant就可以完成xml文件中定义的工作,这个工具对于一个大的应用来说非常好,我们只需在xml中写很少的东西就可以将其编译并打包成WAR。事实上,在很多应用服务器的发布中都包含了Ant。另外,在JSP1.2中,可以利用标签库实现Java代码与Html文件的分离,使JSP的维护更方便。Tomcat也可以与其它一些软件集成起来实现更多的功能。如与上面提到的JBoss集成起来开发EJB,与Cocoon(Apache的另外一个项目)集成起来开发基于Xml的应用,与OpenJMS集成起来开发JMS应用,除了我们提到的这几种,可以与Tomcat集成的软件还有很多。Tomcat确实是一个很好的工具,不仅仅因为其免费,功能强大,更因为其开放性。如今,开源软件越来越收到人们的重视,Linux就是一个成功的典型。人们不再限于只使用软件,而且已经关心起软件的具体实现。我们有理由相信Tomcat会走得更远。MySQL数据库MySQL是一个开放源码的小型关系型数据库管理系统,开发者为MySQLAB公司,在08年被Sun公司收购。它被广泛地应用在Internet上的中小型网站中。MySQL具有体积小、速度快、总体拥有成本低。基于以上的优势,所以本系统采用MySQL数据库。数据库名为graduateproject。为了使MySQL便于操作,我选用了MySQL-Front来配合使用。MySQL-Front是一款MySQL的图形界面程序。通过它可以很方便的操作MySQL数据库,也利于管理MySQL数据库。MySQL是一个SQL关系式数据库,由于执行效率与稳定性高、操作简易,所以用户众多。官方文件中这么说:“MySQL是一个真正的多用户、多线程的SQL数据库服务器”。SQL是世界上最流行和标准化的数据库语言,它使得存储、更新和访问信息更容易。另外,MySQL同时提供高度多样性,能够提供很多不同的使用者介面,包括命令行客户端操作,网页浏览器,以及各式各样的程序语言介面,例如C+,Perl,Java,PHP,以及Python。你可以使用事先包装好的客户端,或者干脆自己写一个合适的应用程序。MySQL可用于Unix,Windows,以及OS/2等平台,因此它可以用在个人电脑或者是服务器上。系统特性:1.使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性。2.支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统。3.为多种编程语言提供了API。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。4.支持多线程,充分利用CPU资源。5.优化的SQL查询算法,有效地提高查询速度。6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。7.提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。8.提供TCP/IP、ODBC和JDBC等多种数据库连接途径。9.提供用于管理、检查、优化数据库操作的管理工具。10.支持大型的数据库。可以处理拥有上千万条记录的大型数据库。11.支持多种存储引擎。12.Mysql是开源的,所以你不需要支付额外的费用。13.MySQL使用标准的SQL数据语言形式。14.Mysql对PHP有很好的支持,PHP是目前最流行的Web开发语言。15.Mysql是可以定制的,采用了GPL协议,你可以修改源码来开发自己的Mysql系统。EclipseEclipse的功能是非常的强大,支持产品也十分丰富,特别是对各种开源产品的支持做的是相当好。目前虽然大多数用户很乐于将Eclipse当作Java集成开发环境(IDE)来使用,但Eclipse的目标却不仅限于此。Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,通过安装不同的插件Eclipse可以支持不同的计算机语言,比如C++和Python等开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。Eclipse最初由OTI和IBM两家公司的IDE产品开发组创建,起始于1999年4月。IBM提供了最初的Eclipse代码基础,包括Platform、JDT和PDE。Eclipse项目IBM发起,围绕着Eclipse项目已经发展成为了一个庞大的Eclipse联盟,有150多家软件公司参与到Eclipse项目中,其中包括Borland、RationalSoftware、RedHat及Sybase等。Eclipse是一个开放源码项目,它其实是VisualAgeforJava的替代品,其界面跟先前的VisualAgeforJava差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。随后还有包括Oracle在内的许多大公司也纷纷加入了该项目,Eclipse的目标是成为可进行任何语言开发的IDE集成者,使用者只需下载各种语言的插件即可。Eclipse还包括插件开发环境(Plug-inDevelopmentEnvironment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于Java开发工具。尽管Eclipse是使用Java语言开发的,但它的用途并不限于Java语言;例如,支持诸如C/C++、COBOL、PHP等编程语言的插件已经可用,或预计将会推出。Eclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。基于Eclipse的应用程序的一个突出例子是IBMRationalSoftwareArchitect,它构成了IBMJava开发工具系列的基础。

第三章系统分析开发一个好的软件,进行深入细致的可行性研究是极其必要的,而且还必须做大量的,全面的需求分析,需求分析是软件定义时期的最后一个阶段,它更是开发一个好的软件的基础。它的基本任务是准确地回答“需要此软件的人都需要哪些功能?”这个问题。需求分析的主要任务是确定系统必须完成哪些工作,也就是对目标系统提出完整的﹑准确的、具体的﹑清晰的要求,确定系统必须具有的功能和性能,系统要求的运行环境,以及预测系统发展的前景,并仔细分析系统中的数据,以便完善良好的软件环境。在需求分析阶段系统分析员将仔细研究软件所需要完成的具体功能系统分析可行性分析引言这个阶段要回答的关键问题是:“对于一个阶段所确定的问题有行得通的解决方法吗?”为了回答这个问题,需要一次大大压缩和简化了的系统分析和设计的过程,也就是在较抽象的高层次上进行的分析和设计的过程。可行性研究应该比较简短,这个阶段的任务不是具体解决问题,而是研究问题的范围,探索这个问题是否值得去解,是否有可行的解决方法。目的和意义开发本系统的目的,就是要解决目前本校中关于学生请假与上课出勤管理中面临的一系列问题。开发出学生考勤管理系统能有效地提高学校的办事效率,解决学生请假以及上课出勤管理问题,实现学生请假及上课出勤信息对任课老师、年级辅导员、院系领导、学校领导透明,使得任课老师、年级辅导员、院系领导及时把握学生的学习情况,及时与学生沟通,提高教学质量。经济可行性本系统使用B/S架构设计,使用市场上流行流行的动态网页技术,开发简单,使用度方便,不需要耗费大量人力物力就能很快开发出来,系统部署对软硬件要求不高,用户操作简单,几乎不需要对用进行专业培训就可使用本系统,所以从经济上讲师可行的。技术可行性本系统采用JSP、JavaScript脚本语言、HTML标识语言、S2SH框架以及MySQL数据库技术综合开发。JSP是一种安全稳定的动态网页技术,目前国内各企业的电子商务系统(ERP)基本上都用到JSP开发的。MySQL是一种开放源代码的关系型数据库管理系统,它使用最常用的数据库管理语言——结构化查询语言进行数据库管理。由以上分析可知,学生考勤管理系统的解决方案无论在技术、经济上都是可行的,且开发本系统具有一定的经济价值和使用价值。需求分析这个阶段的任务仍然不是具体地解决问题,而是准确地确定“为了解决这个问题,目标系统必须做什么”,主要是确定目标系统必须具备哪些功能。用户需求概述用户是系统的使用者,依自己分析,本系统应当包括学生、教师、系统管理员三大类用户,这三类用户对系统的需求简要如下:学生用户:学生对本系统的主要需求是在线请假以及查看学期内的上课出勤信息。在线请假中,学生可以随时查看到请假的详细进展情况。同时,学生可以查看本期内上课出勤的详细信息,如:查看某个课程(计算机网络)在整个学期内的出勤情况——请假、旷课、迟到、早退了多少次,以及具体的时间、任课老师姓名、第几节可等详细信息。学生还可以查看本人的基本信息,如:所在院系、年级、专业、班级、学号、姓名、性别等。教师用户:任课老师使用本系统时,管理所教班级学生的上课出勤信息以及查看所教学生的上课出勤信息。老师自动列出还没有在网上公布的学生上课出勤信息,系统依据学生请假系统,决定学生上课出勤的最终结果。并且查看自己所教课程、所教班级学生整个上课出勤统计信息以及详细信息。同时,老师也可以查看上课课表,查看个人基本信息以及修改个人用户密码。管理员用户:系统管理员拥有本系统的最高权限,负责系统数据的动态同步更新以及维护。管理员工作台。管理员用户功能,可对本系统相关功能和相关原始基本信息进行修改。管理学校各院系、年级、专业、班级的添加、删除、修改等。管理系统所有用户(学生、任课老师、年级辅导员、院系领导、学校领导、系统管理员),管理系统的请假、考勤信息等等。系统功能划分将需求分析得到的作为需求抽象信息结构。即概念模型的过程就是概念结构设计,它是整个数据库设计的关键。要系统需求分析阶段,搞清楚了系统“做什么”的问题,形成了目标系统的逻辑模型。现在我们就是说要把系统“做什么”的逻辑模型变换为“怎么做”的物理模型,即着手实现系统的需求。首先,我们需要描述的是系统的总的体系结构。接着在一步步的向下进行描述。功能划分的基本思想是将系统设计成由多个相对独立、功能单一的模块组成的结构。由于模块之间相对独立,每一模块就可以单独地被理解、编写、测试、排错和修改,从而有效地防止错误在模块之间扩散蔓延,提高了系统的质量(可维护性、可靠性等)。因此,大大简化了系统研制开发的工作。请假系统模块:本模块的功能是在线请假的实现及管理,主要涉及三大类用户:学生、年级辅导员及院系领导用户,学生通过此功能模块进行在线请假及查看请假记录信息;年级辅导员在线审批学生请假及查看请假记录信息;院系领导在线审批学生长时间的请假及查看请假记录信息。考勤系统模块:本模块的功能是学生考勤信息统计的实现、查看及管理,涉及六大类用户中的所有用户。学生在线查看自己所有学年的出勤信息;任课老师在线管理学生出勤信息;年级辅导员、院系领导、学校领导查看不同范围的学生出勤统计信息。后台管理管理:本模块的功能实现整个系统数据的同步更新及维护,只涉及系统管理员用户。系统管理员是整个系统实现的基础。为保证学校学生信息的隐私权,设立登陆功能,只有规定的用户才有权使用此系统,同时本系统存在三方用户,用户的使用权限也各不相同:学生模块。学生用户功能,查询个人信息:辅导员模块。辅导员用户登陆后使用的功能,用于查询本班学生相关信息:

第四章系统总体设计总体设计主要是指在系统分析的基础上,对整个系统的划分(子系统)、机器设备(包括软、硬设备)的配置、数据的存贮规律以及整个系统实现规划等方面进行合理的安排。系统设计工作应该自顶向下地进行。系统设计的工作复杂又细致,总体设计阶段需要进行系统模块结构设计,要将一个大系统分解成不同层次、多个模块组成的系统,在详细设计阶段要在模块结构设计的基础上,给出每个模块实现方法的细节,并对模块的输入、输出和处理过程作详细描述,以便在系统实施阶段进行程序设计时可以把这个描述直接“翻译”成用某种程序设计语言书写的程序。系统设计目标最终得到的系统应该能满足用户的需求,符合实际的操作流程与规范,同时也要满足设计人员的设计目标。(1)从用户的角度看:通过学生考勤系统,改变目前学生的每日考勤工作都还停留在手工作坊阶段的现状。方便学院各院、系的领导、专职辅导员、学生管理职能部门和学生本人,都能够快速、及时、准确查阅和使用网上在线学生考勤信息的资源。有效提高学院现有的学生管理效率的目的。(2)从技术观点看:对于用户的使用应该具备良好的交互界面,具备较高的用户友好性:具备较高的系统安全性,保护信息安全。系统总体功能本系统包括系统管理员,学生,教师三大用户类型,其功能如下:系统管理员对于学生,及教师的添加删除等管理;学生进行网上请假,查看请假情况;教师对学生请假的批准等操作。系统功能模块模块化是指解决一个复杂问题时自上项下逐层把系统划分成若干个模块的过程。每个模块完成一个特定的功能,所有的模块按某种方法组织起来,成为一个整体,完成整个系统所要求的功能。系统的模块划分不能是任意的,应尽量保持其独立性。是为了降低系统和复杂性,提高可读性、可维护性。也就是说,每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单,即尽量做到提高模块的独立,为设计高质量的系统结构奠定基础。系统模块结构设计的任务是划分子系统,然后确定子系统的模块结构,并画出模块结构图。在这个过程中必须考虑以下几个问题:1)如何将一个系统划分成多个子系统。2)每个子系统如何划分成多个模块。3)如何确定子系统之间、模块之间传送的数据及其调用关系。4)如何评价并改进模块结构的质量。该方法适合于软件系统的总体设计和详细设计,特别是将一个复杂的系统转换成模块化结构系统,该方法具有它的优势。在使用过程中可将结构化设计方法与结构化分析(SA)方法及编程阶段的结构化程序设计方法(SP)前后衔接起来。系统功能模块化的优点:1)系统功能模块划分清晰,区别明显,易于操作。2)操作界面友好,简单易懂适合不同层次的操作人员。3)子系统之间的数据交换操作简单、快捷。根据该系统的需求分析,设计可实现的模块组织结构。如图4.3图4.3系统功能模块图系统用例图教师用例图,如图4.4.1图4.4.1教师用例图学生用例图,如图4.4.2图4.4.2学生用例图数据库设计数据库逻辑结构设计根据上述的概念设计阶段的结果,将其转化为逻辑结构,得出以下主要的逻辑设计:管理员信息表(图5.1)教师信息表(图5.2)学生信息表(图5.3)考勤信息表(图5.4)管理员信息表表5.1管理员信息表名类型长度小数点允许空值是否主键idint100否是usernametext00是否usepasstext00是否教师信息表表5.2教师信息表名类型长度小数点允许空值是否主键idint110否是usernametext00是否userpasstext00是否tnametext00是否tsextext00是否officetext00是否agetext00是否remarktext00是否coursetext00是否学生信息表表5.3学生信息表名类型长度小数点允许空值是否主键idint110否是sidtext00是否passtext00是否snametext00是否sextext00是否teachertext00是否tclasstext00是否remarktext00是否考勤信息表表5.4考勤信息表名类型长度小数点允许空值是否主键kidint110否是tidint110是否sidint110是否ktypetext00是否coursetext00是否courseTimetext00是否contenttext00是否daystext00是否typetext00是否数据库编写管理员信息表DROPTABLEIFEXISTS`admin`;CREATETABLE`admin`(`id`int(11)NOTNULLAUTO_INCREMENT,`username`text,`userpass`text,PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=3DEFAULTCHARSET=utf8;教师信息表DROPTABLEIFEXISTS`teacher`;CREATETABLE`teacher`(`id`int(11)NOTNULLAUTO_INCREMENT,`username`text,`userpass`text,`tname`text,`tsex`text,`office`text,`age`text,`remark`text,`course`text,PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=3DEFAULTCHARSET=utf8学生信息表DROPTABLEIFEXISTS`student`;CREATETABLE`student`(`id`int(11)NOTNULLAUTO_INCREMENT,`sid`text,`pass`text,`sname`text,`sex`text,`teacher`text,`tclass`text,`remark`text,PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=2DEFAULTCHARSET=utf8;考勤信息表DROPTABLEIFEXISTS`kq`;CREATETABLE`kq`(`kid`int(11)NOTNULLAUTO_INCREMENT,`tid`int(11)DEFAULTNULL,`sid`int(11)DEFAULTNULL,`ktype`text,`course`text,`courseTime`text,`content`text,`days`text,`type`text,PRIMARYKEY(`kid`))ENGINE=InnoDBAUTO_INCREMENT=2DEFAULTCHARSET=utf8;系统实现用户登录这是学生用户、老师用户进入系统的通道,通过选择不同的用户类型,成功登陆后就可以使用相应的功能模块。点击登录提交时,实现了提交验证判断用户名和密码不能为空;登录过程中,依据用户登录类型跳转到各自用户的业务层中,调用数据库层到数据库查询各自匹配的账号和密码。登陆系统的管理页面时,首先检查用户名,密码输入是否正确,若正确,则登陆成功进入系统的相应界面。图6.1系统前台登陆界面主要代码实现如下:protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{booleanb=false;StringuserType=request.getParameter("userType");if(userType.equals("0")){Studentsd=newStudent();sd.setSid(request.getParameter("userName"));sd.setPass(request.getParameter("userPass"));sd.setId(2);StudentDaostudentdao=newStudentDao();HttpSessionsession=request.getSession();b=studentdao.login(sd);if(b){session.setAttribute("admin",sd);request.getRequestDispatcher("/student/main.html").forward(request,response);}else{request.getRequestDispatcher("/login.html").forward(request,response);}}elseif(userType.equals("1")){Teachertc=newTeacher();tc.setUserName(request.getParameter("userName"));tc.setUserPass(request.getParameter("userPass"));tc.setId(1);TeacherDaoteacherDao=newTeacherDao();HttpSessionsession=request.getSession();b=teacherDao.login(tc);if(b){ session.setAttribute("admin",tc);request.getRequestDispatcher("/teacher/main.html").forward(request,response);}else{request.getRequestDispatcher("/login.html").forward(request,response);}}else{Adminad=newAdmin();ad.setUserName(request.getParameter("userName"));ad.setUserPass(request.getParameter("userPass"));AdminDaoadminDao=newAdminDao();b=adminDao.login(ad);if(b){request.getRequestDispatcher("/admin/main.html").forward(request,response);}else{request.getRequestDispatcher("/login.html").forward(request,response);}}}}在线请假图6.2.1学生在线请假学生用户登录系统后,点击进入在线请假模块,输入请假信息,提交申请假条,等待假条的审批。然后,可以随时跟踪查看假条的审批情况。提交from表单,通过servlet就表单数据利用SQL语句插入到数据库中。“申请”假条,处理部分代码如下:protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ QingJiaqj=newQingJia(); qj.setSid("2"); qj.setCourse(request.getParameter("course")); DateFormatform

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论