【正文】
return (mapping.findForward(loginFailure))。amp。amp。return (mapping.findForward(teacher))。amp。 session.setAttribute(isLogin,new String(true))。String type=loginForm.getType()。5.2 系統(tǒng)界面1. 登陸界面在登陸界面進(jìn)行系統(tǒng)用戶的驗(yàn)證,只有合法用用才可以登陸系統(tǒng),如圖: 圖 5.1 登陸界面Fig 5.1 Login interface “登陸”的主要功能代碼為:public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) throws Exception {LoginForm loginForm = (LoginForm) form。 public static Teacher getTeacher(String id):返回指定職工號(hào)的教師。 public void chahgeStuInfo(StuInfoForm student):修改個(gè)人信息。 public static void deleteStudent(String id):刪除指定 id 的學(xué)生。 public Page listDate(String page_num):獲得指定頁面的數(shù)據(jù),并封裝在 Page中返回。 public void t_fSc(String sno,String o):取消指定學(xué)生選修指定課程(即讓其從選中狀態(tài)變成未選中狀態(tài))。 public Collection getStudents(String o):返回選修指定課程的所有學(xué)生。 public static Sc getSc(String sno,String o):返回一條指定的選課紀(jì)錄。 public Collection getYearGrades(String sno,String year):返回指定學(xué)生在指定學(xué)年的成績。 public Collection getCourses():返回所有課程信息。 有些時(shí)候,需要一起瀏覽多個(gè)查詢的結(jié)果、組合它們的輸出,我們可以使用UNION 關(guān)鍵字. 2 數(shù)據(jù)庫數(shù)據(jù)庫處理在信息系統(tǒng)的研究中一直是非常重要的主題,然而,近年來,隨著World Wide Web(WWW)的猛增及 Inter 技術(shù)的迅速發(fā)展,使得數(shù)據(jù)庫技術(shù)之時(shí)成為最熱門技術(shù)之一.?dāng)?shù)據(jù)庫技術(shù)能使 Inter 應(yīng)用超越具有早期應(yīng)用特點(diǎn)的簡單的發(fā)布.同時(shí),Inter 技術(shù)提供了一種向用戶發(fā)布數(shù)據(jù)庫內(nèi)容的標(biāo)準(zhǔn)化的訪問方法.這些技術(shù)沒有脫離經(jīng)典數(shù)據(jù)庫技術(shù)的要求.它們只是加重了數(shù)據(jù)庫技術(shù)的重要性.?dāng)?shù)據(jù)庫的設(shè)計(jì)和開發(fā)及包括藝術(shù)有包括工程.理解用戶的需求,然后,把它們轉(zhuǎn)變?yōu)橛行У臄?shù)據(jù)庫設(shè)計(jì)是一個(gè)藝術(shù)過程.把設(shè)計(jì)轉(zhuǎn)變?yōu)閷?shí)際的數(shù)據(jù)庫,并且這些數(shù)據(jù)庫帶有功能完備、高效能的應(yīng)用,是一個(gè)工程過程.?dāng)?shù)據(jù)庫的目的是幫助人們跟蹤事務(wù).經(jīng)典的數(shù)據(jù)庫應(yīng)用涉及諸如訂單、顧客、工作、員工、學(xué)生、電話之類的項(xiàng),或其它數(shù)據(jù)量較大、需要密起關(guān)注的事務(wù).最近,由于數(shù)據(jù)庫的普及,數(shù)據(jù)庫技術(shù)已經(jīng)被應(yīng)用到了新的領(lǐng)域,諸如用于 Inter 的數(shù)據(jù)庫或用于公司內(nèi)聯(lián)網(wǎng)的數(shù)據(jù)庫.?dāng)?shù)據(jù)庫也被越來越多地應(yīng)用于生成和維護(hù)多媒體應(yīng)用程序上.4.1.2 數(shù)據(jù)庫設(shè)計(jì)與實(shí)現(xiàn)1 數(shù)據(jù)庫功能設(shè)計(jì)依據(jù)教學(xué)管理系統(tǒng)的處理需求,對(duì)數(shù)據(jù)庫表的設(shè)計(jì)及功能如下:學(xué)生個(gè)人信息表:用于存放學(xué)生的基本信息.教師個(gè)人信息表:用于存放教師的基本信息.課程信息表:用于存放課程的基本信息.學(xué)生成績表:用于存放學(xué)生的成績紀(jì)錄.選課情況表:用于存入學(xué)生的選課紀(jì)錄.留言信息表:用于存放所有人的留言紀(jì)錄.2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì) 實(shí)體及其聯(lián)系圖: 圖 4.1 實(shí)體及其聯(lián)系圖Fig 4.1 Entity and relation系統(tǒng)流程圖:圖 4.2 系統(tǒng)流程圖Fig 4.2 System flowchart3 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)主要是進(jìn)行數(shù)據(jù)庫的邏輯設(shè)計(jì),即將數(shù)據(jù)按一定的分類、分組系統(tǒng)和邏輯層次組織起來,是面向用戶的.?dāng)?shù)據(jù)庫設(shè)計(jì)時(shí)需要綜合企業(yè)各個(gè)部門的存檔數(shù)據(jù)和數(shù)據(jù)需求,分析各個(gè)數(shù)據(jù)之間的關(guān)系,按照 DBMS 提供的功能和描述工具,設(shè)計(jì)出規(guī)模適當(dāng)、正確反映數(shù)據(jù)關(guān)系、數(shù)據(jù)冗余少、存取效率高、能滿足多種查詢要求的數(shù)據(jù)模型.?dāng)?shù)據(jù)庫設(shè)計(jì)的步驟是:(1) 數(shù)據(jù)庫結(jié)構(gòu)定義:目前的數(shù)據(jù)庫管理系統(tǒng)(DBMS)有的是支持聯(lián)機(jī)事務(wù)處理 CLTP(負(fù)責(zé)對(duì)事務(wù)數(shù)據(jù)進(jìn)行采集、處理、存儲(chǔ))的操作型 DBMS,有的可支持?jǐn)?shù)據(jù)倉庫、有聯(lián)機(jī)分析處理 CLAP(指為支持決策的制定對(duì)數(shù)據(jù)的一種加工操作)功能的大型 DBMS,有的數(shù)據(jù)庫是關(guān)系型的、有的可支持面向?qū)ο髷?shù)據(jù)庫.針對(duì)選擇的 DBMS,進(jìn)行數(shù)據(jù)庫結(jié)構(gòu)定義.(2) 數(shù)據(jù)表定義:數(shù)據(jù)表定義指定義數(shù)據(jù)庫中數(shù)據(jù)表的結(jié)構(gòu),數(shù)據(jù)表的邏輯結(jié)構(gòu)包括:屬性名稱、類型、表示形式、缺省值、校驗(yàn)規(guī)則、是否關(guān)鍵字、可否為空等.關(guān)系型數(shù)據(jù)庫要盡量按關(guān)系規(guī)范化要求進(jìn)行數(shù)據(jù)庫設(shè)計(jì),但為使效率高,規(guī)范化程度應(yīng)根據(jù)應(yīng)用環(huán)境和條件來決定.?dāng)?shù)據(jù)表設(shè)計(jì)不僅要滿足數(shù)據(jù)存儲(chǔ)的要求,還要增加一些如反映有關(guān)信息、操作責(zé)任、中間數(shù)據(jù)的字段或臨時(shí)數(shù)據(jù)表.(3) 存儲(chǔ)設(shè)備和存儲(chǔ)空間組織:確定數(shù)據(jù)的存放地點(diǎn)、存儲(chǔ)路徑、存儲(chǔ)設(shè)備等,備份方案,對(duì)多版本如何保證一致性和數(shù)據(jù)的完整性.(4) 數(shù)據(jù)使用權(quán)限設(shè)置:針對(duì)用戶的不同使用要求,確定數(shù)據(jù)的用戶使用權(quán)限,確保數(shù)據(jù)安全.(5) 數(shù)據(jù)字典設(shè)計(jì):用數(shù)據(jù)字典描述數(shù)據(jù)庫的設(shè)計(jì),便于維護(hù)和修改.為了更好地組織數(shù)據(jù)和設(shè)計(jì)出實(shí)際應(yīng)用數(shù)據(jù)庫,應(yīng)該注意如下問題:規(guī)范化地重組數(shù)據(jù)結(jié)構(gòu):對(duì)數(shù)據(jù)進(jìn)行規(guī)范化表達(dá),這在后面將會(huì)具體討論.關(guān)系數(shù)據(jù)結(jié)構(gòu)的建立:在進(jìn)行了數(shù)據(jù)基本結(jié)構(gòu)的規(guī)范化重組后,還必須建立整體數(shù)據(jù)的關(guān)系結(jié)構(gòu).這一步設(shè)計(jì)完成后數(shù)據(jù)庫和數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)工作基本完成,只待系統(tǒng)實(shí)現(xiàn)時(shí)將數(shù)據(jù)分析和數(shù)據(jù)字典的內(nèi)容代入到所設(shè)計(jì)的數(shù)據(jù)整體關(guān)系結(jié)構(gòu)中,一個(gè)規(guī)范化數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)就建立起來了. 建立關(guān)系數(shù)據(jù)結(jié)構(gòu)涉及三方面內(nèi)容:確定關(guān)聯(lián)的關(guān)鍵指標(biāo)項(xiàng)并建立關(guān)聯(lián)表;確定單一的父系記錄結(jié)構(gòu);建立整個(gè)數(shù)據(jù)庫的關(guān)系結(jié)構(gòu). 根據(jù)上面的 ER 圖,建立六張數(shù)據(jù)庫表,其結(jié)構(gòu)如下所示:表 4.1 學(xué)生個(gè)人信息表Tab. 4.1 Imformation of Student字段名 數(shù)據(jù)類型 是否為空 說 明number varchar(20) not null 學(xué)號(hào)(主碼)name varchar(20) not null 姓名sex varchar(5) not null 性別age bigint not null 年齡department varchar(50) not null 專業(yè)college varchar(50) not null 學(xué)院phone varchar(20) not null 電話address varchar(50) not null 地址inTime varchar(50) not null 入學(xué)時(shí)間outTime varchar(50) not null 畢業(yè)時(shí)間password varchar(20) not null 密碼 表 4.2 教師個(gè)人信息表Tab.4.2 Imformation of Teacher字段名 數(shù)據(jù)類型 是否為空 說 明number varchar(20) not null 職工號(hào)(主碼)name varchar(20) not null 姓名sex varchar(5) not null 性別age bigint not null 年齡department varchar(50) not null 部門post varchar(20) not null 職稱remark varchar(100) not null 備注password varchar(20) not null 密碼表 4.3 課程信息表Tab.4.3 Imfomation of Course字段名 數(shù)據(jù)類型 是否為空 說 明number varchar(20) not null 課程號(hào)(主碼)name varchar(20) not null 課程名 credit bigint not null 學(xué)分 teacher varchar(20) not null 授課老師 time varchar(50) not null 上課時(shí)間 address varchar(50) not null 上課地點(diǎn) type varchar(50) not null 課程類型表 4.4 學(xué)生成績表Tab. 4.4 Preformence of Students字段名 數(shù)據(jù)類型 是否為空 說 明snumber varchar(20) not null 學(xué)生學(xué)號(hào)(外碼)umber varchar(20) not null 課程號(hào)(外碼)year varchar(50) not null 學(xué)年term bigint not null 學(xué)期grade float not null 成績chongXiu varchar(10) not null 重修標(biāo)志表 4.5 選課情況表Tab.4.5 CurriculumSelectedByStudents字段名 數(shù)據(jù)類型 是否為空 說 明sno varchar(20) not null 學(xué)生學(xué)號(hào)o varchar(20) not null 課程號(hào)name varchar(20) not null 課程名稱credit bigint not null 課程學(xué)分teacher varchar(20) not null 授課老師time varchar(50) not null 上課時(shí)間address varchar(50) not null 上課地點(diǎn)type varchar(50) not null 課程類型selected varchar(20) not null 選課標(biāo)志表 4.6 留言信息表Tab.4 .6 Imformation of Leave Words字段名 數(shù)據(jù)類型 是否為空 說 明title varchar(100) not null 主題 name varchar(20) not null 留言人 varchar(50) null 留言人 time varchar(50) not null 留言時(shí)間 content varchar(2022) not null 留言內(nèi)容4.2 功能設(shè)置4.2.1 主要模塊的功能說明 基于 Web 的教學(xué)管理系統(tǒng)主要是實(shí)現(xiàn)網(wǎng)上選課、信息查詢、個(gè)人信息修改等功能的系統(tǒng).根據(jù)教學(xué)管理系統(tǒng)的基本需求和不同角色使用系統(tǒng)的權(quán)限不同,設(shè)定本系統(tǒng)的具體功能如下:管理員功能:實(shí)現(xiàn)學(xué)生信息查詢、教師信息查詢、添加或刪除學(xué)生、添加或刪除教師、留言管理、公告管理、課程信息錄入及修改等功能.教師功能:實(shí)現(xiàn)學(xué)生成績錄入及修改、個(gè)人信息查詢及修改、選擇選課的學(xué)生、網(wǎng)上留言和查看公告等功能.學(xué)生功能:實(shí)現(xiàn)網(wǎng)上選課、成績查詢、個(gè)人信息查詢及修改、網(wǎng)上留言及查看公告等功能.4.2.2 系統(tǒng)功能模塊圖系統(tǒng)功能模塊所下如所示:圖 4.3 系統(tǒng)功能模塊圖Fig 4.3 Function modules of system4.3 控制處理層 系統(tǒng)的流程控制主要由 Servlet 與 Action 來共同完成,當(dāng)用戶提交了相關(guān)信息,便把這些信息發(fā)送到 Servlet 或 Action 中,Servlet 或 Action 再調(diào)用對(duì)應(yīng)的 JavaBean的相關(guān)功能執(zhí)行用戶期望的操作,之后再跳轉(zhuǎn)到相應(yīng)的頁面,并返回操作后的結(jié)果.這一過程對(duì)用戶來說是透明的,用戶僅能看到操作后返回的頁面信息,對(duì)于整個(gè)系統(tǒng)的流程控制完全可以不必了解.5 系統(tǒng)實(shí)現(xiàn)與測試5.1 業(yè)務(wù)邏輯層各 Bean 功能Course.java : public Collection queryOperator(String hql):封裝了查詢的方法。 the strategy develops a management information system the process.Through analyzes my school to count the branch department the educational administration management insufficiency, founded a set of effective use puter to carry on the educational administration information management the plan.The article introduced the educational administration management information system system analysis part, includi