日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > windows >内容正文

windows

基于jsp(java)高校学生考勤管理系统设计与实现

發(fā)布時(shí)間:2024/3/12 windows 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于jsp(java)高校学生考勤管理系统设计与实现 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

獲取項(xiàng)目源文件,學(xué)習(xí)交流聯(lián)系Q:1415736481,可指導(dǎo)畢設(shè),課設(shè)

本系統(tǒng)主要針對(duì)目前高校學(xué)生在線請(qǐng)假以及學(xué)生上課出勤管理而設(shè)計(jì)的信息系統(tǒng)。本系統(tǒng)總體上由三大功能模塊:請(qǐng)假系統(tǒng)模塊、考勤系統(tǒng)模塊、后臺(tái)管理模塊組成。系統(tǒng)涉及到高校六大類(lèi)用戶:學(xué)生、任課老師、班主任、院系領(lǐng)導(dǎo)、學(xué)校領(lǐng)導(dǎo)、系統(tǒng)管理員。

本高校學(xué)生考勤管理系統(tǒng)用JSP+SQL Server 2000開(kāi)發(fā),開(kāi)發(fā)過(guò)程中運(yùn)用了頁(yè)面模塊化、信息發(fā)布的動(dòng)態(tài)生成、靜態(tài)頁(yè)面顯示等技術(shù)開(kāi)發(fā)。本論文重點(diǎn)介紹本系統(tǒng)的請(qǐng)假系統(tǒng)、考勤系統(tǒng)兩大功能模塊設(shè)計(jì),完成學(xué)生、任課老師、班主任、院系領(lǐng)導(dǎo)、學(xué)校領(lǐng)導(dǎo)五類(lèi)用戶功能的設(shè)計(jì)與實(shí)現(xiàn)。

?

關(guān)鍵詞:考勤管理;在線請(qǐng)假;JSP

?

?

ABSTRACT

The system is an information system designed for asking for leave on line? for students and managing? attendance of undergraduate.It is generally divided into three main modules: the module for asking for on-line leave , the module for managing attendance of undergraduate and? the module? for backstage management. There are different customers? in the university? operating? the system,such as? student, teacher, ?a teacher in charge of a class,department leader, school leader, administrator.

The system is developed with the help of Jcreator,JSP(java、javascript、html)and SQL Server 2000. The key techniques used in the process of development are: the page modularization, dynamic generating and static page showing of information, etc. And the thesis focuses on the introduction of the system’s attendance management and the management of asking for leave online.And it develops the function of student, teacher, a teacher in charge of a class,department leader, school leader on the whole.

Key word: attendance management;online ask for leave; JSP

?

第1章 問(wèn)題定義

1.1 引言

問(wèn)題定義階段必須回答的關(guān)鍵問(wèn)題是:“要解決的問(wèn)題是什么?”, 在此階段中,主要是弄清本課題需要解決的問(wèn)題根本所在,以及此課題所需的資源等。

1.2開(kāi)發(fā)背景

目前高校校園信息化逐步完善,高校師生借助校園網(wǎng)有效的提高了辦事效率。各大高校針對(duì)師生的成績(jī)查詢系統(tǒng)、教務(wù)管理系統(tǒng)、招生就業(yè)系統(tǒng)、BBS、校園網(wǎng)站等系統(tǒng)在各大高校紛紛出現(xiàn),對(duì)全校師生的學(xué)習(xí)、生活、管理、辦公帶來(lái)了便利。

目前高校學(xué)生上課考勤管理都是以任課老師上課點(diǎn)名,記錄學(xué)生上課出勤情況,學(xué)期末根據(jù)上課出勤表及作業(yè)登記表對(duì)學(xué)生平時(shí)成績(jī)打分,然后把數(shù)據(jù)上交到各院系。學(xué)生請(qǐng)假以傳統(tǒng)的寫(xiě)請(qǐng)假條的形式向各自班主任請(qǐng)假,時(shí)間長(zhǎng)的請(qǐng)假,要班主任、院系領(lǐng)導(dǎo)都批準(zhǔn)方能生效。這種的模式在目前高校管理中暴露出了許多弊端:一是學(xué)生請(qǐng)假不方便;二是學(xué)生請(qǐng)假對(duì)任課老師不透明,造成對(duì)學(xué)生上課出勤誤記的情況;三是學(xué)生上課出勤表對(duì)班主任不透明,班主任很難知道本班學(xué)生上課的出勤情況,不便于與學(xué)生及時(shí)有效的溝通;四是學(xué)生對(duì)自己整個(gè)學(xué)期的上課出勤情況沒(méi)有整體的統(tǒng)計(jì)信息。五是院系領(lǐng)導(dǎo)、學(xué)校領(lǐng)導(dǎo)更加把握不住學(xué)生上課的出勤情況。

1.3問(wèn)題描述

上述所說(shuō)高校對(duì)學(xué)生考勤和請(qǐng)假面臨的問(wèn)題涉及多類(lèi)用戶,系統(tǒng)使用范圍是在全校校園網(wǎng)內(nèi),由于用戶分布廣泛,且存在很大差異,如:知識(shí)結(jié)構(gòu)的差異、計(jì)算機(jī)硬件配置的差異、操作系統(tǒng)的差異等。因此本系統(tǒng)設(shè)計(jì)應(yīng)當(dāng)采用典型的B/S(瀏覽器/服務(wù)器)的構(gòu)架進(jìn)行設(shè)計(jì),操作簡(jiǎn)單直觀,對(duì)硬件要求低,最好能實(shí)現(xiàn)跨平臺(tái)。跨平臺(tái)一是指客戶端用戶操作的跨平臺(tái),二是指服務(wù)器端的跨平臺(tái),即可以將服務(wù)器部署在所有操作平臺(tái)上。系統(tǒng)應(yīng)當(dāng)有很好的擴(kuò)展性,與當(dāng)前高校中現(xiàn)有的系統(tǒng)很好集成。

目前隨著IT技術(shù)的不斷創(chuàng)新與發(fā)展,新的技術(shù)不斷推出,各種企業(yè)實(shí)現(xiàn)信息化的解決方案不斷成熟。面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言的廣泛使用,各種成熟關(guān)系數(shù)據(jù)庫(kù)的不斷完善與推出,再加上面向?qū)ο蟮能浖_(kāi)發(fā)過(guò)程廣泛應(yīng)用,軟件開(kāi)發(fā)過(guò)程變得越來(lái)越容易,開(kāi)發(fā)出的系統(tǒng)變得越來(lái)越實(shí)用,許多企業(yè)使用信息系統(tǒng)后,明顯提高了辦事效率,帶來(lái)了很大的經(jīng)濟(jì)收入。目前流行的基于B/S結(jié)構(gòu)的解決方案主要有ASP,JSP,PHP等技術(shù)。本系統(tǒng)選用JSP技術(shù)開(kāi)發(fā),使用當(dāng)前流行的SQL Server 2000數(shù)據(jù)庫(kù)管理系統(tǒng)來(lái)存儲(chǔ)數(shù)據(jù),主要解決學(xué)生在線請(qǐng)假、在線考勤管理以及后臺(tái)數(shù)據(jù)的維護(hù)與更新。

?

?

第2章? 可行性分析

2.1 引言

這個(gè)階段要回答的關(guān)鍵問(wèn)題是:“對(duì)于上一個(gè)階段所確定的問(wèn)題有行得通的解決方法嗎?”為了回答這個(gè)問(wèn)題,需要一次大大壓縮和簡(jiǎn)化了的系統(tǒng)分析和設(shè)計(jì)的過(guò)程,也就是在較抽象的高層次上進(jìn)行的分析和設(shè)計(jì)的過(guò)程。可行性研究應(yīng)該比較簡(jiǎn)短,這個(gè)階段的任務(wù)不是具體解決問(wèn)題,而是研究問(wèn)題的范圍,探索這個(gè)問(wèn)題是否值得去解,是否有可行的解決方法。

2.2 目的和意義

開(kāi)發(fā)本系統(tǒng)的目的,就是要解決目前高校中關(guān)于學(xué)生請(qǐng)假與上課出勤管理中所面臨的一系列問(wèn)題。

開(kāi)發(fā)出高校學(xué)生考勤管理系統(tǒng)能有效地提高高校辦事效率,解決目前高校學(xué)生請(qǐng)假及上課出勤管理問(wèn)題,實(shí)現(xiàn)學(xué)生請(qǐng)假及上課出勤信息對(duì)任課教師、班主任、院系領(lǐng)導(dǎo)、學(xué)校領(lǐng)導(dǎo)透明,使班主任、院系領(lǐng)導(dǎo)及時(shí)把握學(xué)生的學(xué)習(xí)情況,及時(shí)與學(xué)生溝通,提高教學(xué)質(zhì)量。

2.3 可行性分析

技術(shù)可行性:高校學(xué)生考勤管理系統(tǒng)在目前的高校中使用還不普遍,但也有許多類(lèi)似的成功案例:如教務(wù)管理系統(tǒng)、排課系統(tǒng)等。本系統(tǒng)采用JSP,JavaScript腳本語(yǔ)言、html標(biāo)識(shí)語(yǔ)言及SQL Server 2000數(shù)據(jù)庫(kù)技術(shù)綜合開(kāi)發(fā)。JSP是一種安全穩(wěn)定的動(dòng)態(tài)網(wǎng)頁(yè)技術(shù),目前國(guó)內(nèi)各企業(yè)的電子商務(wù)系統(tǒng),ERP系統(tǒng),銀行信息系統(tǒng)等基本上都用JSP開(kāi)發(fā)的。Microsoft SQL Server(基于結(jié)構(gòu)化查詢語(yǔ)言的數(shù)據(jù)庫(kù)服務(wù)器)是基于客戶/服務(wù)器結(jié)構(gòu)的數(shù)據(jù)庫(kù)管理系統(tǒng),用戶通過(guò)使用客戶系統(tǒng)從服務(wù)器檢索信息并進(jìn)行本地操作,服務(wù)器關(guān)注數(shù)據(jù)庫(kù)進(jìn)程,而客戶則關(guān)注信息的表示。為了使客戶端能夠從服務(wù)器中訪問(wèn)數(shù)據(jù),服務(wù)器必須具備以下兩個(gè)關(guān)鍵特征:一、對(duì)在數(shù)據(jù)庫(kù)中的數(shù)據(jù)提供單點(diǎn)訪問(wèn)。二、將處理和操作在客戶端和服務(wù)器間進(jìn)行分配。SQL Server使用Transact-SQL語(yǔ)言來(lái)維護(hù)、實(shí)現(xiàn)和訪問(wèn)數(shù)據(jù)庫(kù),Transact-SQL是SQL(Structured Query Language)的一個(gè)子集標(biāo)準(zhǔn)。SQL Server有多種實(shí)用程序允許用戶來(lái)訪問(wèn)它的服務(wù),用戶可用這些實(shí)用程序?qū)QL Server進(jìn)行本地管理或遠(yuǎn)程管理。

經(jīng)濟(jì)可行性:本系統(tǒng)使用B/S架構(gòu)設(shè)計(jì),使用市場(chǎng)上流行的動(dòng)態(tài)網(wǎng)頁(yè)技術(shù),開(kāi)發(fā)簡(jiǎn)單,使用度方便,不需要耗費(fèi)大量的人力物力就能很快的開(kāi)發(fā)出來(lái),系統(tǒng)部署對(duì)軟硬件要求不高,用戶操作簡(jiǎn)單,幾乎不需要對(duì)用戶進(jìn)行專(zhuān)業(yè)培訓(xùn)就可使用本系統(tǒng),所以從經(jīng)濟(jì)上講是可行的。

法律可行性:本系統(tǒng)擁有自主知識(shí)產(chǎn)權(quán),沒(méi)有使用任何違法的軟件也沒(méi)有交易任何非法的商品,所以在法律上是可行的。

操作可行性:本系統(tǒng)操作簡(jiǎn)單方便,只要懂得上網(wǎng)都能方便操作本系統(tǒng),所以在操作上也是可行的。

分析結(jié)果從以上的分析可知,高校學(xué)生考勤管理系統(tǒng)的解決方案無(wú)論在技術(shù),經(jīng)濟(jì)還是法律以及操作上都是可行的,且開(kāi)發(fā)本系統(tǒng)具有一定的經(jīng)濟(jì)價(jià)值和實(shí)用價(jià)值。

?

?

第3章? 需求分析

3.1 引言

這個(gè)階段的任務(wù)仍然不是具體地解決問(wèn)題,而是準(zhǔn)確地確定“為了解決這個(gè)問(wèn)題,目標(biāo)系統(tǒng)必須做什么”,主要是確定目標(biāo)系統(tǒng)必須具備哪些功能。

3.2 用戶需求描述

用戶是系統(tǒng)的最終使用者,開(kāi)發(fā)系統(tǒng)的目的是要用戶最終很好的使用系統(tǒng),最終為用戶帶來(lái)各種便利。本系統(tǒng)要解決高校學(xué)在線請(qǐng)假以及上課考勤管理兩大問(wèn)題,通過(guò)對(duì)高校的實(shí)際調(diào)查分析,本系統(tǒng)應(yīng)當(dāng)包括學(xué)生、班主任、任課老師、院系領(lǐng)導(dǎo)、學(xué)校領(lǐng)導(dǎo)、系統(tǒng)管理員六類(lèi)用戶,這六類(lèi)用戶對(duì)系統(tǒng)的需求簡(jiǎn)要概括如下:

3.2.1學(xué)生用戶需求描述

學(xué)生對(duì)本系統(tǒng)的主要需求是:在線請(qǐng)假以及查看在校期間所有的上課出勤信息。

在線請(qǐng)假需求:學(xué)生在網(wǎng)上填寫(xiě)好請(qǐng)假的起止日期,請(qǐng)假原因后,就可以向本學(xué)期本班班主任提出請(qǐng)假申請(qǐng),超過(guò)三天的請(qǐng)假,由班主任審批后,再由院系領(lǐng)導(dǎo)審批。在在線請(qǐng)假的全過(guò)程當(dāng)中,學(xué)生可以隨時(shí)查看請(qǐng)假的詳細(xì)進(jìn)展情況。

查看出勤信息需求:學(xué)生可以查看在校期間所有學(xué)期上課出勤的詳細(xì)信息,如:查看“高等數(shù)學(xué)”這門(mén)課程在整個(gè)學(xué)期請(qǐng)假、曠課、遲到、早退了多少次,以及具體的時(shí)間、任課老師姓名、第幾節(jié)課等詳細(xì)信息。

其它需求:查看本人的基本信息,如本人的所屬的院系、年級(jí)、專(zhuān)業(yè)、班級(jí)、學(xué)號(hào)、姓名、性別等,以及修改個(gè)人用戶密碼,查看本班課表安排。

3.2.2任課老師用戶需求描述

任課老師對(duì)系統(tǒng)的主要需求是:管理所教班級(jí)學(xué)生的上課出勤信息以及查看所教班級(jí)學(xué)生的上課出勤信息。

管理學(xué)生上課出勤需求:根據(jù)學(xué)校安排的課表,隨著時(shí)間的變化,自動(dòng)列出還沒(méi)有在網(wǎng)上公布的學(xué)生上課出勤信息,系統(tǒng)自動(dòng)根據(jù)學(xué)生請(qǐng)假系統(tǒng),決定學(xué)生上課出勤的最終結(jié)果。

查看學(xué)生出勤信息需求:查看所教班級(jí)學(xué)生整個(gè)學(xué)期上出勤統(tǒng)計(jì)信息及詳細(xì)信息。

其它需求:查看上課課表,本人基本信息以及修改個(gè)人用戶密碼。

3.2.3班主任用戶需求描述

班主任對(duì)本系統(tǒng)的主要需求是:審批本班學(xué)生本學(xué)期的在線請(qǐng)假以及查看本班學(xué)生本學(xué)期所有課程的上課出勤信息。

審批學(xué)生請(qǐng)假需求:本班學(xué)生本學(xué)期在線請(qǐng)假申請(qǐng)后,自動(dòng)提示班主任有等待審批的請(qǐng)假信息,班主任針對(duì)請(qǐng)假申請(qǐng)信息進(jìn)行學(xué)生請(qǐng)假審批,以及對(duì)請(qǐng)假信息回復(fù)。

查看學(xué)生上課出勤信息需求:查看本班學(xué)生整個(gè)學(xué)期有關(guān)課程的上出勤統(tǒng)計(jì)信息及詳細(xì)信息。

其它需求:查看本班學(xué)生的基本信息、修改個(gè)人用戶密碼等。

3.2.4院(系)領(lǐng)導(dǎo)用戶需求描述

院系領(lǐng)導(dǎo)對(duì)系統(tǒng)的主要需求是:審批本院系學(xué)生超過(guò)三天的請(qǐng)假以及查看本院系學(xué)生上課出勤信息。

審批請(qǐng)假需求:當(dāng)學(xué)生請(qǐng)超過(guò)三天的假,經(jīng)班主任審批同意后,系統(tǒng)自動(dòng)提交給任何一個(gè)最先進(jìn)入系統(tǒng)的院系領(lǐng)導(dǎo)審批請(qǐng)假,以及針對(duì)請(qǐng)假回復(fù)。

查看本院系學(xué)生出勤信息需求:輸入查詢條件后,系統(tǒng)根據(jù)查詢條件列出本院系學(xué)生相關(guān)的上課出勤信息。

其它需求:查看本院系有關(guān)基本信息以及修改個(gè)人用戶密碼等。

3.2.5學(xué)校領(lǐng)導(dǎo)用戶需求描述

學(xué)校領(lǐng)導(dǎo)對(duì)系統(tǒng)的主要需求是:查看全校學(xué)生上課出勤信息。

查看出勤信息需求:輸入查詢條件后,系統(tǒng)根據(jù)查詢條件列出本校學(xué)生相關(guān)的上課出勤信息。

其它需求:查看有關(guān)全校的基本信息以信修改個(gè)人用戶密碼等。

3.2.6系統(tǒng)管理員用戶需求描述

系統(tǒng)管理員有系統(tǒng)的最高權(quán)限,負(fù)責(zé)系統(tǒng)所需所有數(shù)據(jù)的動(dòng)態(tài)同步更新以及維護(hù),根據(jù)系統(tǒng)針對(duì)各用戶的設(shè)計(jì),基本功能需求如下:

1、管理學(xué)校各院系、年級(jí)、專(zhuān)業(yè)、班級(jí)的添加、刪除、修改等。

2、管理每個(gè)學(xué)期每個(gè)班級(jí)的課程安排及指定班主任和任課老師。

3、管理系統(tǒng)所有用戶。

4、管理全校課表安排。

5、管理全校每學(xué)年開(kāi)學(xué)的起止時(shí)間。

6、管理系統(tǒng)的請(qǐng)假、考勤信息。

3.3功能需求描述

根據(jù)各類(lèi)用戶的需求描述,系統(tǒng)應(yīng)當(dāng)具備請(qǐng)假系統(tǒng)、考勤管理系統(tǒng)、后臺(tái)管理系統(tǒng)這三大主要功能。

請(qǐng)假系統(tǒng)功能需求:通過(guò)實(shí)際調(diào)查分析得出,目前高校中的請(qǐng)假流程是學(xué)生若要請(qǐng)假,必須先寫(xiě)好請(qǐng)假條先由本學(xué)年班主任審批,超過(guò)四天的請(qǐng)假,還要等待院系領(lǐng)導(dǎo)審批通過(guò)后才能生效。請(qǐng)假最長(zhǎng)時(shí)間不能超過(guò)1個(gè)月,特殊情況除外。

考勤管理功能需求:任課老師通過(guò)考勤管理系統(tǒng),對(duì)學(xué)生上課出勤信息進(jìn)行公開(kāi),但由于任課老師忙于教學(xué),為了能及時(shí)準(zhǔn)確無(wú)誤的對(duì)學(xué)生出勤情況公開(kāi),要求系統(tǒng)能自動(dòng)提示任課老師對(duì)上完課了,但還沒(méi)公布的出勤信息進(jìn)行網(wǎng)上公布。

后臺(tái)管理功能需求:后來(lái)管理主要是用來(lái)管理系統(tǒng)操作的數(shù)據(jù),因?yàn)楦咝C繉W(xué)年的學(xué)生都在變化,有新生入學(xué),也有學(xué)生畢業(yè)。請(qǐng)假系統(tǒng)要借助班主任安排才能完成,考勤管理系統(tǒng)要借助請(qǐng)假系統(tǒng)、班級(jí)課表安排才能完成,然而每學(xué)年課表都在變化,班主任安排也有在變化,學(xué)生也在變化,因此必須要求后臺(tái)管理系統(tǒng)能根據(jù)系統(tǒng)需求,動(dòng)態(tài)的、準(zhǔn)確的更新系統(tǒng)數(shù)據(jù)。

3.4系統(tǒng)開(kāi)發(fā)工具

根據(jù)各用戶的需求,以及系統(tǒng)各大功能的需求,經(jīng)過(guò)大量的調(diào)查分析,針對(duì)本高校學(xué)生考勤管理系統(tǒng)選擇以下開(kāi)發(fā)工具進(jìn)行開(kāi)發(fā):

系統(tǒng)結(jié)構(gòu):B/S (瀏覽器/服務(wù)器)

開(kāi)發(fā)語(yǔ)言:JAVA/JSP

數(shù)據(jù)庫(kù):SQL Server 2000

開(kāi)發(fā)工具:JDK 1.5? Dreamweaver?? Jcreator

服務(wù)器端容器:Tomcat 5.5

3.5相關(guān)開(kāi)發(fā)工具簡(jiǎn)介

3.5.1 B/S(瀏覽器/服務(wù)器)簡(jiǎn)介

B/S(Browser/Server,瀏覽器/服務(wù)器)模式又稱B/S結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對(duì)C/S模式應(yīng)用的擴(kuò)展。在這種結(jié)構(gòu)下,用戶工作界面是通過(guò)IE瀏覽器來(lái)實(shí)現(xiàn)的。B/S模式最大的好處是運(yùn)行維護(hù)比較簡(jiǎn)便,能實(shí)現(xiàn)不同的人員,從不同的地點(diǎn),以不同的接入方式(比如LAN, WAN, Internet/Intranet等)訪問(wèn)和操作共同的數(shù)據(jù);最大的缺點(diǎn)是對(duì)網(wǎng)絡(luò)環(huán)境依賴性太強(qiáng),由于各種原因引起網(wǎng)絡(luò)中斷都會(huì)造成系統(tǒng)癱瘓。

3.5.2 JAVA/JSP簡(jiǎn)介

JAVA是SUN公司推出的完全面向?qū)ο蟮恼Z(yǔ)言,它有很好的跨平臺(tái)性、安全性、重用性等特點(diǎn)。

JSP的全稱是Java Servlet Pages,它是SUN推出的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn)。它在傳統(tǒng)的靜態(tài)頁(yè)面文件(*.html,*htm)中加入Java程序片段和JSP標(biāo)記,就構(gòu)成了JSP頁(yè)面。由Web服務(wù)器上的JSP引擎來(lái)處理JSP元素,生成調(diào)用Bean,并用JDBC訪問(wèn)數(shù)據(jù)庫(kù)(或文件),最后以HTML或XML的形式返回瀏覽器。JSP在Servlet類(lèi)中編譯,編譯一次后存入內(nèi)存,以后再調(diào)用時(shí),不用再編譯,所以速度很快。

3.6 系統(tǒng)功能劃分

根據(jù)系統(tǒng)用戶的需求,將本系統(tǒng)按功能劃分成三大功能模塊:請(qǐng)假系統(tǒng)、考勤系統(tǒng)、后臺(tái)管理模塊,涉及到六大類(lèi)用戶:學(xué)生、任課教師、班主任、院系領(lǐng)導(dǎo)、學(xué)校領(lǐng)導(dǎo)、系統(tǒng)管理員。

  • 請(qǐng)假系統(tǒng)模塊
  • 本模塊的功能是在線請(qǐng)假的實(shí)現(xiàn)及管理,主要涉及三大類(lèi)用戶:學(xué)生、班主任及院系領(lǐng)導(dǎo)用戶,學(xué)生通過(guò)此功能模塊進(jìn)行在線請(qǐng)假及查看請(qǐng)假記錄信息;班主任在線審批學(xué)生請(qǐng)假及查看請(qǐng)假記錄信息;院系領(lǐng)導(dǎo)在線審批學(xué)生長(zhǎng)時(shí)間的請(qǐng)假及查看請(qǐng)假記錄信息。

  • 考勤系統(tǒng)模塊
  • 本模塊的功能是學(xué)生考勤信息統(tǒng)計(jì)的實(shí)現(xiàn)、查看及管理,涉及六大類(lèi)用戶中的所有用戶。學(xué)生在線查看自己所有學(xué)年的出勤信息;任課老師在線管理學(xué)生出勤信息;班主任、院系領(lǐng)導(dǎo)、學(xué)校領(lǐng)導(dǎo)查看不同的范圍的學(xué)生出勤信息。

  • 后臺(tái)管理管理
  • 本模塊的功能實(shí)現(xiàn)整個(gè)系統(tǒng)數(shù)據(jù)的同步更新及維護(hù),只涉及系統(tǒng)管理員用戶。系統(tǒng)管理員動(dòng)態(tài)的管理學(xué)生信息、課表安排、學(xué)年安排等信息,是整個(gè)系統(tǒng)實(shí)現(xiàn)的基礎(chǔ)。

    3.7 數(shù)據(jù)字典

    數(shù)據(jù)詞典,既用于描述數(shù)據(jù)流和數(shù)據(jù)存儲(chǔ)的詳細(xì)邏輯內(nèi)容,也可用于描述外部項(xiàng)和處理邏輯的某些數(shù)據(jù)特性。數(shù)據(jù)詞典把數(shù)據(jù)的最小組成單位看作數(shù)據(jù)元素,若干個(gè)數(shù)據(jù)元素組成數(shù)據(jù)結(jié)構(gòu)。它通過(guò)對(duì)數(shù)據(jù)元素和數(shù)據(jù)結(jié)構(gòu)的定義,來(lái)描述數(shù)據(jù)流和數(shù)據(jù)存儲(chǔ)的邏輯內(nèi)容。它相當(dāng)于字典的作用,當(dāng)用戶或軟件人員想了解某一數(shù)據(jù)的含義時(shí),查查字典就可以了。

    ?

    ??
    ?

    名字:學(xué)生信息表

    別名:學(xué)生

    定義:學(xué)生基本詳細(xì)信息

    描述:學(xué)生=stu_number+stu_name+stu_sex+stu_password+class_id

    位置:用戶登錄

    ?
    ?

    名字:任課老師信息表

    別名:任課老師

    定義:任課老師基本詳細(xì)信息

    描述:任課老師=teacher_id+teacher_name+teacher_password+college_id

    位置:用戶登錄

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ???
    ?

    名字:班主任信息表

    別名:班主任

    定義:班主任基本詳細(xì)信息

    描述:班主任=class_teacher_id+class_teacher_name+class_teacher_password+

    college_id

    位置:用戶登錄

    ?
    ?

    名字:院系領(lǐng)導(dǎo)信息表

    別名:院系領(lǐng)導(dǎo)

    定義:院系領(lǐng)導(dǎo)基本詳細(xì)信息

    描述:院系領(lǐng)導(dǎo)=college_leader_id+college_leader_name+

    college_leader_password+college_id

    位置:用戶登錄

    ?
    ?

    名字:學(xué)校領(lǐng)導(dǎo)信息表

    別名:學(xué)校領(lǐng)導(dǎo)

    定義:學(xué)校領(lǐng)導(dǎo)基本詳細(xì)信息

    描述:學(xué)校領(lǐng)導(dǎo)=school_id+school_name+school_password

    位置:用戶登錄

    ?
    ?

    名字:上課考勤登記信息表

    別名:考勤登記

    定義:任課老師對(duì)所教課程的登記情況

    描述:考勤登記= id+record_time+sk_time

    位置:任課老師考勤管理頁(yè)面

    ?
    ?

    名字:請(qǐng)假信息表

    別名:請(qǐng)假

    定義:學(xué)生請(qǐng)假詳細(xì)信息

    描述:請(qǐng)假= class_id+year_id+stu_number+qingjia_yuanyin+start_time+

    end_time+day_number+qingjia_time+class_teacher_status+class_teacher_sp_time+class_teacher_restore+college_leader_status+college_leader_id+

    college_leader_sp_time+college_leader_restore

    位置:學(xué)生、班主任、院系領(lǐng)導(dǎo)請(qǐng)假系統(tǒng)

    ?
    ?

    名字:學(xué)生上課出勤息表

    別名:出勤

    定義:學(xué)生上課的出勤情況。

    描述:出勤= id+sk_time+stu_number+stu_status

    位置:學(xué)生、任課老師、班主任、院系領(lǐng)導(dǎo)、學(xué)校領(lǐng)導(dǎo)考勤系統(tǒng)

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    3.8 數(shù)據(jù)流圖

    數(shù)據(jù)流程圖是結(jié)構(gòu)化系統(tǒng)分析的工具。它既可以表達(dá)數(shù)據(jù)在系統(tǒng)內(nèi)部的邏輯流向及存儲(chǔ),又可以表達(dá)系統(tǒng)的邏輯功能和數(shù)據(jù)的邏輯變換。數(shù)據(jù)流程圖既能表達(dá)現(xiàn)行人工系統(tǒng)的數(shù)據(jù)流程和邏輯處理功能,也能表達(dá)自動(dòng)化系統(tǒng)的數(shù)據(jù)流程和邏輯處理功能。

    ?

    圖3-1請(qǐng)假系統(tǒng)數(shù)據(jù)流圖

    Fig3-1 the system’s of asking for leave dataflow pursueing

    學(xué)生請(qǐng)假

    班主任審批

    院系領(lǐng)導(dǎo)審批

    請(qǐng)假成功

    請(qǐng)假失敗

    請(qǐng)假記錄

    同意

    同意

    不同意

    同意

    不同意

    圖3-2考勤系統(tǒng)數(shù)據(jù)流圖

    Fig3-2 attendance system’s dataflow pursueing

    ?

    任課老師

    請(qǐng)假系統(tǒng)

    數(shù)據(jù)處理

    請(qǐng)假

    曠課

    遲到

    早退

    出勤記錄

    請(qǐng)假記錄

    ?

    ????
    ?
    ?
    ??

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    3.9運(yùn)行需求

    3.9.1 最低配置

    服務(wù)器端

    1)硬件需求:處理器? Intel Pentium III ?內(nèi)存 128M? 硬盤(pán)? 40G

    2)軟件需求:Windows 98? Microsoft Internet Explorer 4.01? JDK 1.5

    SQL Server 2000 數(shù)據(jù)庫(kù)??? Tomcat 5.0

    客戶端

    1)硬件需求: 處理器? Intel奔騰133或相當(dāng)?shù)奶幚砥?strong> 內(nèi)存 64M 硬盤(pán) 10G

    2)軟件需求: Windows 98? Microsoft Internet Explorer 4.01

    3.9.2 建議配置

    服務(wù)器端

    1)硬件需求:處理器? Intel Pentium IV 2.8G 內(nèi)存 256M 硬盤(pán)? 80G

    2)軟件需求:Microsoft Windows 2000/XP? JDK 1.5?? Tomcat 5.5

    SQL Server2000 數(shù)據(jù)庫(kù) Microsoft Internet Explorer 6.0

    客戶端

    1)硬件需求:處理器? Intel Pentium IV 1.8或相當(dāng)?shù)奶幚?/p>

    ??????????? 內(nèi)存128M 硬盤(pán) 20G

    2)軟件需求: Windows 2000/XP? Microsoft Internet Explorer 6.0

    ?

    ?

    第4章? 總體設(shè)計(jì)

    4.1 引言

    經(jīng)過(guò)需求分析階段的工作,系統(tǒng)必須“做什么”已經(jīng)清楚了,現(xiàn)在是決定“怎樣做”的時(shí)候。

    4.2 系統(tǒng)布局設(shè)計(jì)

    系統(tǒng)頁(yè)面采用框架來(lái)設(shè)計(jì),不同的用戶有不同的功能菜單,但都有統(tǒng)一的風(fēng)格,這給頁(yè)面的使用和維護(hù)都帶來(lái)了很大的便利,特別是在代碼重用方面起了很大作用。本系統(tǒng)各用戶的頁(yè)面設(shè)計(jì)如圖4-1所示:

    ?

    頁(yè)面主體

    功能菜單

    Banner

    Bottom

    圖4-1 系統(tǒng)布局圖

    Fig4-1 System’s layout map

    ?

    ?

    ?
    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    1.Banner區(qū)——可以在此展示系統(tǒng)標(biāo)識(shí)、頁(yè)面歸屬等信息。

    2.功能菜單區(qū)——提供系統(tǒng)可供操作的功能列表。

    4.頁(yè)面主體區(qū)——顯示頁(yè)面格式化數(shù)據(jù)頁(yè)面主體區(qū)顯示的內(nèi)容,將依據(jù)頁(yè)面在系統(tǒng)中的作用而定。

    5.Bottom區(qū)——可設(shè)計(jì)為顯示系統(tǒng)所有權(quán)等信息。

    4.3 總體結(jié)構(gòu)圖

    根據(jù)系統(tǒng)功能的要求,高校學(xué)生考勤管理系統(tǒng)各個(gè)模塊之間的層次結(jié)構(gòu)如圖4-2所示:

    ?

    高校學(xué)生考勤管理系統(tǒng)

    請(qǐng)假系統(tǒng)

    考勤系統(tǒng)

    后臺(tái)管理

    圖4-2? 系統(tǒng)功能結(jié)構(gòu)示意圖

    Fig.4-2? Structure sketch map of the system’s function

    ?

    ?
    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    按用戶劃分,系統(tǒng)結(jié)構(gòu)圖如圖4-3所示:

    ?

    高校學(xué)生考勤管理系統(tǒng)

    學(xué)生

    班主任

    任課老師

    院系領(lǐng)導(dǎo)

    學(xué)校領(lǐng)導(dǎo)

    管理員

    圖4-3? 系統(tǒng)用戶結(jié)構(gòu)示意圖

    Fig.4-3 Structure sketch map of the System’s user

    ?

    ?
    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    請(qǐng)假系統(tǒng)子功能模塊層次結(jié)構(gòu)圖如圖4-4所示:

    ?

    請(qǐng)假系統(tǒng)子模塊

    學(xué)生在線請(qǐng)假模塊

    班主任審批模塊

    院系領(lǐng)導(dǎo)審批模塊

    圖4-4? 請(qǐng)假系統(tǒng)結(jié)構(gòu)示意圖

    Fig.4-4 Structure sketch map of the system asking for leave

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    考勤系統(tǒng)子功能模塊的層次結(jié)構(gòu)如圖4-5所示:

    ?

    ?

    考勤管理子模塊

    任課老師提交數(shù)據(jù)

    各用戶查詢考勤數(shù)據(jù)

    圖4-5? 考勤系統(tǒng)結(jié)構(gòu)示意圖

    Fig.4-5 Structure sketch map of the system checking attendance

    ?

    ?
    ?

    ?

    ?

    ?

    ?

    ?

    ?

    4.4 本人主要工作任務(wù)

    本高校學(xué)生考勤管理系統(tǒng)分成三大功能模塊來(lái)實(shí)現(xiàn),本人主要負(fù)責(zé):請(qǐng)假系統(tǒng)、考勤系統(tǒng)兩大功能模塊,涉及前五大類(lèi)用戶:學(xué)生、班主任、任課老師、院系領(lǐng)導(dǎo)、學(xué)校領(lǐng)導(dǎo)。后臺(tái)管理功能模塊,即系統(tǒng)管理員的功能由同組的同學(xué)來(lái)實(shí)現(xiàn)。

    ?

    ?

    第5章? 詳細(xì)設(shè)計(jì)

    5.1 引言

    總體設(shè)計(jì)階段以比較抽象概括的方式提出了解決問(wèn)題的辦法。詳細(xì)設(shè)計(jì)是軟件開(kāi)發(fā)時(shí)期的第三個(gè)階段,也是軟件設(shè)計(jì)的第二步。其任務(wù)就是把解法具體化,也就是回答下面這個(gè)關(guān)鍵的問(wèn)題:“應(yīng)該怎樣具體地實(shí)現(xiàn)這個(gè)系統(tǒng)呢?”,通過(guò)詳細(xì)設(shè)計(jì)應(yīng)該得出對(duì)目標(biāo)系統(tǒng)的精確描述,給出各個(gè)模塊的詳細(xì)過(guò)程性描述。從而在編碼階段可以把這個(gè)描述直接翻譯成用某種程序設(shè)計(jì)語(yǔ)言書(shū)寫(xiě)的程序。

    5.2 系統(tǒng)功能流程圖

    1)主功能流程:

    ?

    圖5-1? 主界面流程圖

    Fig.5-1 main pages’s flow diagram

    開(kāi)始

    用戶登陸

    學(xué)生

    班主任

    任課老師

    院系領(lǐng)導(dǎo)

    學(xué)校領(lǐng)導(dǎo)

    在線請(qǐng)假

    查看考勤信息

    查看考勤信息

    提交考勤信息

    查看考勤信息

    審批請(qǐng)假

    審批請(qǐng)假

    查看考勤信息

    查看考勤信息

    退出系統(tǒng)

    結(jié)束

    ?

    ?
    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    5.3系統(tǒng)目錄結(jié)構(gòu)設(shè)計(jì)

    index.jsp????? 系統(tǒng)首頁(yè)

    WEB-INF??????? 系統(tǒng)配置目錄

    public???????? 公共目錄

    image????????? 圖片目錄

    student??????? 學(xué)生目錄

    teacher??????? 任課老師目錄

    class_teacher? 班主任目錄

    college_leader 院系領(lǐng)導(dǎo)目錄

    school_leader? 學(xué)校領(lǐng)導(dǎo)目錄

    admin????????? 系統(tǒng)管理員目錄

    account_manager?????? 賬號(hào)管理目錄

    class_teacher???????? 班主任指定目錄

    college_manager?????? 院系管理目錄

    admin子目錄???????? course_manager??????? 課表安排目錄

    ?????????????????????? kecheng_manager?????? 課程管理目錄

    ?????????????????????? kaoqin_manager??????? 考勤管理目錄

    qingjia?????????????? 請(qǐng)假管理目錄

    ??????????????????????? year_manager???????? 學(xué)年安排目錄

    5.4 數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)現(xiàn)

    5.4.1 實(shí)體模型

    ?

    老師提交記錄

    記錄ID

    提交時(shí)間

    上課時(shí)間

    圖5-1任課老師提交記錄實(shí)體圖

    Fig5-2 entity chart of the records submited to by teacher

    圖5-3 請(qǐng)假記錄屬性模型

    Fig5-3 attribute model of the record asking for leave

    院系領(lǐng)導(dǎo)姓名

    請(qǐng)假記錄

    班級(jí)代號(hào)

    學(xué)年代號(hào)

    學(xué)生學(xué)號(hào)

    請(qǐng)假原因

    請(qǐng)假天數(shù)

    開(kāi)始時(shí)間

    結(jié)束時(shí)間

    申請(qǐng)時(shí)間

    班主任審批狀態(tài)

    班主任審批時(shí)間

    班主任回復(fù)

    院系回復(fù)

    院系審批狀態(tài)

    院系審批時(shí)間

    ?

    ????
    ??
    ?
    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    圖5-4學(xué)生出勤記錄屬性模型

    Fig5-4 attribute model of the record going on duty

    學(xué)生出勤記錄

    出勤ID

    上課時(shí)間

    學(xué)號(hào)

    出勤情況

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    5.4.2 E-R模型

    ?

    學(xué)生

    請(qǐng)假記錄

    1

    n

    請(qǐng)假

    圖5-5 學(xué)生-請(qǐng)假記錄E-R模型

    Fig5-5 the E-R model of the records asking for leave

    1

    1

    出勤記錄

    學(xué)生

    出勤

    圖5-6 學(xué)生—出勤記錄E-R模型

    Fig5-6 E-R model of the records going on duty

    ?

    ?
    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    5.4.3 數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì)

    根據(jù)系統(tǒng)功能設(shè)計(jì)的要求以及功能模塊的劃分,對(duì)于系統(tǒng)數(shù)據(jù)庫(kù),可以列出以下數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):

    考勤登記表:課程安排代號(hào)、記載時(shí)間、上課時(shí)間。

    學(xué)生上課出勤信息表:上課時(shí)間代號(hào)、上課時(shí)間、學(xué)號(hào)、出勤狀態(tài)。

    請(qǐng)假信息表:請(qǐng)假代號(hào)、班級(jí)代號(hào)、學(xué)年代號(hào)、學(xué)號(hào)、請(qǐng)假原因、開(kāi)始時(shí)間、結(jié)束時(shí)間、請(qǐng)假天數(shù)、申請(qǐng)時(shí)間、班主任審批狀態(tài)、班主任審批時(shí)間、班主任回復(fù)、院系領(lǐng)導(dǎo)審批狀態(tài)、院系領(lǐng)導(dǎo)代號(hào)、院系領(lǐng)導(dǎo)審批時(shí)間、院系領(lǐng)導(dǎo)回復(fù)

    5.4.4 數(shù)據(jù)庫(kù)表的創(chuàng)建

    根據(jù)數(shù)據(jù)庫(kù)需求的分析,建立如下3個(gè)基本數(shù)據(jù)表。

    表5-1 請(qǐng)假信息表(qingjia)

    列名

    數(shù)據(jù)類(lèi)型

    是否為空

    說(shuō)明

    id

    Int(4)

    否(主鍵)(自動(dòng)生成)

    請(qǐng)假代號(hào)

    class_id

    varchar(10)

    班級(jí)代號(hào)

    year_id

    varchar(20)

    學(xué)期代號(hào)

    stu_number

    varchar(20)

    學(xué)生學(xué)號(hào)

    qingjia_yuanyin

    varchar(200)

    請(qǐng)假原因

    start_time

    datetime

    開(kāi)始時(shí)間

    end_time

    datetime

    結(jié)束時(shí)間

    day_number

    Int(4)

    否(默認(rèn)0)

    請(qǐng)假天數(shù)

    qingjia_time

    datetime

    申請(qǐng)請(qǐng)假時(shí)間

    class_teacher_status

    Int(4)

    否(默認(rèn)值:0)

    班主任審批狀態(tài)

    class_teacher_sp_time

    datetime

    班主任審批時(shí)間

    class_teacher_restore

    varchar(200)

    班主任回復(fù)

    college_leader_status

    Int(4)

    否(默認(rèn)值:0)

    院系領(lǐng)導(dǎo)審批狀態(tài)

    college_leader_id

    varchar(20)

    院系領(lǐng)導(dǎo)代號(hào)

    college_leader_sp_time

    datetime

    院系領(lǐng)導(dǎo)審批時(shí)間

    college_leader_restore

    varchar(200)

    院系領(lǐng)導(dǎo)回復(fù)

    備注:status 表示審批狀態(tài):0為等待審批,1為同意請(qǐng)假,2為不同意請(qǐng)假。

    表5-2 任課老師提交出勤信息記錄表(record)

    列名

    數(shù)據(jù)類(lèi)型

    是否為空

    說(shuō)明

    record_id

    Int(4)

    否(自動(dòng)生成)

    代號(hào)

    id

    Int(4)

    與表course_time中id關(guān)聯(lián)

    record_time

    datetime

    老師考勤記載時(shí)間

    sk_time

    datetime

    上課時(shí)間

    表5-3 學(xué)生上課出勤記錄表(kaoqin_record)

    列名

    數(shù)據(jù)類(lèi)型

    是否為空

    說(shuō)明

    kaoqin_id

    Int(4)

    否(自動(dòng)生成)

    代號(hào)

    id

    Int(4)

    與表course_time中id關(guān)聯(lián)

    sk_time

    datetime

    上課時(shí)間

    Stu_number

    Varchar(20)

    學(xué)生學(xué)號(hào)

    Stu_status

    Varchar(1)

    學(xué)生上課考勤狀態(tài)

    說(shuō)明:stu_status的值為:“2”表示曠課。“3”表示遲到。“4”表示早退。“5”表示請(qǐng)假。

    5.4.5 數(shù)據(jù)庫(kù)的建立

    打開(kāi)SQL Server2000下面的[企業(yè)管理器],登錄之后,選擇[新建數(shù)據(jù)庫(kù)]命令,給數(shù)據(jù)庫(kù)起名為kaoqin。然后通過(guò)設(shè)計(jì)器創(chuàng)建數(shù)據(jù)表,剛才已經(jīng)說(shuō)明了需要不同的數(shù)據(jù)表來(lái)分管,它們分別是“qingjia”,“kaoqin_record”,“record”等,有關(guān)這些數(shù)據(jù)表的信息見(jiàn)上圖。

    5.5 前端操作頁(yè)面設(shè)計(jì)

    5.5.1 系統(tǒng)登陸設(shè)計(jì)

    當(dāng)不同的用戶使用系統(tǒng)時(shí),都要事先進(jìn)行身份驗(yàn)證。用戶在“用戶名”處輸入系統(tǒng)管理員分配的用戶,選擇正確的用戶類(lèi)型,最后輸入正確密碼后方能進(jìn)行系統(tǒng),用戶名、用戶類(lèi)型、密碼任一一個(gè)輸入有誤,系統(tǒng)都將拒絕用戶使用此系統(tǒng),若用戶忘記了用戶名或密碼,請(qǐng)與管理員聯(lián)系,本系統(tǒng)不支持在線找回密碼功能。學(xué)生用戶的用戶名為學(xué)生本人的學(xué)號(hào),密碼也是學(xué)號(hào),其它用戶的用戶名、密碼由系統(tǒng)管理員指定。

    本系統(tǒng)在設(shè)計(jì)時(shí),嚴(yán)格考慮好了系統(tǒng)的安全性,不允許用戶不經(jīng)登陸直接使用系統(tǒng)的任何一個(gè)網(wǎng)頁(yè),用戶也不能繞過(guò)身份驗(yàn)證,即:假如一個(gè)學(xué)生用戶用正確的用戶名和密碼進(jìn)行系統(tǒng)后,就算他知道管理用戶或其它用戶的某個(gè)網(wǎng)頁(yè)地址,也是不能打開(kāi),進(jìn)行操作的,系統(tǒng)將自動(dòng)提示沒(méi)權(quán)限的錯(cuò)誤信息。

    5.5.2 學(xué)生用戶功能設(shè)計(jì)

    根據(jù)學(xué)生用戶的需求,系統(tǒng)實(shí)現(xiàn)了在線請(qǐng)假、查看上課出勤信息、查看個(gè)人基本信息這三大主要功能。系統(tǒng)針對(duì)學(xué)生用戶設(shè)計(jì)如下功能菜單:基本信息、請(qǐng)假系統(tǒng)、考勤信息、查看課表、修改密碼、安全退出、幫助。在基本信息功能菜單中,學(xué)生可以查看自己的學(xué)號(hào)、姓名、性別、院系、年級(jí)、專(zhuān)業(yè)、班級(jí)號(hào)信息。在請(qǐng)假系統(tǒng)功能菜單中,實(shí)現(xiàn)了在線請(qǐng)假申請(qǐng)功能,以及查看等待審批的請(qǐng)假信息、請(qǐng)假成功的請(qǐng)假信息、請(qǐng)假失敗的請(qǐng)假信息。在考勤信息菜單下,學(xué)生可以查看本學(xué)年以及歷史學(xué)年上課出勤的統(tǒng)計(jì)信息及詳細(xì)信息。在查看課表功能菜單中,學(xué)生可以查看當(dāng)前學(xué)期的課表安排,以及歷年的課表安排。修改密碼功能菜單,學(xué)生可以修改自己的密碼。本系統(tǒng)還自帶幫助文件,方便用戶在使用過(guò)程中隨時(shí)查閱。

    學(xué)生用戶的在線請(qǐng)假,在班主任或院系領(lǐng)導(dǎo)還沒(méi)批假之前可以由學(xué)生自行刪除,若班主任審批了請(qǐng)假,則學(xué)生不能刪除申請(qǐng)記錄,學(xué)生不能重復(fù)請(qǐng)假,因此學(xué)生請(qǐng)假時(shí)應(yīng)當(dāng)慎重。

    根據(jù)學(xué)生用戶請(qǐng)假的需求,學(xué)生三天內(nèi)的請(qǐng)假(包括三天)只需班主任批準(zhǔn)后就可生效,四天(包括四天)以上的請(qǐng)假,必須先由班主任同意,然后學(xué)校同意,請(qǐng)假方能生效,超過(guò)30天的請(qǐng)假不能在線請(qǐng)假。請(qǐng)假開(kāi)始時(shí)間必須在請(qǐng)假結(jié)束時(shí)間之前,否則系統(tǒng)自動(dòng)提示出錯(cuò)信息,且請(qǐng)假時(shí),必須指定請(qǐng)假開(kāi)始時(shí)間,請(qǐng)假結(jié)束時(shí)間,以及請(qǐng)假原因,請(qǐng)假時(shí)不必要指定班主任,系統(tǒng)會(huì)自動(dòng)根據(jù)本學(xué)期的班級(jí)與班主任安排,找到班主任,并將信息自動(dòng)交給對(duì)應(yīng)班主任進(jìn)行審批處理,超過(guò)四天的請(qǐng)假還將自動(dòng)交給任何一個(gè)院系領(lǐng)導(dǎo)審批處理。系統(tǒng)還約定學(xué)生網(wǎng)上請(qǐng)假只能提前一個(gè)星期。

    請(qǐng)假開(kāi)始時(shí)間與結(jié)束時(shí)間的約定:請(qǐng)假時(shí)間學(xué)生可自動(dòng)選擇,也可自己輸入日期,但是必須輸入正確的日期格式,否則系統(tǒng)將出錯(cuò),建議學(xué)生選擇日期還不手動(dòng)輸入,以免出錯(cuò)。假若學(xué)生只請(qǐng)一天假,則開(kāi)始時(shí)間與結(jié)束時(shí)間都選擇要請(qǐng)假的那一天,如:一個(gè)學(xué)生2006年5月30日要請(qǐng)假,則開(kāi)始時(shí)間、結(jié)束時(shí)間都選擇2006-05-30,系統(tǒng)在進(jìn)行處理時(shí),自動(dòng)把請(qǐng)假的時(shí)間設(shè)為從2006-05-30 00:00:00開(kāi)始,2006-05-30 23:00:00結(jié)束。同樣,請(qǐng)超過(guò)一天的假也是以這種方式處理的。

    在請(qǐng)假的詳細(xì)記錄中,有學(xué)生請(qǐng)假有關(guān)所有詳細(xì)信息,包括學(xué)生請(qǐng)假的申請(qǐng)時(shí)間、開(kāi)始時(shí)間、結(jié)束時(shí)間、天數(shù)、原因、審批時(shí)間、回復(fù)、請(qǐng)假成功與否等所有有關(guān)請(qǐng)假的信息,學(xué)生可以隨時(shí)查看請(qǐng)假進(jìn)展情況。

    5.5.3 任課老師用戶功能設(shè)計(jì)

    根據(jù)任課老師用戶需求,系統(tǒng)實(shí)現(xiàn)了任課老師在線公布學(xué)生上課出勤信息、查看學(xué)生考勤信息兩大基本功能。系統(tǒng)針任課老師用戶設(shè)計(jì)以下功能菜單:

    查看課表、考勤管理、考勤信息、修改密碼、安全退出、幫助。在查看課表功能菜單下,任課老師可以查看本學(xué)期自己所帶課程的上課時(shí)間以及所教班級(jí)的一些基本信息。在考勤管理功能菜單中,系統(tǒng)比較智能的根據(jù)當(dāng)前日期自動(dòng)提示當(dāng)前學(xué)年還沒(méi)登記的學(xué)生上課出勤表。在考勤信息功能菜單中,任課老師可以查看已經(jīng)記錄的學(xué)生上課出勤信息,既可以查看學(xué)生上課出勤統(tǒng)計(jì)信息,也可以考勤學(xué)生上課出勤統(tǒng)計(jì)信息,還可以做適當(dāng)?shù)男薷摹?/p>

    考勤管理功能是任課老師用戶最主要的功能,任課老師上完課后,將傳統(tǒng)的學(xué)生上課出勤情況在網(wǎng)上進(jìn)行公布,使學(xué)生上課出勤信息及時(shí)準(zhǔn)備對(duì)對(duì)班主任、院系領(lǐng)導(dǎo)、學(xué)校領(lǐng)導(dǎo)透明。根據(jù)任課老師用戶的需求,系統(tǒng)實(shí)現(xiàn)了自動(dòng)提示任課老師提交數(shù)據(jù)的功。根據(jù)課表安排,將本學(xué)期上完課的,還沒(méi)提交數(shù)據(jù)的學(xué)生出勤情況自動(dòng)提示任課老師提交數(shù)據(jù),實(shí)現(xiàn)了智能化管理。比如說(shuō)一個(gè)老師在2006-5-30進(jìn)入了系統(tǒng),那么這個(gè)老師在本學(xué)期,也就是2006-5-30之前上過(guò)的課,但還沒(méi)提交數(shù)據(jù)出勤登記信息自動(dòng)顯示出來(lái),等待任課老師提交數(shù)據(jù),且任課老師在提交數(shù)據(jù)時(shí),若學(xué)生在上課的那天請(qǐng)了假,且請(qǐng)假成功了,那么系統(tǒng)自動(dòng)將學(xué)生出勤記錄記為請(qǐng)假,任課老師無(wú)法記載學(xué)生為曠課等情況。

    任課老師在考勤信息當(dāng)中,可以查看所教過(guò)的學(xué)生上課出勤的詳細(xì)信息及統(tǒng)計(jì)信息,從而到了學(xué)期末,可以方便任課老師根據(jù)上課出勤情況對(duì)學(xué)生平時(shí)成績(jī)打分。

    5.5.4 班主任用戶功能設(shè)計(jì)

    根據(jù)班主任用戶功能的需求,系統(tǒng)實(shí)現(xiàn)了游覽班級(jí)信息、審批本班學(xué)生在線請(qǐng)假、及上課考勤信息三大基本功能。系統(tǒng)針對(duì)班主任用戶設(shè)計(jì)如下功能菜單:班級(jí)信息、請(qǐng)假系統(tǒng)、考勤信息、修改密碼、安全退出、幫助。在班級(jí)信息功能菜單中,班主任用戶可以查看本班學(xué)生的基本信息如:年級(jí)、專(zhuān)業(yè)、班級(jí)、學(xué)生學(xué)號(hào)、姓名、性別。在請(qǐng)假系統(tǒng)功能菜單中,班主任可以審批本班學(xué)生的在線請(qǐng)假,以及查看審批學(xué)生請(qǐng)假的歷史記錄,如:同意的請(qǐng)假記錄和不同意的請(qǐng)假記錄。在考勤信息功能菜單中,班主任用戶可以查看本班學(xué)生所有課程的上課出勤信息,包括出勤詳細(xì)信息及出勤統(tǒng)計(jì)信息。

    班主任用戶在整個(gè)系統(tǒng)中是學(xué)生請(qǐng)假的決策者,學(xué)生請(qǐng)假必須經(jīng)班主任同意后,才能提交給院系領(lǐng)導(dǎo)審批請(qǐng)假。班主任在審批學(xué)生請(qǐng)假時(shí),可以對(duì)學(xué)生的請(qǐng)假返回反饋意見(jiàn),以對(duì)學(xué)生說(shuō)明不同意請(qǐng)假的原因,或向院系領(lǐng)導(dǎo)說(shuō)明情況的真實(shí)性以更好的方便學(xué)生請(qǐng)假。班主任另外一大功能是查看本班學(xué)生本學(xué)期的所有考勤信息,包括詳細(xì)信息和統(tǒng)計(jì)信息,這樣班主任可以及時(shí)有效的與本班同學(xué)溝通,提高辦事效率,提高學(xué)生的學(xué)習(xí)成績(jī)。

    5.5.5 院系領(lǐng)導(dǎo)用戶功能設(shè)計(jì)

    根據(jù)院系領(lǐng)導(dǎo)的用戶需求,系統(tǒng)實(shí)現(xiàn)了查看本院系信息、審批本院系學(xué)生請(qǐng)假、查看考勤信息三大基本功能。系統(tǒng)針對(duì)院系領(lǐng)導(dǎo)用戶設(shè)計(jì)如下功能菜單:院系信息、請(qǐng)假系統(tǒng)、考勤統(tǒng)計(jì)、班主任信息、任課老師信息、班主任安排信息、院系課表、修改密碼、安全退出、幫助。在院系信息功能菜單中,院系領(lǐng)導(dǎo)可以查看本院系的專(zhuān)業(yè)信息、班級(jí)信息、學(xué)生信息。在請(qǐng)假系統(tǒng)功能菜單中,院系領(lǐng)導(dǎo)可以審批經(jīng)班主任同意的長(zhǎng)時(shí)間請(qǐng)假,并可查看審批請(qǐng)假的歷史記錄。在考勤統(tǒng)計(jì)功能菜單中,院系領(lǐng)導(dǎo)可以查看本院系各班級(jí)考勤統(tǒng)計(jì)數(shù)據(jù)、查尋學(xué)生請(qǐng)假信息、考勤信息等。另外在班主任信息、任課老師信息中院系領(lǐng)導(dǎo)可以查看本院系班主任、任課老師的一些基本信息。在院系課表中可以查看本院系當(dāng)前學(xué)年或歷年課表安排。

    院系領(lǐng)導(dǎo)用戶的主要功能是查詢本院系學(xué)生上課的考勤信息及審批學(xué)生請(qǐng)假。院系領(lǐng)導(dǎo)可以查詢本院系某個(gè)班的考勤信息,也可以查詢本院系某個(gè)人的考勤信息,在查詢個(gè)人考勤統(tǒng)計(jì)信息時(shí),是一個(gè)模糊查詢,可以根據(jù)一個(gè)完整學(xué)號(hào),唯一的查出一個(gè)學(xué)生考勤信息,也可輸入部分學(xué)號(hào)、姓名列出所有相關(guān)的考勤記錄。院系領(lǐng)導(dǎo)還可查看本院系的一些基本信息,如:專(zhuān)業(yè)、班級(jí)、任課老師、班主任等一些基本信息。

    5.5.6 學(xué)校領(lǐng)導(dǎo)用戶功能設(shè)計(jì)

    根據(jù)學(xué)樣領(lǐng)導(dǎo)用戶的功能,本系統(tǒng)實(shí)現(xiàn)了查看全校基本信息及學(xué)生考勤信息這兩在基本功能。針對(duì)院系領(lǐng)導(dǎo)用戶設(shè)計(jì)如下功能菜單:學(xué)校信息、考勤信息、院系領(lǐng)導(dǎo)信息、班主任信息、任課老師信息、班主任安排信息、全校課表、修改密碼、安全退出、幫助。在學(xué)校信息功能菜單下,學(xué)校領(lǐng)導(dǎo)可以查看有關(guān)本校的一些基本信息,包括:院系信息、專(zhuān)業(yè)信息、班級(jí)信息、學(xué)生信息等。在考勤統(tǒng)計(jì)功能菜單下,學(xué)校領(lǐng)導(dǎo)可以分院系,班級(jí)查看學(xué)生考勤統(tǒng)計(jì)數(shù)據(jù)也可以查尋學(xué)生上課出勤信息。

    學(xué)校領(lǐng)導(dǎo)用戶的功能與院系領(lǐng)導(dǎo)用戶的功能基本上相同,只是查看信息的范圍不一樣,院系領(lǐng)導(dǎo)只能查看本院系的信息,而學(xué)校領(lǐng)導(dǎo)可以查看全校學(xué)生、任課老師、班主任等所有相關(guān)信息。由于與院系領(lǐng)導(dǎo)設(shè)計(jì)基本上一致,不再重復(fù)。

    ?

    ?

    第6章? 編碼

    6.1用戶操作頁(yè)面編碼

    6.1.1 系統(tǒng)登陸編碼

    用戶登陸時(shí)操作頁(yè)面如圖6-1所示:

    ?

    ?
    ?

    圖6-1 用戶登陸頁(yè)面

    Fig 6-1 the page of debarkation by user

    ?

    ?

    部分代號(hào):

    chuser.jsp

    ……

    <%

    request.setCharacterEncoding("GBK");

    username=request.getParameter("username");

    password=request.getParameter("password");

    Type=(String)request.getParameter("type");

    char userType=Type.charAt(0);

    if(username==null || password==null || username.equals("") ||password.equals("")){

    ?????? out.println("<center>");

    ?????? out.println("<h1>用戶名或密碼輸入非法!請(qǐng)返回重新輸入!</h1><br><br>");

    ?????? out.println("<a href=javascript:history.back()>返回</a>");

    ?????? out.println("</center>");

    ?????? return;

    ??? }

    switch(userType){

    ?case '1' : {sql="select * from stu_user where stu_id='"+username;

    ??????? ?sql+="' and stu_password='"+password+"'";

    ???????? rs=conn.executeQuery(sql);

    ???????? if(rs.next()){

    ?????????? session.setAttribute("userType",Type);

    ?????????? session.setAttribute("userName",username);

    ?????????? session.setMaxInactiveInterval(60*60*24);

    ?????????? response.sendRedirect("/kaoqin/student/student.jsp");

    ??????? }else{

    ?????????? out.println("<center>");

    ?????????? out.println("<h1>用戶名或密碼不正確</h1><br><br>");

    ?????????? out.println("<a href=javascript:history.back()>返回</a>");

    ?????????? out.println("</center>");

    ???????? }

    ???????? conn.close();

    ??????? break;

    ?????? }

    ?…………

    ?%>

    ?各頁(yè)面身份驗(yàn)證代碼:如check_stu.jsp

    <%

    ??? if(session.getAttribute("userType")!=null && !session.getAttribute("userType").equals("")){

    ?????? String userType=(String)session.getAttribute("userType");

    ?????? if(!userType.equals("1"))

    ????????? response.sendRedirect("/kaoqin/public/error_user.jsp");

    ??? }else{

    ???? response.sendRedirect("/kaoqin/public/error_log.jsp");

    ???? }

    ?%>

    只要在所有的學(xué)生用戶頁(yè)面中加入上面的代碼后,用戶必須先登陸后才能打開(kāi)網(wǎng)頁(yè),且不能繞過(guò)身份驗(yàn)證。同樣的頁(yè)面對(duì)應(yīng)各用戶還有check_class_teacher.jsp等

    6.1.2 學(xué)生用戶功能編碼

    根據(jù)系統(tǒng)詳細(xì)設(shè)計(jì),學(xué)生用戶操作頁(yè)面如圖6-2所示:

    ?

    圖6-2 學(xué)生請(qǐng)假系統(tǒng)頁(yè)面

    Fig 6-2 The page of the system asking for leave

    ?

    ?

    請(qǐng)假功能的實(shí)現(xiàn)的程序流程圖如圖6-3所示:

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    圖6-3請(qǐng)假系統(tǒng)流程圖

    Fig 6-3the flow chart of the system asking for leave

    等待班主任審批

    學(xué)生請(qǐng)假記錄

    N

    班主任審批請(qǐng)假

    T=0 C=0 N=?

    T=1 C=0 N=?

    T=2 C=0 N=?

    N>=4等待院系審批

    請(qǐng)假失敗

    N<4 請(qǐng)假成功

    院系審批請(qǐng)假

    T=1 C=0 N>=4

    T=1 C=1 N>=4

    T=1 C=2 N>=4

    請(qǐng)假失敗

    請(qǐng)假成功

    T=0 C=0 N=?

    ?

    ?
    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    說(shuō)明:T 表示班主任對(duì)請(qǐng)假審批結(jié)果。默認(rèn)值:0

    C 表示院系領(lǐng)導(dǎo)對(duì)請(qǐng)假審批結(jié)果。默認(rèn)值:0

    N 表示學(xué)生請(qǐng)假天數(shù)。默認(rèn)值:0

    T、C的值為:0、等待審批。 1、同意請(qǐng)假。2、不同意請(qǐng)假。

    功能實(shí)現(xiàn)部分代碼:

    package qingjia;

    public class QJ_Record{

    ????????? public int day_number=0;

    ????????? public int class_teacher_status=0;

    ????????? public int college_leader_status=0;

    ????????? public QJ_Record(int T,int C,int N){

    ???????????? this.class_teacher_status=T;

    ???????????? this.college_leader_status=C;

    ???????????? this.day_number=N;

    ????????? }

    }

    package qingjia;

    public class QingJia{

    ????????? public int judge(QJ_Record record){?????? //對(duì)請(qǐng)假記錄進(jìn)行判斷,返回值為1:請(qǐng)假成功;

    ????????? ??? int T=record.class_teacher_status;??? //返回值為0:等審批的請(qǐng)假。返回值為-1:失敗的請(qǐng)假

    ????????? ??? int C=record.college_leader_status;

    ????????? ??? int N=record.day_number;

    ????????? ??? int result=0;

    ????????? ??? if(T==0&&C==0)

    ????????? ?????? result=0;

    ????????? ??? if(T==2&&C==0)

    ????????? ?????? result=-1;

    ????????? ??? if(T==1&&C==0)

    ????????? ??? ? if(N>=1&&N<4)

    ????????? ??? ? ???result=1;

    ????????? ??? if(T==1&&N>=4)

    ????????? ??????? if(C==0)

    ????????? ?????????? result=0;

    ????????? ??????? else if(C==1)

    ????????? ???????????????? result=1;

    ????????? ???????????? else

    ????????? ???????????????? result=-1;

    ????????? ??? return result;

    ????????? }

    }

    6.1.3 任課老師用戶功能編碼

    根據(jù)任課老師詳細(xì)設(shè)計(jì)的要求,設(shè)計(jì)任課老師操作頁(yè)面如圖6-4所示:

    ?

    ?
    ?

    圖6-4任課老師考勤管理頁(yè)面

    Fig 6-4 the page of attendance management of teacher

    ?

    ?

    部分代碼:

    kq_manager_m.jsp

    ??? ……

    <%

    ??? format=new java.text.SimpleDateFormat("yyyy/MM/dd HH:mm:ss");

    ??? String cur_time_2=format.format(cur_time);

    ??? String sql_t="select * from year where year_id='"+year_id+"'";

    ??? ResultSet rs_t=conn.executeQuery(sql_t);

    ??? if(rs_t.next()){

    ?????? year_id=rs_t.getString("year_id");

    ?????? year_name=rs_t.getString("year_name");

    ?????? year_start=rs_t.getTimestamp("year_start");

    ?????? year_end=rs_t.getTimestamp("year_end");

    ??? }

    ??? conn.close();

    ??? java.util.Calendar calendar=new java.util.GregorianCalendar();

    ??? calendar.setTime(cur_time);

    ?? calendar.set(calendar.DATE,calendar.get(calendar.DATE)-1); //限置任課老師不能管理當(dāng)天學(xué)生的出勤

    ??? java.util.Calendar calendar_1=new java.util.GregorianCalendar();

    ??? java.util.Calendar calendar_2=new java.util.GregorianCalendar();

    ??? calendar_1.setTime(year_start);

    ??? calendar_2.setTime(year_end);

    ??? ResultSet _rs=null;

    ??? String _sql="";

    ??? String week_name="";

    ?? ?format_1=new java.text.SimpleDateFormat("yyyy/MM/dd HH:mm:ss");

    ?? format_2=new java.text.SimpleDateFormat("yyyy/MM/dd");

    ??? format_3=new java.text.SimpleDateFormat("yyyy/MM/dd");

    ??? String grade_name="";

    ??? String sp_name="";

    ??? String class_number_name="";

    ??? String kecheng_name="";

    ??? _sql="select distinct kecheng_name,sp_name,grade_name,class_number_name from course_info where year_id='"+year_id+"' and teacher_id='"+teacher_id+"' and kecheng_id='"+kecheng_id+"' and class_id='"+class_id+"'";

    ??? _rs=conn.executeQuery(_sql);

    ??? if(_rs.next()){

    ?????? grade_name=_rs.getString("grade_name");

    ?????? sp_name=_rs.getString("sp_name");

    ?????? class_number_name=_rs.getString("class_number_name");

    ?????? kecheng_name=_rs.getString("kecheng_name");

    ??? }

    ??? conn.close();

    ??? %>

    ??? <center>

    ??? <h3><%= year_name %><%= kecheng_name %></h3>

    ??? <h3><%= grade_name %>級(jí) <%= sp_name %> <%= class_number_name %>班 等待登記的上課考勤信息</h3>

    ?????? <table width="60%" border="1" cellspacing="0">

    ?????? <tr bgcolor="#0099FF">

    ????????? <td>上課時(shí)間</td>

    ????????? <td>星期</td>

    ????????? <td>第幾周</td>

    ????????? <td>課時(shí)</td>

    ????????? <td><div align="center">登記</div></td>

    ?????? </tr>??????

    ?????? <%

    ?????? int subDate=date.subDate(calendar_1,calendar);

    ?????? do{

    ????????? String before_time=format_1.format(calendar.getTime());

    ????????? String before_time_2=format_2.format(calendar.getTime());

    ????????? String before_time_3=format_3.format(calendar.getTime());

    ????????? int zhou=subDate/7+1;

    ????????? int day_of_week=calendar.get(calendar_1.DAY_OF_WEEK);

    ????????? switch(day_of_week){

    ?????????????? case 1: week_name="星期日";break;

    ?????????????? case 2: week_name="星期一";break;

    ?????????????? case 3: week_name="星期二";break;

    ?????????????? case 4: week_name="星期三";break;

    ?????????????? case 5: week_name="星期四";break;

    ?????????????? case 6: week_name="星期五";break;

    ?????????????? case 7: week_name="星期六";break;

    ????????? }

    ????????? _sql="select * from course_info where class_id='"+class_id+"' and year_id='"+year_id+"' and teacher_id='"+teacher_id+"' and week_name='"+week_name+"' and kecheng_id='"+kecheng_id+"'";

    ????????? _rs=conn.executeQuery(_sql);

    ???????? if(_rs.next()){

    ?????????? do{

    ????????????? String status=_rs.getString("status");

    ???????????? int pd=zhou%2;

    ???????????? if(status.equals("1")&&pd==0)

    ???????????????? continue;

    ???????????? if(status.equals("2")&&pd==1)

    ???????????????? continue;

    ???????????? int id_2=_rs.getInt("id");????? //檢查是否以經(jīng)登記

    ???????????? String sql_2="select * from record where id='"+id_2+"' and sk_time='"+before_time_3+"'";

    ???????????? ResultSet rs_2=conn.executeQuery(sql_2);

    ???????????? if(rs_2.next())

    ?????????????? continue;

    ??????? %>

    ????? <tr>

    ???????? <td><%= before_time_2 %></td>

    ???????? <td><%= week_name %></td>

    ???????? <td>第<%= zhou %>周</td>

    ???????? <td><%=_rs.getString("lesson_name") %></td>

    ???????? <td><div align="center"><a href="record.jsp?id=<%=_rs.getInt("id")%>&time=<%=before_time_3%>">登記</a></div></td>

    ????? </tr>

    ?????? <%

    ???????????? conn.close();

    ???????????? }while(_rs.next());

    ?????????? conn.close();

    ???????? }

    ???????? calendar.set(calendar.DATE,calendar.get(calendar.DATE)-1);

    ???????? subDate--;

    ?????? }while(calendar.after(calendar_1)&&calendar.before(calendar_2));

    ?????? conn.close();

    %>

    ……

    6.1.4 班主任用戶功能編碼

    根據(jù)班主任用戶的詳細(xì)設(shè)計(jì)要求,設(shè)計(jì)班主任用戶操作頁(yè)面如圖6-5所示:

    ?

    圖6-5班主任審批請(qǐng)假操作頁(yè)面

    Fig 6-5 the page of the leave examined and approved by teacher in charge of a class

    ?

    ?

    部分代碼:

    ……

    <%

    format=new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    ? String sp_time=format.format(cur_time);

    ? sql="update qingjia set class_teacher_status='"+qj_sp+"',class_teacher_restore='"+restore+"',class_teacher_sp_time='"+sp_time+"' where id='"+id+"'";

    ? conn.executeUpdate(sql);

    ? conn.close();

    ? response.sendRedirect("qingjia_manager.jsp");

    ?%>

    ……

    6.1.5 院系領(lǐng)導(dǎo)用戶功能編碼

    根據(jù)院系領(lǐng)導(dǎo)用戶詳細(xì)設(shè)計(jì)的需求,設(shè)計(jì)院系領(lǐng)導(dǎo)用戶操作頁(yè)面如圖6-6所示:

    ?

    ?
    ?

    圖6-6院系領(lǐng)導(dǎo)查詢學(xué)生考勤信息頁(yè)面

    Fig6-6 the page of attendance information checked by college leader

    ?

    ?

    部分代碼:

    select_stu.jsp

    ……

    <%

    ?? request.setCharacterEncoding("GBK");

    ?? sql="select * from student_c_s_c where college_id='"+college_id+"' and";

    ?? String sql_2="";

    ?? stu_number=request.getParameter("stu_number");

    ?? stu_name=request.getParameter("stu_name");

    ?? if(stu_number.equals("")&&!stu_name.equals("")){

    ????? sql_2=sql+"? stu_name like '%"+stu_name+"%'";

    ?? }else if(!stu_number.equals("")&&stu_name.equals("")){

    ????????????? sql_2=sql+" stu_number like '%"+stu_number+"%'";

    ???????? }else{

    ???????????????? sql_2=sql+" stu_name like '%"+stu_name+"%' and stu_number like '%"+stu_number+"%'";

    ????????????? }

    ?%>

    <html>

    ? <head>

    ??? <title>考勤統(tǒng)計(jì)首頁(yè)</title>

    ??? <link rel="stylesheet" href="../public/style.css">

    ? </head>

    ? <body class="ss">

    ? <a href="kq_tongji.jsp" class="a">全院考勤統(tǒng)計(jì)信息</a>&nbsp;&nbsp;

    ? <a href="kq_select.jsp" class="a">查詢</a>&nbsp;&nbsp;

    ? <a href="javascript:window.location.reload();" class="a">刷新</a>&nbsp;&nbsp;

    ? <a href="javascript:history.back();" class="a">返回</a>

    ? <hr></hr>

    ? <center>

    ??? <h3>查詢學(xué)生考勤統(tǒng)計(jì)信息</h3>

    ??? <form action="select_stu.jsp" method="post" οnsubmit="return formCheck(this)">

    ??? <table width="70%">

    ????? <tr>

    ???????? <td>學(xué)號(hào):</td>

    ???????? <td><input type="text" name="stu_number" size="20"></td>

    ???????? <td>姓名:</td>

    ???????? <td><input type="text" name="stu_name" size="20"></td>

    ???????? <td><input type="submit" value="查詢"></td>

    ????? </tr>

    ??? </table>

    ??? </form>

    ??? <hr width="70%"></hr>

    ??? <table width="70%" border="1" cellspacing="0">

    ?????? <tr bgcolor="#0099FF">

    ????????? <td>學(xué)號(hào)</td>

    ????????? <td>姓名</td>

    ????????? <td>性別</td>

    ????????? <td>年級(jí)</td>

    ????????? <td>專(zhuān)業(yè)</td>

    ????????? <td>班級(jí)</td>

    ????????? <td><div align="center">考勤詳細(xì)信息</div></td>

    ????? </tr>

    ?????? <%

    ?????????? ResultSet rs_stu=null;

    ?????????? rs_stu=conn.executeQuery(sql_2);

    ?????????? if(rs_stu.next()){

    ????????????? do{

    ??????? %>

    ??????? <tr>

    ?????????? <td><%= rs_stu.getString("stu_number") %></td>

    ?????????? <td><%= rs_stu.getString("stu_name") %></td>

    ?????????? <td><%= rs_stu.getString("stu_sex") %></td>

    ?????????? <td><%= rs_stu.getString("grade_name") %> 級(jí)</td>

    ?????????? <td><%= rs_stu.getString("sp_name") %></td>

    ?????????? <td><%= rs_stu.getString("class_number_name") %> 班</td>

    ?????????? <td><div align="center"><a href="stu_kq_info.jsp?stu_number=<%= rs_stu.getString("stu_number") %>">查看</a></div></td>

    ??????? </tr>

    ??????? <%

    ??????????????? }while(rs_stu.next());

    ?????????? }else{

    ???????? %>

    ??????? <tr>

    ?????????? <td colspan="7"><center>沒(méi)有此學(xué)生記錄!</center></td>

    ??????? </tr>

    ??????? <%

    ??????????? }

    ???????? %>

    ……

    6.2 數(shù)據(jù)庫(kù)連接池編碼

    6.2.1數(shù)據(jù)庫(kù)連接池程序編碼

    /*? SQL Server 2000 連接池對(duì)數(shù)據(jù)庫(kù)的所有操作? */

    package SQLBean;

    import javax.naming.*;

    import javax.sql.*;

    import java.sql.*;

    public class DBConn{

    ????????? public Context ctx=null;

    ????????? public Connection cnn=null;

    ????????? Statement stmt=null;

    ????????? ResultSet rs=null;

    ????????? DataSource ds=null;

    public DBConn(){??????????????? //構(gòu)造函數(shù),查找連接池資源

    ???????????? try{

    ??????????????? ctx=new InitialContext();

    ??????????????? if(ctx==null)

    ??????????????? ? throw new Exception("not environment");

    ????????? ?ds=(DataSource)ctx.lookup("java:comp/env/jdbc/kaoqin");

    ???????????? ??? if(ds==null)

    ???????????? ????? throw new Exception("not find dataBase");

    ???????????? }catch(Exception e){

    ??????????????? System.err.println(e.getMessage());

    ???????????? }

    ????????? }????

    //執(zhí)行所有的查尋操作

    ????????? public ResultSet executeQuery(String sql){

    ???????????? try{

    ????????? cnn=ds.getConnection();?????? stmt=cnn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);

    ??????????? rs=stmt.executeQuery(sql);??????

    ???????????? }catch(SQLException e){

    ??????????????? System.err.println(e.getMessage());

    ???????????? }

    ???????????? return rs;

    ????????? }

    ?????? //執(zhí)行所有的刪除,修改、添加操作

    ????????? public int executeUpdate(String sql){??????

    ????????? int result=0;

    ???????????? try{

    ? ??????????? cnn=ds.getConnection();????????? stmt=cnn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);

    ??????????? result=stmt.executeUpdate(sql);???????

    ???????????? }catch(SQLException e){

    ??????????????? System.err.println(e.getMessage());

    ???????????? }

    ???????????? return result;

    ????????? }

    //關(guān)閉與數(shù)據(jù)庫(kù)的連接

    ????????? public void close() throws SQLException{?????????? ?? ???try{

    ????????? if(rs!=null){

    ????????? ?? rs.close();

    ????????? }

    ????????? if(stmt!=null){

    ????????? ?? stmt.close();

    ????????? }

    ????????? if(cnn!=null){

    ????????? ?? stmt.close();

    ????????? }

    ????????? if(ctx!=null){

    ????????? ?? ctx.close();

    ????????? }

    ????????? ?? }catch(Exception e){

    ????????? ?? ?? ??System.err.println(e.getMessage());

    ????????? ?? }

    ????????? }

    }

    6.2.2 連接池配置文件

    server.xml配置文件:(注:針對(duì)Tomcat 5.5)

    ?? <Resource

    ??? name="jdbc/kaoqin"

    ??? type="javax.sql.DataSource"

    ??? removeAbandoned="true"

    ??? removeAbandonedTimeout="15"

    ??? maxActive="200"

    ??? maxIdle="40"

    ??? maxWait="5000"

    ??? username="sa"

    ??? password="8482134"

    ??? driverClassName="net.sourceforge.jtds.jdbc.Driver"

    ??? url="jdbc:jtds:sqlserver://127.0.0.1:1433/kaoqin"

    ??? />

    kaoqin.xml配置文件 (注:針對(duì)Tomcat 5.5)

    <?xml version="1.0" encoding="UTF-8"?>

    <Context>

    ?? <Resource

    ??? name="jdbc/kaoqin"

    ??? type="javax.sql.DataSource"

    ??? removeAbandoned="true"

    ??? removeAbandonedTimeout="15"

    ??? maxActive="200"

    ??? maxIdle="40"

    ??? maxWait="5000"

    ??? username="sa"

    ??? password="8482134"

    ??? driverClassName="net.sourceforge.jtds.jdbc.Driver"

    ??? url="jdbc:jtds:sqlserver://127.0.0.1:1433/kaoqin"

    ??? />

    </Context>

    ?

    第7章? 軟件測(cè)試

    7.1 引言

    在開(kāi)發(fā)軟件的過(guò)程中,人們使用了許多保證軟件質(zhì)量的方法分析、設(shè)計(jì)和實(shí)現(xiàn)軟件,但難免還會(huì)在工作中犯錯(cuò)誤。這樣,在軟件產(chǎn)品中就會(huì)隱藏許多錯(cuò)誤和缺陷,尤其是對(duì)規(guī)模大、復(fù)雜性高的軟件更是如此。所以,必須進(jìn)行認(rèn)真、計(jì)劃、徹底的軟件測(cè)試。

    7.2 測(cè)試方案

    7.2.1 黑盒測(cè)試

    黑盒測(cè)試,又稱為功能測(cè)試。對(duì)于軟件測(cè)試而言,黑盒測(cè)試把程序看成一個(gè)黑盒子,完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過(guò)程。也就是說(shuō),黑盒測(cè)試是在程序接口進(jìn)行的測(cè)試,它只檢查程序功能是否能按照規(guī)格說(shuō)明書(shū)的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)產(chǎn)生正確的輸出信息,并且保持外部信息(如數(shù)據(jù)庫(kù)或文件)的完整性。該測(cè)試方案的設(shè)計(jì)技術(shù)主要有:等價(jià)劃分、邊界值分析以及錯(cuò)誤推測(cè)法等。

    7.2.2 白盒測(cè)試

    白盒測(cè)試的前提是可以把程序看成裝在一個(gè)透明的白盒子里,也就是完全了解程序的結(jié)構(gòu)和處理過(guò)程。這種方法按照程序內(nèi)部的邏輯測(cè)試程序,檢驗(yàn)程序中的每條通路是否能按預(yù)定要求正確工作。故白盒測(cè)試又被稱為是結(jié)構(gòu)測(cè)試。該測(cè)試方案的設(shè)計(jì)技術(shù)主要有邏輯覆蓋法等。

    7.2.3 其它測(cè)試方案

    除了以上兩種測(cè)試方案外,還有其它的測(cè)試方案。包含所有可能情況的測(cè)試稱為窮盡測(cè)試。對(duì)于實(shí)際程序而言,窮盡測(cè)試通常是不可能做到的。因?yàn)椴豢赡軐?duì)每一種可能的情況都進(jìn)行測(cè)試。

    7.2.4 本系統(tǒng)所采用測(cè)試方案

    基于以上測(cè)試方法,本人選取的是模塊測(cè)試和系統(tǒng)測(cè)試,模塊測(cè)試部分由本人程序設(shè)計(jì)過(guò)程中自主完成,系統(tǒng)測(cè)試部分由同學(xué)模擬各種用戶登錄代為完成。

    7.3 測(cè)試過(guò)程

    7.3.1 用戶登陸測(cè)試

    用戶登陸測(cè)試是測(cè)試系統(tǒng)訪問(wèn)的安全性,以及各個(gè)頁(yè)面的設(shè)計(jì)的安全性,測(cè)試方案如下(表6-1)所示:

    表 6-1

    用戶類(lèi)型

    用戶名

    密碼

    空密碼

    錯(cuò)誤密碼/用戶名

    錯(cuò)誤類(lèi)型

    學(xué)生

    2002162122

    2002162122

    任課老師

    041002

    123456

    班主任

    048001

    123456

    院系領(lǐng)導(dǎo)

    xinxi_02

    123456

    學(xué)校領(lǐng)導(dǎo)

    school

    123456

    說(shuō)明:上表中的“否”表示拒絕訪問(wèn),沒(méi)有通過(guò)系統(tǒng)的身份驗(yàn)證。“是” 表示可以訪問(wèn)系統(tǒng)。

    通過(guò)上表反復(fù)測(cè)試黑盒測(cè)試可知,系統(tǒng)用戶在登陸安全方面不存在問(wèn)題,用戶必須選擇正確的類(lèi)型,使用正確的用戶名、密碼方能使用此系統(tǒng)。

    7.3.2 頁(yè)面使用安全測(cè)試

    此測(cè)試過(guò)程主要是測(cè)試系統(tǒng)各個(gè)頁(yè)面的安全性,即在用戶沒(méi)有登錄的情況直接在瀏覽器地址中輸入要打開(kāi)的用戶頁(yè)面,或者用戶以正確的用戶名和密碼進(jìn)入系統(tǒng)后,直接在瀏覽器地址中輸入別的用戶的頁(yè)面,測(cè)試各頁(yè)面是否不需要用戶登錄就可使用,或者是否可以繞過(guò)身份驗(yàn)證。

    第一步:在用戶沒(méi)登陸系統(tǒng)的情況下,直接在瀏覽器中輸入http://127.0.0.1/kaoqin/student/student.jsp 此地址是學(xué)生用戶首頁(yè)的完全地址,看是否能打開(kāi)操作。測(cè)試結(jié)果:提示用戶還沒(méi)登陸的錯(cuò)誤信息。依次測(cè)試別的頁(yè)面,別的用戶,測(cè)試結(jié)果都是:提示用戶還沒(méi)登陸的錯(cuò)誤信息。

    第二步:以學(xué)生正確的用戶我和密碼進(jìn)入學(xué)生系統(tǒng)后,在瀏覽器中輸入任課老師首頁(yè)地址:http://127.0.0.1/kaoqin/teacher/teacher.jsp 看是否能繞過(guò)身份驗(yàn)證,打開(kāi)別的用戶的頁(yè)面。測(cè)試結(jié)果:提示沒(méi)有權(quán)限的錯(cuò)誤信息。用同樣的方法測(cè)試別的頁(yè)面,別的用戶都得到了同樣的測(cè)試結(jié)果:提示沒(méi)有權(quán)限的錯(cuò)誤信息。

    測(cè)試結(jié)果:通過(guò)以上測(cè)試可知,系統(tǒng)各個(gè)頁(yè)都有很好的安全性,每個(gè)頁(yè)面都不允許用戶在沒(méi)有登陸的前提下訪問(wèn),用戶在登陸后,也不充許用戶訪問(wèn)別的用戶類(lèi)型的頁(yè)面,即不能繞過(guò)身份驗(yàn)證。

    7.3.3學(xué)生用戶測(cè)試

    • 請(qǐng)假系統(tǒng)測(cè)試

    請(qǐng)假系統(tǒng)是學(xué)生用戶的核心功能,由于涉及的用戶比較多,此部分的測(cè)試是在幾個(gè)同學(xué)的配合下完成,主要完成以下幾個(gè)測(cè)試:

  • 空值測(cè)試:在請(qǐng)假開(kāi)始時(shí)間、結(jié)束時(shí)間、請(qǐng)假原因都為空或部分為空的情況下,直接點(diǎn)提交數(shù)據(jù)在線請(qǐng)假。測(cè)試結(jié)果:系統(tǒng)拒絕提交數(shù)據(jù),并能正確的做出相應(yīng)的提示,如**不能為空的錯(cuò)誤信息。
  • 錯(cuò)誤的時(shí)間選擇測(cè)試:在開(kāi)始時(shí)間與結(jié)束時(shí)間選擇的時(shí)間,把結(jié)束時(shí)間選擇一個(gè)開(kāi)始時(shí)間以前的時(shí)間,然后提交數(shù)據(jù)。測(cè)試結(jié)果:提示時(shí)間選擇錯(cuò)誤的提示信息。
  • 超前請(qǐng)假測(cè)試:開(kāi)始時(shí)間選擇一個(gè)與當(dāng)前時(shí)間相差一個(gè)大于7天的日期請(qǐng)假。測(cè)試結(jié)果:提示只能提前7天請(qǐng)假的錯(cuò)誤信息。
  • 超后請(qǐng)假測(cè)試:在開(kāi)始時(shí)間中選擇一個(gè)當(dāng)前系統(tǒng)時(shí)間以前開(kāi)始日期請(qǐng)假。測(cè)試結(jié)果:提示不能請(qǐng)過(guò)去時(shí)間的假的錯(cuò)誤信息。
  • 超長(zhǎng)時(shí)間請(qǐng)假測(cè)試:在開(kāi)始時(shí)間與結(jié)束時(shí)間中,選擇一個(gè)相差30的日期請(qǐng)假。測(cè)試結(jié)果:提示不能請(qǐng)大于30天的請(qǐng)假。
  • 重復(fù)請(qǐng)假測(cè)試:先申請(qǐng)一條當(dāng)天日期的請(qǐng)假,申請(qǐng)成功后,再申請(qǐng)一條今天到明天兩天的請(qǐng)假。測(cè)試結(jié)果:提示不能重復(fù)請(qǐng)假的錯(cuò)誤信息。
  • 小于4天的請(qǐng)假測(cè)試:開(kāi)始時(shí)間與結(jié)束時(shí)間之差小于四天的請(qǐng)假測(cè)試。測(cè)試結(jié)果:提交數(shù)據(jù)后,在等待審批的請(qǐng)假記錄中出現(xiàn)一條新的記錄,并顯示了申請(qǐng)時(shí)間,班主任審批處顯示了“等待批假”的提示信息,而院系審批處沒(méi)有顯示“等待批假”的提示信息。
  • 大于4天的請(qǐng)假測(cè)試:開(kāi)始時(shí)間與結(jié)束時(shí)間之差大于四天的請(qǐng)假測(cè)試:測(cè)試結(jié)果:提交數(shù)據(jù)后,在等待審批的請(qǐng)假記錄中,班主任審批處以及院系領(lǐng)導(dǎo)審批處都提示“等待批假“的提示信息。
  • 班主任批假測(cè)試:班主任進(jìn)入系統(tǒng)后,測(cè)試審批學(xué)生請(qǐng)假。測(cè)試結(jié)果:小于四天的請(qǐng)假,班主任若同意了請(qǐng)假,則學(xué)生記錄成功記錄中出現(xiàn)了請(qǐng)假成功的記錄。班主任同意的請(qǐng)假中同時(shí)也出現(xiàn)了此條記錄。若不同意請(qǐng)假,則提示此學(xué)生請(qǐng)假失敗。大于四天的請(qǐng)假,班主任若同意了請(qǐng)假,則出現(xiàn)等待院系審批的提示信息。
  • 院系批假測(cè)試:院系領(lǐng)導(dǎo)進(jìn)入系統(tǒng)后,大于四天的記錄,且班主任同意請(qǐng)假的記錄出現(xiàn)在了等待審批的請(qǐng)假記錄中。測(cè)試結(jié)果:同意請(qǐng)假,則學(xué)生、班主任、院系領(lǐng)導(dǎo)用戶中同時(shí)出現(xiàn)請(qǐng)假成功信息,不同意請(qǐng)假,則學(xué)生、班主任、院系領(lǐng)導(dǎo)同時(shí)出現(xiàn)請(qǐng)假失敗的信息。
  • 二、修改密碼測(cè)試

  • 空值測(cè)試:在不輸入原始密碼、新密碼、確認(rèn)密碼或部分為空的情況下,直接點(diǎn)擊修改密碼。測(cè)試結(jié)果:提示請(qǐng)輸入原始密碼的錯(cuò)誤信息。
  • 錯(cuò)誤原始密碼測(cè)試:輸入錯(cuò)誤原始密碼,新密碼、確認(rèn)密碼一致的測(cè)試。測(cè)試結(jié)果:提示原始密碼不正確的錯(cuò)誤信息。
  • 確認(rèn)密碼不正確的測(cè)試:輸入正確的原始密碼,而確認(rèn)密碼不正確的測(cè)試。測(cè)試結(jié)果:提示確認(rèn)密碼不正確的錯(cuò)誤信息。
  • 7.3.4任課老師用戶測(cè)試

    一、考勤管理測(cè)試

  • 正確提示登記測(cè)試:進(jìn)入指定的登記頁(yè)面,修改系統(tǒng)日期看是否能根據(jù)系統(tǒng)日間的變化,顯示出上過(guò)課,但學(xué)沒(méi)登記的提示信息。測(cè)試結(jié)果:若當(dāng)前日期為2005-05-30,則本學(xué)期在2005-05-30前的所有不沒(méi)登記的考勤信息自動(dòng)列出來(lái),而且能自動(dòng)識(shí)別課表安排的單/雙周。更換時(shí)間,都能得到正確的結(jié)果。
  • 考勤登記測(cè)試:進(jìn)入指定頁(yè)面后,一個(gè)學(xué)生在當(dāng)天上課時(shí)已經(jīng)請(qǐng)假成功了,任課老師提交數(shù)據(jù)時(shí)選擇此學(xué)生曠課。測(cè)試結(jié)果:在考勤統(tǒng)計(jì)信息和詳細(xì)信息中,出現(xiàn)了此學(xué)生請(qǐng)假的出勤信息。
  • 7.3.5班主任用戶測(cè)試

    1.班級(jí)信息測(cè)試

    測(cè)試一個(gè)班主任是否可以同時(shí)帶多個(gè)班級(jí)、每個(gè)學(xué)期帶不同的班。測(cè)試結(jié)果:班主任能同時(shí)帶多個(gè)班級(jí),每學(xué)期可帶不同的班級(jí)。

    2.考勤信息測(cè)試:

    測(cè)試班主任是否可以查看本班學(xué)生本學(xué)期考勤統(tǒng)計(jì)信息及詳細(xì)信息。測(cè)試結(jié)果:班主任能查看本班學(xué)生本學(xué)期考勤統(tǒng)計(jì)信息及詳細(xì)信息。

    7.3.6院系領(lǐng)導(dǎo)/學(xué)校領(lǐng)導(dǎo)用戶測(cè)試

    一、考勤信息測(cè)試

  • 空值查詢測(cè)試:在查詢學(xué)生考勤信息頁(yè)面中,不輸入查詢條件進(jìn)行查詢測(cè)試。測(cè)試結(jié)果:提示必須有一個(gè)查詢件的錯(cuò)誤信息。
  • 單條件下查詢測(cè)試:查詢條件在只有學(xué)號(hào)或姓名的情況下進(jìn)行查詢。測(cè)試結(jié)果:系統(tǒng)列出了所有相關(guān)記錄,如姓名中只有一個(gè)“王”字,那么全院/全校所有姓名中有“王”字的學(xué)生信息都全部列出來(lái),并都可以查看詳細(xì)考勤信息
  • ?

    總? 結(jié)

    通過(guò)幾個(gè)月的努力,高校學(xué)生考勤管理系統(tǒng)中的兩大功能模塊:請(qǐng)假系統(tǒng)和考勤系統(tǒng)在指導(dǎo)老師的全心指導(dǎo)下,在同學(xué)的積極配合與幫助下,基本功能順利完成。在數(shù)據(jù)庫(kù)的開(kāi)發(fā)方面,我學(xué)到了不少關(guān)于JSP和SQL Server 2000的知識(shí)。開(kāi)發(fā)時(shí)遇到了許多的困難,但是通過(guò)自己的努力,還有老師同學(xué)們的幫助,最終還是迎刃而解了。

    這次畢業(yè)設(shè)計(jì)完全是按照軟件工程學(xué)的方法來(lái)進(jìn)行設(shè)計(jì)和開(kāi)發(fā)的。在開(kāi)發(fā)過(guò)程中,認(rèn)真調(diào)查分析了用戶的需求,及時(shí)準(zhǔn)備了詳細(xì)的文檔資料,這讓我在開(kāi)發(fā)過(guò)程中少走了許多彎路。本次設(shè)計(jì)開(kāi)發(fā)的系統(tǒng)較為龐大,涉及的用戶較多,數(shù)據(jù)庫(kù)設(shè)計(jì)比較復(fù)雜,使我深刻地體會(huì)到軟件開(kāi)發(fā)是一項(xiàng)集體項(xiàng)目,單靠一個(gè)人就想解決所有的問(wèn)題是不太實(shí)際的。在本次畢業(yè)設(shè)計(jì)中,我和同學(xué)共同實(shí)現(xiàn)了高校學(xué)生考勤管理系統(tǒng)的全部功能,很好的鍛煉了我的團(tuán)隊(duì)協(xié)作意識(shí),這對(duì)我以后的學(xué)習(xí)、工作有很大的幫助。

    同時(shí),在這次設(shè)計(jì)中,我也發(fā)現(xiàn)了自己的很多不足。首先,對(duì)JSP的掌握還不是很全面,對(duì)于數(shù)據(jù)庫(kù)管理系統(tǒng)的操作運(yùn)用也不夠熟練,以至于在系統(tǒng)開(kāi)發(fā)過(guò)程中經(jīng)常碰到一些疑難問(wèn)題不能快速的解決。其次,就是在準(zhǔn)備系統(tǒng)設(shè)計(jì)文檔時(shí),沒(méi)有反復(fù)推敲、驗(yàn)證,以至于在開(kāi)發(fā)過(guò)程中出現(xiàn)幾次由于數(shù)據(jù)庫(kù)設(shè)計(jì)不合理,修改數(shù)據(jù)庫(kù),而幾乎修改所有程序代碼的情況。再者,是對(duì)整個(gè)軟件開(kāi)發(fā)的把握能力有待于進(jìn)一步提高,以及對(duì)網(wǎng)頁(yè)設(shè)計(jì)的諸多方面知識(shí)也待進(jìn)一步學(xué)習(xí),這些都是我今后應(yīng)該注意和提高的。

    ?

    ?

    參考文獻(xiàn)

    參考的資料有以下:

    [1] 肖金秀 JSP程序設(shè)計(jì)教程 北京:冶金工業(yè)出版社

    [2] 孫曉龍 JSP動(dòng)態(tài)網(wǎng)站技術(shù)入門(mén)與提高 北京:人民郵電出版社

    [3] 楊學(xué)瑜 JSP入門(mén)與提高 北京:清華大學(xué)出版社

    [4] 魯曉東 JSP軟件工程案例精解 北京:電子工業(yè)出版社

    [5] 印旻 Java 語(yǔ)言與面向?qū)ο蟪绦蛟O(shè)計(jì) 北京:清華大學(xué)出版社

    [6] 皮德常 Java 2簡(jiǎn)明教程 北京:清華大學(xué)出版社

    [7] 薩師煊 王珊編著,《數(shù)據(jù)庫(kù)系統(tǒng)概論》,高等教育出版社

    [8] 張海藩 編著 《軟件工程導(dǎo)論》,清華大學(xué)出版社

    [9] 賽奎春 JSP工程應(yīng)用與項(xiàng)目實(shí)踐 北京:機(jī)械工業(yè)出版社

    [10] 汪孝宜 JSP數(shù)據(jù)庫(kù)開(kāi)發(fā)實(shí)例精粹 北京:電子工業(yè)出版社

    [11] 魏茂軍 JSP案例開(kāi)發(fā) 北京:中國(guó)水利水電出版社

    [12] 黃明 JSP信息系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)實(shí)例 北京:機(jī)械工業(yè)出版社

    [13] 屈輝立 JSP網(wǎng)站編程教程 北京:北京希望電子出版社

    [14] 孫衛(wèi)琴 Tomcat與Java Web開(kāi)發(fā)技術(shù)詳解 北京:電子工業(yè)出版社

    [15] 張桂元 Struts開(kāi)發(fā)入門(mén)與項(xiàng)日實(shí)踐 北京:人民郵電出版社

    參考網(wǎng)站:

    一、http://java.sun.com???? java官方網(wǎng)站

    二、http://www.apache.org? Tomcat官方網(wǎng)站

    ?

    致? 謝

    在這段日子里,指導(dǎo)教師黃華,以及身邊的同學(xué)給了我很多的幫助及耐心的教導(dǎo)。在此,對(duì)所有給我支持與幫助的老師與同學(xué)衷心的道一聲“謝謝”!如果沒(méi)有你們的幫助,我的課題肯定不能如此順利迅速的完成。

    ?

    附? 錄

    附錄一:文獻(xiàn)資料

    原文

    J2EE WEB應(yīng)用架構(gòu)分析

    1、架構(gòu)概述

    J2EE體系包括java server pages(JSP) ,java SERVLET, enterprise bean,WEB service等技術(shù)。這些技術(shù)的出現(xiàn)給電子商務(wù)時(shí)代的WEB應(yīng)用程序的開(kāi)發(fā)提供了一個(gè)非常有競(jìng)爭(zhēng)力的選擇。怎樣把這些技術(shù)組合起來(lái)形成一個(gè)適應(yīng)項(xiàng)目需要的穩(wěn)定架構(gòu)是項(xiàng)目開(kāi)發(fā)過(guò)程中一個(gè)非常重要的步驟。完成這個(gè)步驟可以形成一個(gè)主要里程碑基線。形成這個(gè)基線有很多好處:

    各種因數(shù)初步確定:為了形成架構(gòu)基線,架構(gòu)設(shè)計(jì)師要對(duì)平臺(tái)(體系)中的技術(shù)進(jìn)行篩選,各種利弊的權(quán)衡。往往架構(gòu)設(shè)計(jì)師在這個(gè)過(guò)程中要閱讀大量的技術(shù)資料,聽(tīng)取項(xiàng)目組成員的建議,考慮領(lǐng)域?qū)<业男枨?#xff0c;考慮贊助商成本(包括開(kāi)發(fā)成本和運(yùn)行維護(hù)成本)限額。一旦架構(gòu)設(shè)計(jì)經(jīng)過(guò)評(píng)審,這些因數(shù)初步地就有了在整個(gè)項(xiàng)目過(guò)程中的對(duì)項(xiàng)目起多大作用的定位。

    定向技術(shù)培訓(xùn):一旦架構(gòu)師設(shè)計(jì)的架構(gòu)得到了批準(zhǔn)形成了基線,項(xiàng)目開(kāi)發(fā)和運(yùn)行所采用的技術(shù)基本確定下來(lái)了。眾多的項(xiàng)目經(jīng)理都會(huì)對(duì)預(yù)備項(xiàng)目組成員的技術(shù)功底感到擔(dān)心;他們需要培訓(xùn)部門(mén)提供培訓(xùn),但就架構(gòu)師面對(duì)的技術(shù)海洋,項(xiàng)目經(jīng)理根本就提不出明確的技術(shù)培訓(xùn)需求。怎不能夠?qū)w系中所有技術(shù)都進(jìn)行培訓(xùn)吧!有了架構(gòu)里程碑基線,項(xiàng)目經(jīng)理能確定這個(gè)項(xiàng)目開(kāi)發(fā)會(huì)采用什么技術(shù),這是提出培訓(xùn)需求應(yīng)該是最精確的。不過(guò)在實(shí)際項(xiàng)目開(kāi)發(fā)中,技術(shù)培訓(xùn)可以在基線確定之前與架構(gòu)設(shè)計(jì)并發(fā)進(jìn)行。

    角色分工:有了一個(gè)好的架構(gòu)藍(lán)圖,我們就能準(zhǔn)確劃分工作。如網(wǎng)頁(yè)設(shè)計(jì),JSP 標(biāo)簽處理類(lèi)設(shè)計(jì),SERVLET 設(shè)計(jì),session bean設(shè)計(jì),還有各種實(shí)現(xiàn)。這些任務(wù)在架構(gòu)藍(lán)圖上都可以清晰地標(biāo)出位置,使得項(xiàng)目組成員能很好地定位自己的任務(wù)。一個(gè)好的架構(gòu)藍(lán)圖同時(shí)也能規(guī)范化任務(wù),能很好地把任務(wù)劃分為幾類(lèi),在同一類(lèi)中的任務(wù)的工作量和性質(zhì)相同或相似。這樣工作量估計(jì)起來(lái)有一個(gè)非常好的基礎(chǔ)。

    運(yùn)行維護(hù):前面說(shuō)過(guò)各個(gè)任務(wù)在架構(gòu)圖上都有比較好的定位。任何人能借助它很快地熟悉整個(gè)項(xiàng)目的運(yùn)行情況,錯(cuò)誤出現(xiàn)時(shí)能比較快速地定位錯(cuò)誤點(diǎn)。另外,有了清晰的架構(gòu)圖,項(xiàng)目版本管理也有很好的版本樹(shù)軀干。

    擴(kuò)展性:架構(gòu)猶如一顆參天大樹(shù)的軀干,只要軀干根系牢,樹(shù)干粗,長(zhǎng)一些旁支,加一些樹(shù)葉輕而易舉無(wú)疑。同樣,有一個(gè)穩(wěn)定的經(jīng)得起考驗(yàn)的架構(gòu),增加一兩個(gè)業(yè)務(wù)組件是非常快速和容易的。

    大家都知道這些好處,一心想形成一個(gè)這樣的J2EE應(yīng)用程序架構(gòu)(就像在windows平臺(tái)中的MFC)。在這個(gè)路程中經(jīng)歷了兩個(gè)大的階段:

    模型1

    模型1其實(shí)不是一個(gè)什么穩(wěn)定架構(gòu),甚至談不上形成了架構(gòu)。模型1的基礎(chǔ)是JSP文件。它從HTTP的請(qǐng)求中提取參數(shù),調(diào)用相應(yīng)的業(yè)務(wù)邏輯,處理HTTP會(huì)話,最后生成HTTP文檔。一系列這樣的JSP文件形成一個(gè)完整的模型1應(yīng)用,當(dāng)然可能會(huì)有其他輔助類(lèi)或文件。早期的ASP 和 PHP 技術(shù)就屬于這個(gè)情況。

    總的看來(lái),這個(gè)模型的好處是簡(jiǎn)單,但是它把業(yè)務(wù)邏輯和表現(xiàn)混在一塊,對(duì)大應(yīng)用來(lái)說(shuō),這個(gè)缺點(diǎn)是令人容忍不了的。

    模型2

    在經(jīng)過(guò)一番實(shí)踐,并廣泛借鑒和總結(jié)經(jīng)驗(yàn)教訓(xùn)之后,J2EE應(yīng)用程序終于迎來(lái)了MVC(模型-視圖-控制)模式。MVC模式并不是J2EE行業(yè)人士標(biāo)新立異的,所以前面我談到廣發(fā)借鑒。MVC的核心就是做到三層甚至多層的松散耦合。這對(duì)基于組件的,所覆蓋的技術(shù)不斷膨脹的J2EE體系來(lái)說(shuō)真是福音和救星。

    它在瀏覽器(本文對(duì)客戶代理都稱瀏覽器)和JSP或SERVLET之間插入一個(gè)控制組件。這個(gè)控制組件集中了處理瀏覽器發(fā)過(guò)來(lái)的HTTP請(qǐng)求的分發(fā)邏輯,也就是說(shuō),它會(huì)根據(jù)HTTP請(qǐng)求的URL,輸入?yún)?shù),和目前應(yīng)用的內(nèi)部狀態(tài),把請(qǐng)求分發(fā)給相應(yīng)的WEB 層的JSP 或SERVLET。

    另外它也負(fù)責(zé)選擇下一個(gè)視圖(在J2EE中,JSP,SERVLET會(huì)生成回給瀏覽器的html從而形成視圖)。集中的控制組件也有利于安全驗(yàn)證,日志紀(jì)錄,有時(shí)也封裝請(qǐng)求數(shù)據(jù)給下面的WEB tier層。這一套邏輯的實(shí)現(xiàn)形成了一個(gè)像MFC的應(yīng)用框架。

    2、候選方案

    目前,實(shí)現(xiàn)模型2的框架也在不斷的涌現(xiàn),下面列出比較有名的框架。

    2.1、Apache Struts

    Struts是一個(gè)免費(fèi)的開(kāi)源的WEB層的應(yīng)用框架,apache軟件基金致力于struts的開(kāi)發(fā)。Struts具是高可配置的性,和有一個(gè)不斷增長(zhǎng)的特性列表。一個(gè)前端控制組件,一系列動(dòng)作類(lèi),動(dòng)作映射,處理XML的實(shí)用工具類(lèi),服務(wù)器端java bean 的自動(dòng)填充,支持驗(yàn)證的WEB 表單,國(guó)際化支持,生成HTML,實(shí)現(xiàn)表現(xiàn)邏輯和模版組成了struts的靈魂。

    模型:模型以一個(gè)或幾個(gè)java bean的形式存在。這些bean分為三種:Form beans(表單Beans),它保存了HTTP post請(qǐng)求傳來(lái)的數(shù)據(jù),在Struts里,所有的Form beans都是 ActionFrom 類(lèi)的子類(lèi)。業(yè)務(wù)邏輯beans,專(zhuān)門(mén)用來(lái)處理業(yè)務(wù)邏輯。系統(tǒng)狀態(tài)beans,它保存了跨越多個(gè)HTTP 請(qǐng)求的單個(gè)客戶的會(huì)話信息,還有系統(tǒng)狀態(tài)。

    視圖:控制組件續(xù)傳HTTP請(qǐng)求給實(shí)現(xiàn)了視圖的JSP文件。JSP能訪問(wèn)beans 并生成結(jié)果文檔反饋到客戶。Struts提供JSP 標(biāo)簽庫(kù): Html,Bean,Logic,Template等來(lái)達(dá)到這個(gè)目的,并有利于分開(kāi)表現(xiàn)邏輯和程序邏輯。

    2.2、JATO

    JATO應(yīng)用程序框架是iPlanet 應(yīng)用程序框架的舊名。它是一個(gè)成熟的、強(qiáng)大的,基于J2EE標(biāo)準(zhǔn)的面向于開(kāi)發(fā)WEB應(yīng)用程序的應(yīng)用框架。結(jié)合了顯示字段、應(yīng)用程序事件、組件層次和以頁(yè)面為中心的開(kāi)發(fā)方法、以及MVC和服務(wù)到工作者service-to-workers的設(shè)計(jì)模式等概念。

    JATO可適用于中、大、超大規(guī)模的WEB應(yīng)用。但是它也不是一個(gè)企業(yè)層的應(yīng)用框架,也就是說(shuō)它不會(huì)直接提供創(chuàng)建EJB, WEB services等企業(yè)層組件的方法,但用它可以構(gòu)造出訪問(wèn)企業(yè)層組件的客戶應(yīng)用。

    這個(gè)框架功能主要有三部分組成:iPlanet應(yīng)用框架核心;iPlanet應(yīng)用框架組件;iPlanet應(yīng)用框架擴(kuò)展。

    譯文

    Analysis of J2EE WEB application? construction

    1、the? outline of the construction

    J2EE system includes many technologies such as ?java server pages (JSP), java SERVLET, enterprise bean, WEB service and so on. These technologies appeared have provided an extremely competitive choice to the development of WEB application of electronic commerce . How these technologies are combined to form the stable construction which an adaptabl project needs is an importable step in the project development. Completing this step may form a main milestone baseline. It is a advantage to form this baseline.

    Many factors determine it initially.In order to form the construction baseline, the construction designer must choose the center technology in the platform and measure each kind of advantages. Often the construction designer has to check the massive technical datas in this process, listen to the suggestion of members in the component project, consider the domain expert's demand and consider the sponsor’s cost quota (including development cost and movement maintenance cost). Once the construction designer appraises, these factors will initially be localizated to the project playing the major role in the entire project process.

    Directional technology training: Once the construction of the construction designer is approved to form the baseline, the technology which the project development and the movement use ?has basically determined. Multitudinous project managers may worry about basic skills of? the component members’ prepared in the project.They need to be trained in ?the department? providing training.But to the technical sea which the construction designer faces on, project manager cannot propose the explicit technical training demand. It is impossible to carry on training to all technologies in the system ! Having the construction milestone baseline, project manager is able to determine what this project development could use any technology.At the time proposing the training demand should be most precise. But in the actual project development, technical training may be carried on before the baseline determined concurrently.

    Division of labor: Having ?a good construction blueprint, we can accurately divide the work such as? homepage design, JSP label processing class design, SERVLET design, session bean design and? many kinds of realizations. These all duties may be located ?clearly? on the construction blueprint, enabling the project component member to locate own duty well. At the same time a good construction blueprint can also standardize the duty,? divide well the duty into several kinds in the same kind of which work load and the nature is identical or similar.Such work load estimated has an extremely good foundation.

    Movement maintenance: each duty has? quite good localization in a composition. Anyone can is familiar with the movement in the entire project with the help of it quickly and locate? fast where wrong is when the mistake appears. Moreover, having ?the clear frame composition, the project edition management also has? good edition tree torso.

    Extension: The construction? likes the torso of a towering big tree.so long as torso root system jail, bough thick, the long some collateral branches, add some leaves to be easy without doubt. Similarly, having stable construction standing ?the test, it is extremely fast and easy to increase 12 service modules.

    Everybody knows these advantage and wants to? form a such J2EE application construction as it ?(like MFC in windows platform). It has experienced two big stages in this process:

    model 1

    Actually model 1 is not? stable? construction, even? far from the construction formed. The foundation of model 1 is? JSP document. It withdraws the parameter from the HTTP request, transfers the corresponding service logic, processes the HTTP conversation and finally produces the HTTP documents. A series of such JSP document forms a complete model 1 application, certainly possibly having other assistances kind or the document. The earlier ASP and the PHP technology belongs to this situation.

    To the summary, the advantage of this model is simple, but it mixes the service logic with the performance in the same place. To the big application, this shortcoming is able to be tolerated.

    model 2

    Through practice, after summarying lesson, the J2EE application has finally welcomed the MVC (model - view pneumatic-control) pattern. The MVC pattern is not something new and different which the J2EE professioner proposes.Therefore in the front I talked about profiting widely. The core of the MVC is to achieve three or even multi-layered loose couplings. To the J2EE system which has ?to based on the module and which covered the technology inflates unceasingly,it really is the gospel and the liberator.

    It inserts a control module between in the browser ( in this article all the customer proxys are called browser) and JSP or SERVLET. This control module concentrates HTTP request distribution logic which is sent by the browser processed.In other words, it could ?input parameter according to HTTP request URL,with the present application internal condition, giving the request to distribute the JSP or SERVLET of the corresponding WEB level.

    Moreover, it also is responsible for? choicing next view (in J2EE, JSP and SERVLET can produce html for browser to form the view). The centralism control module is also advantageous to the safety certification, the diary record and sometimes also seals the request data to give the following WEB tier level. This set of logical realization forms one application frame like MFC.

    2、candidate plan

    At present, the realization frames of the model 2 also emerge unceasingly. list some famous frames as follows.

    2.1、Apache Struts

    Struts is a free and open application frame of the source WEB level.And the apache software fund devotes to the development of the struts. Struts has the nature which is highly disposed and ?has the characteristic tabulation which grows unceasingly. ?The front controlling? module, a series of movements class, the movement mapping, the practical tool class processing XML, the automatic packing of the server carries java bean, the WEB form supporting confirmation , the international support, the produced HTML , realization performance logic and the pattern plate has composed the soul of

    the struts.

    Model: Model exists as one or? several java beans. These beans are divided into three kinds. Form beans (form Beans), it has preserved the data which the HTTP post requests to transmit. In Struts, all of the Form beans are? the subclass of the ActionFrom class. Service logic beans is to be used to process the service logic specially. System mode beans preserve the conversation information of single customer who surmountes many HTTP requests and ?the system mode.

    View: Continue to pass the HTTP by the Controlled module request?? realizes the JSP document of view. JSP can visit beans and produce the result documents to feed back to the customer. Struts provides the JSP label storehouse to achieve this goal such as Html, Bean, Logic, Template and so on. And ?it is advantageous in separating the performance logic and procedure logic.

    2.2、JATO

    The JATO application frame is ?old name of the iPlanet application frame. It is one mature, formidable application frame which faces to? develope WEB application based on the J2EE standard. It unified the demonstration field, the application event, the module level ,the methods of exploitation taking the page as the center, as well as MVC and designing pattern with service-to-workers concepts and so on.

    JATO is suitable ?for ?big, ultra large-scale WEB application. But it is not application frame of the enterprise level.In other words, it cannot provide directly the methods of Enterprise level module such as founding EJB and WEB services. But it may struct the customer application which can visit the enterprise level module.

    The function of this frame is mainly composed of three parts:the core of iPlanet application frame; the module of iPlanet application frame; the expansion of iPlanet application frame.

    附錄二、系統(tǒng)部署及使用手冊(cè)

    開(kāi)發(fā)工具的安裝與配置

    本系統(tǒng)是跨平臺(tái)的,可以在Windows、Linux、Unix等所有操作系統(tǒng)下,不需要做任何修改就能運(yùn)行,由于Windows平臺(tái)運(yùn)用最為廣泛,在這里只介紹系統(tǒng)在Windows平臺(tái)下的部署,別的平臺(tái)部署自己查閱相關(guān)資料。本系統(tǒng)采用B/S結(jié)構(gòu),因此客戶端幾乎不需要做任何安裝,以下主要介紹服務(wù)器端的部署。

    • JDK的安裝及配置

    1)簡(jiǎn)介

       JDK(Java Development Kit )是一切java應(yīng)用程序的基礎(chǔ),可以說(shuō),所有的java應(yīng)用程序是構(gòu)建在這個(gè)之上的。它是一組API,也可以說(shuō)是一些java Class。目前已經(jīng)正式發(fā)布的最新版本是JDK1.5。目前大多數(shù)都是在MS系統(tǒng)下,所以,在這里以在win2000下安裝為例進(jìn)行介紹。

    2)下載與安裝

       下載地址為JAVA官方站點(diǎn):http://java.sun.com 。 Windows下,直接運(yùn)行.exe文件,安裝到一個(gè)目錄,我這里用C:\ jdk1.5.0_06為例子。

    3)配置

    桌面上選擇“我的電腦”(右鍵) 選擇“高級(jí)”---> “環(huán)境變量”-->“用戶變量”-->“新建”在變量名中輸入:CLASSPATH,變量值中輸入:“.;C:\ jdk1.5.0_06\LIB\dt.JAR;C:\ jdk1.5.0_06\LIB\TOOLS.JAR;”然后確定;注意:“.;”不能少,代表當(dāng)前路徑。

    桌面上選擇“我的電腦”(右鍵) 選擇“高級(jí)”---> “環(huán)境變量”--->“系統(tǒng)變量”,選擇path選項(xiàng),點(diǎn)“編輯” 在變量值中增加“C:\jdk1.5.0_06\bin;”。

    配置完了,要重新啟動(dòng)計(jì)算機(jī)后,環(huán)境變量才能有效。

    • Tomcat的安裝及配置

    1)簡(jiǎn)介

    自從JSP發(fā)布之后,推出了各式各樣的JSP引擎。Apache Group在完成GNUJSP1.0的開(kāi)發(fā)以后,開(kāi)始考慮在SUN的JSWDK基礎(chǔ)上開(kāi)發(fā)一個(gè)可以直接提供Web服務(wù)的JSP服務(wù)器,當(dāng)然同時(shí)也支持Servlet。Tomcat是完全免費(fèi)的軟件,任何人都可以從互聯(lián)網(wǎng)上自由地下載。目前最新版本是 tomcat-5.5.16。

    2)下載與安裝

    下載地址是官方網(wǎng)站http://jakarta.apache.org 。用戶可選擇下載原代碼或已經(jīng)編譯好的壓縮包。

    在安裝Tomcat前,你的Win2000下應(yīng)該已經(jīng)安裝了JDK,并且你應(yīng)該已經(jīng)能大致了解JDK、Tomcat在系統(tǒng)中的地位和相互關(guān)系。如果你還沒(méi)有安裝好JDK,你可以參閱JDK的安裝及配置。Tomcat不需要安裝,下載解壓后就可直接使用,且可在各種平臺(tái)下使用。

    3)配置

    在桌面上選擇“我的電腦”,右鍵點(diǎn)出菜單,選擇屬性,彈出對(duì)話框“系統(tǒng)特性”,選擇“高級(jí)”選項(xiàng)頁(yè),然后點(diǎn)“環(huán)境變量”,就可以編輯系統(tǒng)的環(huán)境變量。

    在用戶變量中選擇“新建”選項(xiàng),變量名為JAVA_HOME,值為:“C:\jdk1.5.0_06”,同樣新建另外一個(gè)變量名為:TOMCAT_HOME,變量值為:“C:\Tomcat 5.5”。

    接下來(lái)就可以執(zhí)行startup.bat。測(cè)試一下Tomcat是否運(yùn)行正常。當(dāng)Tomcat能正常啟動(dòng)后,打開(kāi)瀏覽器,在瀏覽器中輸入“http://localhost:8080”,若能顯示Tomcat的歡迎首頁(yè),Tomcat已經(jīng)成功安裝好了。

    三、SQL Server 2000的安裝及配置

    1)簡(jiǎn)介

    SQL Server 2000是Microsoft 公司開(kāi)發(fā)出來(lái)的大型關(guān)系數(shù)據(jù)系統(tǒng),其可靠性、高全性等卓越的性能得到用戶一致的好評(píng)。

    2)安裝

    將安裝光盤(pán)放入光驅(qū)就可根據(jù)提示自動(dòng)安裝,這里不再重述。

    3)配置

    安裝好SQL Server 2000后,幾乎不需要做什么配置,但有一個(gè)非常要注意的地方是,檢查一下默認(rèn)的端口1433是否打開(kāi)了,若沒(méi)打開(kāi),應(yīng)用程序?qū)o(wú)法連接到數(shù)據(jù)庫(kù)。檢驗(yàn)方法:支命令提示下運(yùn)行:netstat –an 檢查端口是否打開(kāi)。若沒(méi)打開(kāi),就要安裝SP3以上的補(bǔ)丁。

    系統(tǒng)部署

    高校學(xué)生考勤管理系統(tǒng)用JSP+SQL Server 2000設(shè)計(jì),數(shù)據(jù)庫(kù)連接使用當(dāng)前流行的連接池來(lái)實(shí)現(xiàn),在部署系統(tǒng)時(shí),請(qǐng)按以下步驟來(lái)完成。注意:前提是您以經(jīng)正確安裝好了JDK、Tomcat、SQL Server 2000,若還沒(méi)安裝好,請(qǐng)參考附錄一。

    • 將打包文件kaoqin.war 放到Tomact安裝目錄下的webapps子目錄中,在您重啟Tomcat的時(shí)候,Tomcat會(huì)自動(dòng)解壓。
    • 在SQL Server 2000中新名kaoqin的數(shù)據(jù)庫(kù),將數(shù)據(jù)庫(kù)備份kaoqin.bak還原到kaoqin數(shù)據(jù)庫(kù),并將sa用戶的密碼設(shè)為:8482134。
    • 將jtds-1.2.jar文件考%Tomcat_home%\common\lib目錄下。
    • 將server.xml文件覆蓋%Tomcat_home%\conf目錄下的server.xml文件。
    • 將kaoqin.xml文件拷貝到%Tomcat_home%\conf\Catalina\localhost目錄下。
    • 重新啟動(dòng)Tomact,在瀏覽器中輸入http://localhost:8080/kaoqin

    用戶操作手冊(cè)

    一、學(xué)生操作手冊(cè)

    1.在線請(qǐng)假

    學(xué)生“首頁(yè)”——“請(qǐng)假系統(tǒng)”——“在線請(qǐng)假” 進(jìn)入請(qǐng)假申請(qǐng)操作頁(yè)面,填寫(xiě)好請(qǐng)假開(kāi)始時(shí)間、結(jié)束時(shí)間、請(qǐng)假原因后,點(diǎn)擊“提交”按鈕就完成了請(qǐng)假申請(qǐng)。隨后您可以在“等待審批的請(qǐng)假”中看到請(qǐng)假審批的進(jìn)展情況,同時(shí)在“成功的請(qǐng)假記錄”和“失敗的請(qǐng)假記錄”中看到請(qǐng)假歷史記錄。注意:只請(qǐng)假一天的話,開(kāi)始時(shí)間與結(jié)束時(shí)間填寫(xiě)同一天,依此類(lèi)推。

    2.查看考勤信息

    學(xué)生“首頁(yè)”——“考勤信息”進(jìn)入當(dāng)前學(xué)年本人所有課程的考勤統(tǒng)計(jì)信息,同時(shí)可以查看有關(guān)課程的詳細(xì)信息,學(xué)生在“歷年考勤信息”中可以查看歷年的考勤信息。

    二、班主任操作手冊(cè)

    1.審批學(xué)生請(qǐng)假

    班主任“首頁(yè)”——“請(qǐng)假系統(tǒng)”——“審批請(qǐng)假” 若有本班學(xué)生請(qǐng)假,則列出了相關(guān)鏈接,點(diǎn)擊相關(guān)“審批”鏈接,進(jìn)入審批學(xué)生請(qǐng)假頁(yè)面,此頁(yè)面列出了有關(guān)學(xué)生請(qǐng)假的詳細(xì)信息,班主任認(rèn)真審批后,選擇“同意”或“不同意”來(lái)審批學(xué)生請(qǐng)假。

    2.查看考勤信息

    班主任“首頁(yè)”——“考勤信息”頁(yè)面列出所帶班級(jí)的信息,點(diǎn)擊相關(guān)“查看”鏈接就可相關(guān)班級(jí)所有課程學(xué)生考勤的統(tǒng)計(jì)信息及詳細(xì)信息。

    三、任課老師操作手冊(cè)

    1.發(fā)布學(xué)生上課出勤信息

    任課老師“首頁(yè)”——“考勤管理”頁(yè)面列出了本學(xué)年所教班級(jí)以及所教課程的相關(guān)信息,點(diǎn)擊相關(guān)“管理“鏈接”就進(jìn)入相關(guān)的考勤管理頁(yè)面,頁(yè)面自動(dòng)提示到當(dāng)前日期為止,還沒(méi)有發(fā)布的出勤信息的鏈接。進(jìn)入相關(guān)鏈接就可以發(fā)布學(xué)生上課出勤信息。

    2.查看/修改學(xué)生出勤信息

    任課老師:“首頁(yè)”——“考勤信息”頁(yè)面中列出了所教班級(jí)所教課程的基本相關(guān)信息,點(diǎn)擊相關(guān)“查看”鏈接就可看到有關(guān)的學(xué)生出勤統(tǒng)計(jì)信息及詳細(xì)信息,在個(gè)人的出勤詳細(xì)中,可以適當(dāng)?shù)男薷?#xff0c;如刪除某條學(xué)生出勤記錄。

    四、院系領(lǐng)導(dǎo)操作手冊(cè)

    1.審批學(xué)生請(qǐng)假

    院系領(lǐng)導(dǎo)“首頁(yè)”——“請(qǐng)假系統(tǒng)”——“審批請(qǐng)假” 若有本班學(xué)生請(qǐng)假,則列出了相關(guān)鏈接,點(diǎn)擊相關(guān)“審批”鏈接,進(jìn)入審批學(xué)生請(qǐng)假頁(yè)面,此頁(yè)面列出了有關(guān)學(xué)生請(qǐng)假的詳細(xì)信息,班主任認(rèn)真審批后,選擇“同意”或“不同意”來(lái)審批學(xué)生請(qǐng)假。

    2.查看班級(jí)、學(xué)生上課出勤信息

    院系領(lǐng)導(dǎo)“首頁(yè)”——“考勤統(tǒng)計(jì)”頁(yè)面,在“全院考勤統(tǒng)計(jì)”頁(yè)面中可以分班級(jí)查看學(xué)生上課出勤的統(tǒng)計(jì)信息及詳細(xì)信息。在“查詢”頁(yè)面中,可以根據(jù)“學(xué)號(hào)”或“姓名”兩者或兩都之一對(duì)學(xué)生上課出勤信息進(jìn)行詳細(xì)查詢。

    3.查看本院系相關(guān)信息

    在“院系信息“、”班主任信息“、”教師信息“、”班主任安排“中可以查看本院系的一些相關(guān)信息。

    五、學(xué)校領(lǐng)導(dǎo)操作手冊(cè)

    1.查看全校班級(jí)、學(xué)生上課出勤信息

    學(xué)校領(lǐng)導(dǎo)“首頁(yè)”——“考勤統(tǒng)計(jì)”頁(yè)面,在“全校考勤統(tǒng)計(jì)”頁(yè)面中可以分班級(jí)查看學(xué)生上課出勤的統(tǒng)計(jì)信息及詳細(xì)信息。在“查詢”頁(yè)面中,可以根據(jù)“學(xué)號(hào)”或“姓名”兩者或兩都之一對(duì)學(xué)生上課出勤信息進(jìn)行詳細(xì)查詢。

    2.查看本校相關(guān)信息

    在“學(xué)校信息”、“院系信息“、”班主任信息“、”教師信息“、”班主任安排“、“全校課表”中可以查看本校的一些相關(guān)信息。

    總結(jié)

    以上是生活随笔為你收集整理的基于jsp(java)高校学生考勤管理系统设计与实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    国产精品欧美日韩在线观看 | 天天射天天操天天 | 欧美精品中文在线免费观看 | 成人在线观看资源 | 日本黄色大片免费 | 日本精品xxxx| avhd高清在线谜片 | 国产精品美女久久久久久久网站 | 色婷婷久久 | 日韩视频在线观看视频 | 五月婷婷在线视频 | 草久在线播放 | 91网址在线看 | 蜜臀av网址 | 激情视频综合网 | 日韩精品视频免费专区在线播放 | 五月天婷婷综合 | 日韩精品一区二区三区三炮视频 | 久久看片网站 | 午夜体验区 | 极品美女被弄高潮视频网站 | 九月婷婷色 | 色综合久久88色综合天天人守婷 | 久久久夜色 | 欧美一级黄大片 | 激情影音| 国产一级视频免费看 | 国产中文字幕视频 | 国产资源av | 国产区高清在线 | 国产最顶级的黄色片在线免费观看 | a在线免费观看视频 | 欧美日韩免费在线观看视频 | 久久精品看片 | 日日综合| 国产精品久久久久久久久久新婚 | 国产明星视频三级a三级点| 精品美女在线视频 | 精品99在线 | 一区二区精品在线观看 | 99综合视频| 久久久久久久久久久影视 | 亚洲黄网址 | 欧美日韩性 | 高清国产午夜精品久久久久久 | 成片免费| 国产成人精品免费在线观看 | 丁香视频免费观看 | 在线精品国产 | 欧美国产日韩在线观看 | 欧美日韩精品在线一区二区 | 国产精品高清在线 | 国产黄色在线 | 欧产日产国产69 | 在线视频婷婷 | 欧美色道 | 欧美午夜性 | 久久成人国产精品一区二区 | 日韩在线观看你懂得 | 蜜臀aⅴ国产精品久久久国产 | 日本午夜在线观看 | 国产亚洲精品久久久久久 | 毛片视频网址 | 色综合天天综合 | 亚洲国产中文字幕在线观看 | 缴情综合网五月天 | 亚洲一区二区观看 | 午夜精品福利一区二区三区蜜桃 | 国产精品久久伊人 | 亚洲精品视频免费观看 | 99高清视频有精品视频 | 99九九免费视频 | 狠狠网亚洲精品 | 97人人看 | 日韩久久一区二区 | 国产精品18久久久久久久 | 亚洲在线 | 在线观看亚洲免费视频 | 伊人一级 | 国产在线中文 | 国产精品一区二区在线 | 日日夜夜操av | 久草在线在线视频 | 中文视频在线看 | 国产一区免费在线 | 操操碰| 国产无遮挡猛进猛出免费软件 | 亚洲精品国产成人 | 日韩在线观看一区二区 | 美女免费黄视频网站 | 97精产国品一二三产区在线 | 欧美ⅹxxxxxx | 97韩国电影| 水蜜桃亚洲一二三四在线 | 麻豆精品91 | 美国三级黄色大片 | 日韩91av| 中文字幕一区二区三区精华液 | 五月天婷亚洲天综合网鲁鲁鲁 | 丁香花在线观看视频在线 | 亚洲国产美女精品久久久久∴ | 中文字幕av全部资源www中文字幕在线观看 | 日韩精品一区二区不卡 | 97色资源 | 成人久久久久 | 亚洲一级久久 | 午夜丰满寂寞少妇精品 | 日韩一区二区免费视频 | 美女天天操 | 国产精品美女久久久免费 | 久久久久久久毛片 | 亚洲成aⅴ人在线观看 | 亚洲高清在线观看视频 | 亚洲国产成人久久综合 | 91福利视频免费 | 久久成人麻豆午夜电影 | 中文免费观看 | 久久久香蕉视频 | 亚洲精品电影在线 | 亚洲国产福利视频 | 一级黄色大片在线观看 | 亚洲自拍偷拍色图 | 天天操天天色综合 | 黄色一区三区 | 国色综合 | 97精品免费视频 | 国产精品久久久久永久免费看 | 午夜婷婷在线播放 | 日韩高清黄色 | 亚洲桃花综合 | 91精品久久久久 | 久久久久久草 | 麻豆视频国产 | 亚洲一区免费在线 | aav在线| 97超碰人人澡人人爱学生 | 国产在线色视频 | 丁香激情婷婷 | 精品国产电影一区二区 | 日韩视频在线播放 | 午夜精品久久久久久久99 | 日韩小视频网站 | 色橹橹欧美在线观看视频高清 | 国产免费成人av | 91日韩在线 | 亚洲成a人片综合在线 | 九九热在线精品 | 91av资源网| 久草视频免费在线观看 | 色婷婷狠狠五月综合天色拍 | 国产精品自产拍在线观看网站 | 在线精品在线 | 国产欧美在线一区二区三区 | 国产一线二线三线性视频 | 国产精品成人一区二区三区吃奶 | 天天综合久久 | 久久久色| 欧美va天堂va视频va在线 | 91资源在线播放 | 久草在线国产 | 香蕉在线视频播放网站 | 午夜精品久久久久久99热明星 | 国产小视频91 | 欧美日韩精品在线播放 | 精品国产福利在线 | 日韩欧美视频 | 91爱爱网址| 四虎影视8848dvd | 99精品一区二区三区 | 国产精品夜夜夜一区二区三区尤 | 99久热在线精品视频观看 | 天天色天天艹 | 亚洲精品美女 | avav片| 国产高清精品在线观看 | 月下香电影 | 一区二区三区免费在线播放 | 欧美人人爱 | 在线观看亚洲专区 | 一级特黄av| 国产亚洲婷婷免费 | 免费热情视频 | 天天操天天射天天爱 | 四虎在线观看视频 | 日韩精品免费一线在线观看 | 成人精品一区二区三区电影免费 | 欧美日韩首页 | 国产精品精品视频 | 97人人艹| 黄色视屏免费在线观看 | 久久色视频 | 国产精品第一视频 | 亚洲h在线播放在线观看h | 久久精选 | 人人爽人人干 | 亚洲国产精品99久久久久久久久 | 欧美怡红院视频 | 最近高清中文在线字幕在线观看 | 天堂在线v | av高清免费在线 | 人人爽人人澡 | 欧美成人性网 | 久久久久久久久久影视 | 中文字幕免费高清在线观看 | 精品久久久久久久久中文字幕 | 久久在线| 日本深夜福利视频 | 国产成人精品午夜在线播放 | 久久久.com | 国产一区影院 | 国产精品伦一区二区三区视频 | 嫩草伊人久久精品少妇av | 久久久99精品免费观看app | 最新av在线播放 | 国产毛片久久 | 麻豆影视在线免费观看 | 国产黄在线看 | 美女久久久久 | 草久视频在线 | 亚洲乱亚洲乱亚洲 | 一区二区三区播放 | 国产日产亚洲精华av | 91c网站色版视频 | 国产成人av一区二区三区在线观看 | 中国美女一级看片 | 久久久污| 久久精品99国产精品日本 | 中文字幕乱码日本亚洲一区二区 | 精品国产亚洲一区二区麻豆 | 九九综合久久 | 永久免费的啪啪网站免费观看浪潮 | 最新不卡av| 免费看黄色大全 | 国内精品久久久久久久久久清纯 | 欧美精品视 | 天天摸天天舔天天操 | 最近最新最好看中文视频 | 日日干精品 | 91精品一区二区在线观看 | 国产精品久久一卡二卡 | av在线专区 | 黄色三级在线看 | 四虎天堂 | 日韩精品视频在线免费观看 | 国产白浆视频 | 欧美美女激情18p | 久久久久久久久亚洲精品 | 欧美日韩精品电影 | 中文字幕在线播出 | 久久综合久色欧美综合狠狠 | 日韩精品在线免费播放 | 久久久综合九色合综国产精品 | 青草视频在线免费 | 日韩中文在线观看 | 成人app在线免费观看 | 免费网站看v片在线a | 国产国语在线 | 97超碰人人模人人人爽人人爱 | 91九色精品 | 天天操天天插 | 亚洲电影一区二区 | 日韩精品欧美一区 | 911精品视频| 亚洲免费在线观看视频 | 免费观看91视频大全 | 99国产精品一区二区 | 欧美日韩在线视频一区 | 欧美另类xxxxx | 五月天伊人 | 久久这里只精品 | 一区免费观看 | 91麻豆精品国产91久久久使用方法 | 婷婷五天天在线视频 | 日本精品中文字幕在线观看 | 国产高清在线观看 | 久久免费精品视频 | 天天射综合 | 成人av高清在线 | 国产精品色在线 | 欧美一级视频在线观看 | 欧美日韩免费视频 | 免费男女羞羞的视频网站中文字幕 | 不卡视频一区二区三区 | 国产精品系列在线播放 | 96av视频| 久久在线观看 | 麻豆传媒一区二区 | 91在线国产观看 | 不卡视频国产 | 狠狠色噜噜狠狠狠狠2021天天 | 日本黄区免费视频观看 | 久久精品a | 五月综合婷 | 久久精品欧美日韩精品 | 亚洲一级二级三级 | 中文字幕乱偷在线 | avhd高清在线谜片 | 日韩中文字幕91 | 五月婷婷丁香网 | 免费黄色在线网站 | 探花视频网站 | 成人羞羞视频在线观看免费 | 青春草国产视频 | 欧美在线视频不卡 | 日韩一级片网址 | 黄色亚洲在线 | 免费在线观看成人av | 国产精品涩涩屋www在线观看 | 中文字幕传媒 | 天天操天天摸天天干 | 少妇高潮流白浆在线观看 | 国产69精品久久app免费版 | 在线影视 一区 二区 三区 | 天天操天天操天天 | 99超碰在线观看 | 欧美日韩国产精品久久 | 亚洲婷婷伊人 | 天天爱天天爽 | 99久久99久国产黄毛片 | 99在线观看免费视频精品观看 | 久久a久久 | 日本黄色免费在线 | 午夜视频在线观看一区二区 | 国内三级在线观看 | 午夜10000 | 五月天色丁香 | 欧美成人性网 | 在线观看中文字幕一区 | 国产精品久久久久影院日本 | 国产免费久久久久 | 成人a免费 | 欧美日韩国产色综合一二三四 | 久久天天躁夜夜躁狠狠躁2022 | 偷拍视频一区 | 国产91精品在线观看 | 婷婷六月天综合 | 免费成人在线电影 | 国产精品一区二区三区在线 | 一区二区视频在线播放 | 久久这里只有精品1 | 久久精品视频网址 | 不卡视频在线看 | 久久久美女 | 国产精品爽爽爽 | 国产专区一 | 日本精品久久久久影院 | 婷婷国产v亚洲v欧美久久 | 超碰97免费观看 | 91视视频在线直接观看在线看网页在线看 | 国产无遮挡猛进猛出免费软件 | 黄色亚洲 | 99se视频在线观看 | 日韩大片免费在线观看 | 欧美精品网站 | 国产精品2019 | 三级黄色三级 | 日韩av成人在线 | 黄污视频网站 | 国产成人黄色av | 久久久黄视频 | a级国产乱理伦片在线播放 久久久久国产精品一区 | 精品av在线播放 | 精品国产a| 久久精品直播 | 久热免费在线观看 | 91香蕉视频黄色 | 亚洲一区网站 | 精品久久久久久综合 | 伊人亚洲精品 | 一级黄色毛片 | 极品嫩模被强到高潮呻吟91 | 超碰人人超碰 | 午夜视频播放 | 国产一区二区三区视频在线 | 亚洲精色| 久久av在线播放 | 国产美女被啪进深处喷白浆视频 | 国产系列 在线观看 | 超碰com | 国产一卡二卡在线 | 日韩在线播放视频 | 亚洲女欲精品久久久久久久18 | 久久精彩免费视频 | 日韩av不卡播放 | www久久com| 国产亚洲精品久久久网站好莱 | 91最新视频在线观看 | 日日摸日日 | 久草在线中文视频 | 中国老女人日b | a资源在线| 成人久久久久久久久久 | 精品视频不卡 | 黄色成人影院 | 久久综合99 | 久久精品高清视频 | 操处女逼 | 人人爽夜夜爽 | 久久综合免费 | 久久激情视频 久久 | 91在线亚洲 | 在线成人免费 | 国产精品久久久久一区二区国产 | 啪啪资源| 中文字幕国产精品 | 日本黄色一级电影 | 在线观看视频国产一区 | 视频国产一区二区三区 | 欧美亚洲精品在线观看 | 国产麻豆传媒 | av在线影视 | 激情综合色播五月 | 青草视频免费观看 | 在线免费中文字幕 | 日本不卡一区二区 | 日日夜夜网 | 激情欧美国产 | 欧美成a人片在线观看久 | 日批视频| 国产资源在线播放 | 亚洲经典视频 | 超碰人人做| 99精品视频在线观看 | 日韩av成人在线观看 | 国产1区2区3区精品美女 | 国产在线久久久 | 免费三级大片 | 波多野结衣视频一区二区三区 | 在线观看国产高清视频 | 天天玩夜夜操 | 日韩高清不卡一区二区三区 | 五月香婷| 草草草影院 | 欧美久久久久久久久久久久久 | 伊人五月天 | 中文字幕免费在线 | 手机看片99 | 17videosex性欧美 | av中文字幕日韩 | 69性欧美 | 亚洲综合婷婷 | 97综合网| 免费午夜网站 | 中文字幕第一页av | 日韩成人在线一区二区 | 欧美性色综合网站 | 青青河边草免费视频 | 2019精品手机国产品在线 | 久久久精品视频网站 | 中文字幕在线播放一区二区 | 色wwww| 国产成a人亚洲精v品在线观看 | 国产精品国内免费一区二区三区 | 日韩欧美综合视频 | 国产我不卡 | 亚洲每日更新 | 日韩一区二区免费在线观看 | 黄色精品久久 | 欧美巨乳网 | 日韩动漫免费观看高清完整版在线观看 | 欧美性色黄大片在线观看 | 免费观看一区二区 | 在线免费观看黄网站 | 欧美影片| 久草爱| 欧美网址在线观看 | 精品国产精品久久一区免费式 | 国产又粗又猛又色 | 免费看一级 | 色av色av色av| 在线观看免费视频你懂的 | 亚洲欧美综合 | 亚洲电影免费 | 一二三四精品 | 91精品久久久久久久久久久久久 | 久久久亚洲精华液 | av爱干 | 在线观看成人国产 | 日韩高清免费无专码区 | 日韩欧美视频在线播放 | 国产精品久久久久久久妇 | 亚洲一区二区三区miaa149 | 一区二精品 | 日韩欧美视频二区 | 天天躁日日躁狠狠 | 成人中文字幕+乱码+中文字幕 | 天天曰视频 | 久久成人欧美 | 日韩色在线 | 久久久久婷 | 正在播放亚洲精品 | 亚洲网站在线看 | 97天天综合网 | 日韩精品中字 | 狠狠色伊人亚洲综合网站色 | 五月婷婷综合在线视频 | 精品一区二区精品 | 色国产精品一区在线观看 | 天天摸天天操天天舔 | 亚a在线| 国产69精品久久99的直播节目 | 中字幕视频在线永久在线观看免费 | 超碰97人人在线 | 久久公开视频 | 久久伦理 | 亚洲九九爱 | 国产精品麻 | 国产精品成人免费 | 日韩电影在线观看一区二区 | 毛片精品免费在线观看 | 免费99精品国产自在在线 | 日本aaa在线观看 | 99人久久精品视频最新地址 | 久久人人爽人人爽人人片 | 天天插天天爽 | 玖玖玖在线观看 | 久久久精品国产一区二区三区 | 一级性av | 青青河边草免费 | 久久精品久久久精品美女 | 亚洲国产高清在线 | 天天操偷偷干 | 国内精品久久久久久久久久久久 | 韩国三级一区 | av黄色国产 | 在线观看免费中文字幕 | 中文字幕欧美日韩va免费视频 | 视频一区二区精品 | 亚洲精品videossex少妇 | 免费高清在线视频一区· | 在线高清| 午夜精品一区二区三区在线播放 | 丁香av在线| 亚洲国产综合在线 | 亚洲一级片免费观看 | 免费在线观看一区二区三区 | 国产一区 在线播放 | 中文字幕av播放 | 欧美国产日韩一区二区三区 | 五月在线视频 | 免费看的黄网站软件 | 国产精品九九九九九九 | 在线播放日韩 | 国产美女永久免费 | 丁香六月在线观看 | 五月婷婷色 | 这里只有精品视频在线观看 | 成人在线观看影院 | 在线观看精品 | 久久精品一区二区 | 最近日本韩国中文字幕 | 97在线精品视频 | 久久综合婷婷综合 | 久久综合九色九九 | 少妇做爰k8经典 | 亚洲第一久久久 | 国产高清精 | 国产在线超碰 | 国产高清视频在线播放一区 | 国产色视频网站2 | 精品一区二区三区在线播放 | 99热这里只有精品8 久久综合毛片 | 黄色小视频在线观看免费 | 在线视频免费观看 | 国产精品国产三级国产专区53 | 国产第一页精品 | 欧洲精品码一区二区三区免费看 | 日韩区欧美久久久无人区 | 久久国产精品99国产精 | 久久久久综合精品福利啪啪 | 天天综合网~永久入口 | 97人人模人人爽人人喊网 | 亚洲天堂激情 | 超碰在线cao | 午夜色影院 | 免费观看视频的网站 | 成人影视免费 | 国产精品毛片一区视频播 | 免费成人黄色片 | 日本韩国中文字幕 | 国产盗摄精品一区二区 | 免费网站观看www在线观看 | 97夜夜澡人人爽人人免费 | 久久精品视频播放 | 伊人视频| 日本护士三级少妇三级999 | 日韩中文字幕免费视频 | 激情视频一区二区三区 | 亚洲国产精品人久久电影 | 天天操天天操一操 | 中文字幕免费不卡视频 | 欧美a√在线| 天堂在线v | 天天干天天拍 | 日韩av一区在线观看 | 香蕉精品视频在线观看 | 黄色av一区 | 怡红院久久 | 狠狠干免费| av成人在线播放 | 久久久免费视频播放 | 成年人在线免费看片 | 免费 在线 中文 日本 | 在线观看日韩国产 | 久久久久视| 插久久| 国产精品精品久久久久久 | 国产97碰免费视频 | 五月激情姐姐 | 色婷婷五 | 日韩av线观看 | 在线免费观看黄网站 | 国产精品久久久久久爽爽爽 | 成人网444ppp | 亚洲日韩中文字幕在线播放 | 色婷婷亚洲精品 | 国精产品永久999 | 欧美激情精品久久久 | 天天摸日日摸人人看 | 日日夜夜91 | 色综合色综合色综合 | 日韩国产精品毛片 | 久久精品国产精品亚洲 | 操久 | 欧美少妇影院 | 国产直播av | 日韩在线高清免费视频 | 九九久久久久久久久激情 | www.av免费 | 欧美日本在线视频 | 天天艹天天爽 | 亚洲一级电影视频 | 五月婷婷深开心 | 日本久久久久久 | 一区二区精品在线 | 三上悠亚一区二区在线观看 | 久久精品欧美一 | 在线观看av中文字幕 | 亚洲资源在线网 | 久久综合毛片 | 亚洲免费精品视频 | 久久精品麻豆 | 久久精品中文 | 亚洲专区在线播放 | 91精选在线观看 | 天天干天天干天天干天天干天天干天天干 | av黄色免费在线观看 | 国产免费又爽又刺激在线观看 | 在线一区电影 | 国内精品视频在线播放 | 亚洲一级片免费观看 | 亚洲视频播放 | 日韩免费一区二区 | 国产一区二区三区视频在线 | 奇米影视8888在线观看大全免费 | 国产粉嫩在线观看 | 欧美日韩国产在线精品 | 国产亚洲婷婷免费 | 欧美日韩国产精品一区 | 激情婷婷丁香 | 99国内精品 | 久久久精品99 | 天天干,夜夜爽 | 国产资源网 | 天天色天天色天天色 | 精品久久久久一区二区国产 | 亚洲精品乱码久久久久久蜜桃欧美 | 四虎影视成人精品 | 欧美在线视频一区二区三区 | 亚洲欧美综合精品久久成人 | 国产精品免费视频一区二区 | 欧美日韩国产高清视频 | 99re视频在线观看 | 丁香激情五月婷婷 | 丁香六月国产 | 国产一二区视频 | 97天堂| 欧美成人精品欧美一级乱黄 | 久久精品视频99 | 天天操天天操一操 | av一本久道久久波多野结衣 | 久久伊人精品一区二区三区 | 色婷婷国产精品一区在线观看 | 97夜夜澡人人爽人人免费 | 天天操操操操操操 | 一区二区三区在线免费 | 国产亚洲精品女人久久久久久 | 久草网免费 | 久久婷婷国产 | 操高跟美女 | 亚洲国产最新 | 国产午夜精品一区二区三区四区 | 国产中文在线视频 | 九九九九色 | 六月丁香婷 | 国产成人精品久久久 | 中文字幕av全部资源www中文字幕在线观看 | 三级动图| 美女视频是黄的免费观看 | 99亚洲视频 | 国产精品永久免费观看 | av网站在线观看免费 | 精品国产理论片 | 色婷婷激婷婷情综天天 | 国产成人精品av久久 | 国产精品18久久久久久久久 | 国产精品成人一区二区三区吃奶 | 91刺激视频 | 成人免费在线看片 | 黄网站色欧美视频 | 一区二区三区在线电影 | 国产黄色片在线 | 在线看v片 | av免费网页 | 91av片 | 国产在线观看a | 在线v片免费观看视频 | 国产情侣一区 | 国产成人福利在线观看 | 综合视频在线 | 日韩美av在线 | 久久国内免费视频 | 国产精品免费观看网站 | 美女网站免费福利视频 | 99久久日韩精品免费热麻豆美女 | 国产在线播放一区二区三区 | 麻豆视频免费入口 | 日日夜夜精品视频 | 欧美99热| 久久这里有精品 | 久草视频在线资源站 | 久久久久久久久久久精 | 在线看国产日韩 | 国产99久久精品一区二区300 | 国产精品免费av | 国产精品麻豆免费版 | 天堂久久电影网 | 狠狠色狠狠色综合日日小说 | 亚洲h在线播放在线观看h | 久久精品官网 | 国产精品视屏 | 麻豆国产精品视频 | 激情五月六月婷婷 | 国产麻豆成人传媒免费观看 | 人人草网站 | 日韩性片| 久草视频手机在线 | 亚洲国产精品视频在线观看 | 人人干人人上 | 久久国产精品久久精品国产演员表 | 波多野结衣在线观看一区二区三区 | 91色在线观看视频 | 麻豆国产精品视频 | 久久亚洲综合国产精品99麻豆的功能介绍 | 久久久久欧美精品999 | 又黄又爽又刺激视频 | 日韩在线观看中文 | 91精品国自产在线观看 | 国产.精品.日韩.另类.中文.在线.播放 | 日韩在线一二三区 | 91视频3p | 91免费高清观看 | 亚洲欧美国产日韩在线观看 | 欧美激情va永久在线播放 | 亚洲一区精品人人爽人人躁 | 久久国产成人午夜av影院宅 | 日韩精品在线免费播放 | 国产a国产a国产a | 免费视频18| 天天爽天天摸 | 亚洲香蕉在线观看 | 精产嫩模国品一二三区 | 久久午夜国产精品 | 久碰视频在线观看 | 日韩欧美高清不卡 | 91综合色| 就要干b | 超级碰碰碰视频 | 久久精品视频观看 | 成人av免费在线观看 | 国产精品毛片一区二区三区 | 国产网站色 | 久草网在线视频 | 国产成人亚洲精品自产在线 | 17videosex性欧美| 五月婷久久 | 特级黄色电影 | 免费一级片观看 | 日日夜夜人人精品 | 狠狠狠狠狠狠狠狠干 | 伊人亚洲综合 | 天天天综合 | 国产又粗又长又硬免费视频 | 久久精品在线视频 | 成人h在线播放 | 免费瑟瑟网站 | 欧美精品v国产精品 | 嫩嫩影院理论片 | 91精品在线免费观看 | 久久久久五月天 | 日韩av在线网站 | 久草国产在线观看 | 国产成人精品福利 | 婷婷精品在线视频 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 亚洲日本va午夜在线影院 | 日本动漫做毛片一区二区 | 亚洲免费专区 | 五月婷婷狠狠 | 九九热视频在线 | 亚洲成人二区 | 在线播放一区二区三区 | 久久久久久久久久电影 | 色999五月色 | 国产精品久久久av久久久 | 91在线精品视频 | 婷婷免费在线视频 | 中文字幕在线观看视频一区二区三区 | www.色午夜.com | 日韩av图片 | 欧美激情亚洲综合 | 国产精品麻豆91 | 久久久久久福利 | 亚洲最大av在线播放 | 久久伊人色综合 | 久久久国产电影 | 久久久国产精品人人片99精片欧美一 | 国产在线视频一区二区三区 | 91传媒在线播放 | 天天干天天天 | 中文字幕丝袜制服 | 免费看黄电影 | 在线看黄网站 | 999男人的天堂 | 九色自拍视频 | 99视频在线精品免费观看2 | 日本在线h | 精品久久久久久国产偷窥 | 91免费看片黄 | av成年人电影| 日韩久久在线 | 韩国av三级 | 在线免费观看黄色av | 成人蜜桃| 九色精品 | 一区二区三区观看 | 欧美视频在线观看免费网址 | 亚洲专区 国产精品 | 亚洲精品xxx | 日韩欧美国产激情在线播放 | 777xxx欧美| 天天伊人网 | 国内精品久久久久久中文字幕 | 99热手机在线 | 黄色三级久久 | 色婷婷啪啪免费在线电影观看 | 91免费观看国产 | 美女在线免费视频 | 国产高清一级 | 亚洲精品视频在线观看视频 | 日日干天天操 | 黄色a一级视频 | 尤物97国产精品久久精品国产 | 精品国产一区二区三区四区在线观看 | 国产精品成人av电影 | 亚州av一区 | 欧美日韩性生活 | 最新99热 | 国产一区二区三区免费观看视频 | 精品一区久久 | 日日操日日干 | 8x8x在线观看视频 | 国产又粗又猛又黄 | 亚洲成人av影片 | 三上悠亚一区二区在线观看 | 日韩一区二区三免费高清在线观看 | 在线免费观看国产黄色 | 国产一区在线看 | 手机在线看a | 91九色精品国产 | 丁香视频 | 天天综合网久久 | 丁香婷婷在线 | 亚洲.www| a特级毛片 | 四虎视频 | 免费精品 | 日本精品视频在线观看 | 成年人电影免费在线观看 | 97av影院 | 国产91粉嫩白浆在线观看 | 日本美女xx| 东方av在线免费观看 | 三级在线视频播放 | 欧美精选一区二区三区 | 亚洲精品永久免费视频 | 中文字幕av电影下载 | 婷婷色亚洲| 丁香五月网久久综合 | 国产精品对白一区二区三区 | 亚洲国产视频网站 | 色婷婷视频在线 | 99精品国产99久久久久久福利 | 国产精品久久伊人 | 免费影视大全推荐 | 在线久草视频 | 国产69久久久 | 久久天堂精品视频 | 国产一区二区在线免费视频 | 色网免费观看 | 狠狠狠狠干 | 亚洲色图美腿丝袜 | 99久久99久久精品国产片果冰 | 国产va精品免费观看 | 国产在线91在线电影 | 97精品国产一二三产区 | 日韩精品电影在线播放 | 日韩精品一区二区三区免费视频观看 | 欧美激情综合五月色丁香小说 | 狠狠干在线| 日韩免费在线视频观看 | 国产精品久久久久久久婷婷 | 久久精品99国产精品亚洲最刺激 | 黄色成人av | 久久久久久网址 | 在线观看不卡视频 | 夜夜骑日日 | 99视频精品全部免费 在线 | 99热精品国产 | 深夜福利视频一区二区 | 日日操天天操狠狠操 | 久久久久国产a免费观看rela | 黄色av一区二区 | 欧美日一级片 | 在线观看国产区 | 成人久久久精品国产乱码一区二区 | 国产1级毛片| 伊人www22综合色 | 天天天天天操 | 国产成人一区二区三区在线观看 | 一本一本久久a久久精品综合妖精 | 五月天激情电影 | 精品国产一区二区三区久久久久久 | 国产精品入口麻豆www | 精品国模一区二区 | 免费裸体视频网 | 久久久免费精品国产一区二区 | 亚洲在线精品视频 | 午夜精品一区二区三区四区 | 日韩精品不卡在线观看 | 91精选在线观看 | 午夜精品福利在线 | 国产精彩视频一区 | 欧美一二区视频 | 久久精品国产亚洲精品 | zzijzzij日本成熟少妇 | 久久久久久久av | 人人天天夜夜 | 国内视频1区 | 日本韩国精品一区二区在线观看 | 天天曰天天干 | 97免费在线观看视频 | 国产精品完整版 | 天天操天天怕 | 天天干 天天摸 天天操 | 人人插人人草 | 国产一级电影在线 | 91成人精品一区在线播放 | 久久久久亚洲精品国产 | 国产精品自产拍在线观看桃花 | 精品国产成人av在线免 | 久久精品屋 | 久久久免费 | 综合色在线 | 国产精品淫片 | 精品国产伦一区二区三区观看体验 | 中文在线a√在线 | 九月婷婷人人澡人人添人人爽 | 韩国中文三级 | 亚洲乱亚洲乱妇 | 国产69精品久久久久久久久久 | 精品国产一区二区三区不卡 | 99久久99久久精品国产片 | www.黄色 | 日韩精品黄| 久久久午夜剧场 | 91麻豆精品国产91久久久更新时间 | 国产成人1区 | 久久久国产一区二区 | 久久综合久久鬼 | 右手影院亚洲欧美 | 日本韩国精品一区二区在线观看 | 久久你懂的 | 免费在线观看日韩欧美 | 97天天干| 奇米网777 | 国产成人精品久久亚洲高清不卡 | 免费三级大片 |