




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、楊教授大學堂 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料目 錄j2ee系統(tǒng)架構和程序設計課程設計實訓項目基于ssh(struts+spring+hibernate)架構的學生信息和課程信息管理系統(tǒng)21.1.1課程設計實訓項目簡介項目背景及項目中所應用的相關平臺及技術21.1.2指導教師提出的實訓項目的需求21.1.3課程設計實訓項目系統(tǒng)需求分析51.1.4系統(tǒng)設計系統(tǒng)架構設計及相關的包圖131.1.5系統(tǒng)設計系統(tǒng)數(shù)據(jù)庫邏輯結構設計151.1.6課程設計實訓項目系統(tǒng)詳細設計201.1.7課程設計實訓項目系統(tǒng)實現(xiàn)系統(tǒng)表示層頁面設計和實現(xiàn)201.1.8課程設計實訓項目系統(tǒng)實現(xiàn)基于ssh框架的系統(tǒng)配置
2、定義411.1.9設計模式在項目中的應用說明471.1.10課程實訓項目開發(fā)的心得體會52j2ee系統(tǒng)架構和程序設計課程設計實訓項目基于ssh(struts+spring+hibernate)架構的學生信息和課程信息管理系統(tǒng)1.1.1 課程設計實訓項目簡介項目背景及項目中所應用的相關平臺及技術1、課程設計實訓項目簡介這次大作業(yè)本小組初次嘗試了基于struts、hibernate、spring的web開發(fā),由于對這種開發(fā)結構不是很熟悉,中間也走了不少彎路,初次嘗次這種輕量級開發(fā)的框架,目的是為了感受開源框架在javaweb項目中的應用。我們做的系統(tǒng),主要功能是對學生,學校,課程以及他們之間關系的
3、管理。功能上主要有登錄、注冊、查看,添加刪除記錄等,開發(fā)工具用到了myeclipse、tomcat、dreamweaver、oracle數(shù)據(jù)庫系統(tǒng)、pl/sql。除了主要的功能模塊外,在初始注冊時用到ajax實時校驗注冊表單中的相關數(shù)據(jù)項目,校驗填寫的信息的可行性;由于課程一般情況下很復雜,信息很多,我們還在課程管理模塊中添加了課程查詢功能,采用的是無刷新查詢,其中用到了ajax和xslt等技術。2、系統(tǒng)的主要技術特色針對現(xiàn)有網(wǎng)站造成的服務器壓力過大,刷新不及時等缺點,結合ajax的根本理念是“按需取數(shù)據(jù)”,所以最大可能在減少了冗余請求和響影對服務器造成的負擔,節(jié)約空間和帶寬租用成本,而且無刷
4、新更新頁面,減少用戶實際和心理等待時間。因為ajax技術適用于交互較多,頻繁讀數(shù)據(jù),數(shù)據(jù)分類良好的web應用系統(tǒng)。3、系統(tǒng)開發(fā)的目的通過使用本系統(tǒng)可以對學生及相關的課程信息進行全面的信息記錄和處理,提高學校的教學管理水平和教師的工作效率。系統(tǒng)的使用者定為管理員,老師,學生。系統(tǒng)劃分為三大模塊,分別針對管理員,老師,學生提供相應的功能。1.1.2 指導教師提出的實訓項目的需求1、 問題:利用“xml + xslt”技術構建一個web網(wǎng)站 “xml + xslt”是目前比較前沿和以后將會熱門的表示層實現(xiàn)技術。大家畢業(yè)時,一定會是這樣的技術應用場景。希望大家一定要認真對待和獨立地完成本次大作業(yè)。2、
5、實訓項目的基本功能要求1) 在系統(tǒng)中必須要應用ajax技術,具體在什么功能模塊或者實現(xiàn)什么功能,可以自行決定。整個系統(tǒng)的總體功能也可以自行決定。2) 在系統(tǒng)中必須實現(xiàn)將從數(shù)據(jù)庫某個數(shù)據(jù)庫表中查詢出的jdbc的結果集動態(tài)輸出(可以采用dom或者jdom等技術編程)到自己定義的xml文件中,同時為該xml文件應該提供對應的schema文件(自己定義)3) 在系統(tǒng)中必須要應用“xml + xslt”技術實現(xiàn)將“查詢結果”在瀏覽器中進行顯示輸出由于指導教師只是對實訓項目提出了基本功能要求,而且該要求是泛泛的統(tǒng)一要求,指導教師所提出的基本功能要求在本購物系統(tǒng)中的具體功能性需求體現(xiàn)如下:3、系統(tǒng)中的非功能
6、性需求(1)允許大量用戶同時訪問及進行頁面交互,系統(tǒng)應該具有很強的穩(wěn)定行和提供有恢復機制;(2)3000用戶同時查詢響應時間不超過10秒;(3)系統(tǒng)可靠性系統(tǒng)應該能夠在7*23小時環(huán)境下不能宕機,其中1小時為系統(tǒng)維護,并且保證系統(tǒng)數(shù)據(jù)不能丟失并設有備份數(shù)據(jù)庫;(4)系統(tǒng)的魯棒性由于系統(tǒng)面對的是整個學院的師生,需存儲各種用戶的課程信息,權限信息等,信息量巨大,同時由于選課時信息量流動性較大,系統(tǒng)在運行過程中必須保證數(shù)據(jù)的一致性和完整性等。不致出現(xiàn)由系統(tǒng)內部因素而引起的數(shù)據(jù)信息不一致或丟失等問題。對于突發(fā)情況,如斷電,機器損壞等,都能及時的恢復事務,以保證系統(tǒng)中數(shù)據(jù)的完整、正確、一致性。(5)數(shù)據(jù)
7、存儲量每年數(shù)據(jù)存儲量大于10tb,年增長量大于1tb。(6)系統(tǒng)的易用性系統(tǒng)面對的用戶包括管理人員、教師、以及在校學生等,在各個接口和設計上,應盡量做到人性化設計,易于為各類用戶所操作。4、系統(tǒng)的運行環(huán)境和設計約束(1)環(huán)境約束在lan或者wan環(huán)境下,系統(tǒng)都能夠正確地運行。(2)設計約束采用java平臺實現(xiàn),在界面設計方面要求界面友好易用,功能設計合理,能讓教務管理人員快速方便有效地對學生及課程信息進行管理。(3)在系統(tǒng)中必須要實現(xiàn)將從數(shù)據(jù)庫表中查詢的jdbc數(shù)據(jù)結果集動態(tài)輸出(可以采用dom或者jdom等技術編程)到自己定義的xml文件中,同時為該xml文件提供對應的schema文件(自己
8、定義)。(4)系統(tǒng)中必須要應用“xml + xslt”技術實現(xiàn)將“查詢結果”在瀏覽器中進行顯示輸出。5、實訓項目的系統(tǒng)架構可以是標準的j2ee web組件技術(jsp+servlet+javabean),也可以是基于struts框架技術或者其它什么方面的框架,都可以!大家自行根據(jù)自己所掌握的技術來選擇(但最好選擇自己不怎么熟悉的框架,這樣能夠鍛煉自己的自學能力)。“挑戰(zhàn)自我”,您有信心嗎?!6、實訓項目的數(shù)據(jù)庫系統(tǒng)選擇每個學員自己所熟悉的某種數(shù)據(jù)庫系統(tǒng),可以為access、sqlserver2000、oracl9i、mysql或者其它。并且各自在該數(shù)據(jù)庫中創(chuàng)建出項目中的各個數(shù)據(jù)庫表和表結構。7
9、、前后臺開發(fā)工具的使用后臺開發(fā)工具可以利用myeclipse工具(或者其它如netbeans、idea等)、前臺表示層的設計工具為macromedia dreamweaver,以提高開發(fā)的速度。8、開發(fā)平臺中的應用服務器可以選擇為tomcat或者jboss或者weblogic不限,可以根據(jù)自己的熟悉來選擇。9、分組要求最好是每個人能夠獨立地完成該任務,或者最多兩個人為一組(目的是自己能夠獨立實現(xiàn),獲得鍛煉的機會-不追求功能的完美和具體技術的實現(xiàn)細節(jié),但必須人人參與!)。10、提交物(1)運行程序所需要的所有文件(頁面文件、源代碼、數(shù)據(jù)庫文件以及其它的配置文件)。 (2)本項目的readme文件
10、以及系統(tǒng)的主要功能操作的說明書(可以將運行過程中代表系統(tǒng)的主要功能實現(xiàn)的頁面,進行屏幕拷貝截圖放到word 文檔中以便進行功能檢查)。1.1.3 課程設計實訓項目系統(tǒng)需求分析1、課程設計實訓項目系統(tǒng)分析系統(tǒng)用例圖2、課程設計實訓項目系統(tǒng)分析系統(tǒng)業(yè)務流程分析(1)系統(tǒng)管理員用戶登錄模塊管理員要想查看和管理學生的信息,需要先登錄進入管理系統(tǒng),這樣可以有效地防止他人進入系統(tǒng),而以篡改信息。本系統(tǒng)的管理員在有效的注冊之后才可以,登錄進入系統(tǒng)。登錄時,管理員輸入自己的登錄名和密碼,系統(tǒng)獲得后轉到數(shù)據(jù)庫中去驗證該登錄者是否為本系統(tǒng)的管理員,如果驗證通過,系統(tǒng)將自動轉入管理頁面。如果驗證失敗,系統(tǒng)將會顯示沒
11、有登錄成功,你可以選擇回到登錄界面重新登錄,或者轉到注冊頁面進行管理員的注冊。下圖為系統(tǒng)用戶登錄的流程圖: 下圖為系統(tǒng)用戶登錄的活動圖:(2)系統(tǒng)管理員用戶注冊模塊管理員在首次登陸前需要先注冊一下。管理員進入的注冊界面后,要填寫自己的登錄名,填寫完畢后點擊check的按鈕,校驗一下該登錄名的可用性,以防和其他管理員的登錄名重復了。(這里用ajax 實現(xiàn)了實時校驗)接下來輸入兩遍密碼,再輸入e-mail的地址,以便日后有事通知管理員或是找回密碼時使用。最后輸入一組驗證碼,此碼是設定的一組口令,用來驗證管理員的真實身份,以免有他人惡意注冊。如果輸入的驗證碼和數(shù)據(jù)庫存放的一致則為真的管理員。下圖為系
12、統(tǒng)用戶注冊的流程圖:(3)系統(tǒng)管理員對學校信息管理模塊成功登錄進入管理系統(tǒng)后,管理員將可以進行學校信息的管理,首先進入查看學校列表的頁面,在這里將會列出之前存儲的所有學校的名字,在這里,管理員可以點擊查看每一個學校的詳細信息,還可以添加新的學校。下圖為系統(tǒng)管理員對學校信息管理的流程圖:(4)系統(tǒng)管理員對學生信息管理模塊管理員登陸成功之后,點擊查看學生列表。進入學生列表頁面后,管理員可以點擊查看學生詳細信息,學生具體信息頁面羅列了學生的所有信息,除了瀏覽信息,管理員還可以在這里給這名學生添加課程。在數(shù)據(jù)庫系統(tǒng)設計時學生表的課程字段與課程表的id字段是主外鍵關系,添加的課程必須使課程列表中已經存在
13、的課程,所以我們將添加課程的功能設計為下拉菜單,該下拉菜單是動態(tài)生成的,顯示的選項是從課程表中讀取的課程信息,這讓做的優(yōu)點是讓管理員能更輕松的選擇要添加的課程,與手工輸入課程名稱相比更佳方便,也減少了輸錯課程名稱的幾率。此外,管理員還可以添加新學生。點擊添加新學生的連接進入添加頁面,在該頁面中填寫具體的學生信息,提交到后臺存入數(shù)據(jù)庫。下圖為系統(tǒng)管理員對學生信息管理的流程圖:(5)系統(tǒng)管理員對課程信息管理模塊管理員登陸系統(tǒng)之后,點擊查看課程列表,進入課程列表頁面。在這里,管理員可以添加課程、刪除課程、查看課程信息等功能性操作。管理員點擊進入添加課程頁面,填寫正確的課程信息然后進行提交,如果成功寫
14、入數(shù)據(jù)庫則顯示提交成功,反之顯示提交不成功并返回課程列表頁面。管理員在課程列表頁面下,點擊要刪除的課程后面的刪除課程連接,此時該門課程的id傳入后臺進行處理,并在數(shù)據(jù)庫中刪除此條記錄。管理員要查看某門課程的詳細信息,點擊該課程后的查看課程詳細信息連接,管理員將會進入到課程詳細信息頁面,在該頁面中,后臺將會通過id把相應的記錄從數(shù)據(jù)庫中調出來,顯示到頁面上。在課程管理頁面中,管理員還可以進行課程查詢,該部分的具體業(yè)務流程將在課程查詢模塊中涉及到。下圖為系統(tǒng)管理員對課程信息管理的流程圖:(6)系統(tǒng)管理員課程查詢模塊一門課程可以有多個學生選擇,也可以有多個老師來教,所以課程的處理比較復雜,這里用做成
15、無刷新查詢,用到了從數(shù)據(jù)庫的course表中把查詢出來的jdbc的結果集動態(tài)輸出到xml文件,并用到了xml+xslt技術顯示,單獨列出來成為一個模塊。系統(tǒng)管理員在進入課程詳細信息頁面之后,可以選擇查詢課程。在可充查詢頁面中輸入要查詢的課程名稱,到數(shù)據(jù)庫中進行匹配,動態(tài)的生成xml文件,再用xslt解析,如果有輸入的課程名稱一致的課程,在頁面上顯示課程列表,沒有則顯示沒有這門課程。下圖為系統(tǒng)管理員課程查詢的流程圖:3、課程設計實訓項目系統(tǒng)分析系統(tǒng)用例ipo業(yè)務流程分析(1)新生入學input新生的基本信息(出生日期,性別,民族,政治面貌)、入學成績、家庭情況(父母姓名,工作,聯(lián)系方式),聯(lián)系方
16、式(手機號碼,家庭住址)注:新生檔案支持excel導入process根據(jù)輸入內容更新數(shù)據(jù)庫:1、檢驗輸入信息是否符合格式要求。2、新建一條記錄包括以上各項屬性以及錄入日期。3、把輸入信息錄入對應屬性,并將錄入日期置為當前日期。output錄入成功:彈出窗口提示錄入成功錄入失?。簭棾龃翱谔崾句浫胧。⑻崾驹颍?.屬性格式輸入錯誤 2.輸入內容不全。允許重新輸入(2)新生自動分班input新生的總成績與性別process根據(jù)輸入內容更新數(shù)據(jù)庫:1、檢驗輸入信息是否符合格式要求。2、在每條學生記錄的班級屬性里面填入所在班級號output錄入成功:彈出窗口提示分班成功,并列出分班名單錄入失敗:彈出
17、窗口提示錄入失敗,并提示原因:1.屬性格式輸入錯誤 2.輸入內容不全。允許重新輸入(3)學生畢業(yè)input畢業(yè)學生的學號process根據(jù)輸入內容更新數(shù)據(jù)庫:1、檢驗輸入信息是否符合格式要求。2、在數(shù)據(jù)庫中查找出相應記錄,將其記錄進“已畢業(yè)學生”相應表中3、從“在校學生”相應表中將此記錄刪除output錄入成功:彈出窗口提示登記成功錄入失?。簭棾龃翱谔崾句浫胧?,并提示原因:1.屬性格式輸入錯誤 2.輸入內容不全。允許重新輸入(4)新生升學input學生學號process根據(jù)輸入內容更新數(shù)據(jù)庫:1、檢驗輸入信息是否符合格式要求。2、在相應的表中查找出相應的記錄,若為本科生,將其記錄進研究生表中
18、,若為研究生,將其記錄進博士生表中3、為該名學生分配新的學號,記錄進相應的記錄里4、將其記錄從原表中刪除output錄入成功:彈出窗口提示升學記錄成功錄入失?。簭棾龃翱谔崾句浫胧?,并提示原因:1.屬性格式輸入錯誤 2.輸入內容不全。允許重新輸入(5)學生信息維護input學生學號process根據(jù)輸入內容更新數(shù)據(jù)庫:1、檢驗輸入信息是否符合格式要求。2、根據(jù)學號在數(shù)據(jù)庫中查找出相應記錄3、對信息做出修改(刪除,更新等),或提取信息在網(wǎng)上發(fā)布,并將修改日期置為當前日期。output錄入成功:彈出窗口提示操作成功錄入失?。簭棾龃翱谔崾句浫胧。⑻崾驹颍?.屬性格式輸入錯誤 2.輸入內容不全。
19、允許重新輸入(6)學生獲獎管理input學生學號,獲得的獎勵名稱process根據(jù)輸入內容更新數(shù)據(jù)庫:1、檢驗輸入信息是否符合格式要求。2、若是登記獲獎記錄,則新建一條記錄包括以上各項屬性以及錄入日期,把輸入信息錄入對應屬性,并將錄入日期置為當前日期。3、若是修改或刪除,則在數(shù)據(jù)庫中查找出相應記錄,進行修改或刪除output錄入成功:彈出窗口提示操作成功錄入失?。簭棾龃翱谔崾句浫胧。⑻崾驹颍?.屬性格式輸入錯誤 2.輸入內容不全。允許重新輸入(7)成績查詢input學號:數(shù)字班級號:數(shù)字process根據(jù)學籍管理表,查找學生或班級的的信息是否在里面存在。output存在:調出該學生或班級
20、的成績信息 不存在:顯示出請確認該人或班級是否存在(8)成績統(tǒng)計input學生編號:數(shù)字學生成績:數(shù)字process可以選擇性地按照班級、任課教師、班主任、學生等對象對考試成績進行橫向、縱向和交叉分析,標準分、標準差、離散系數(shù)、平均分output相應的結果(9)成績打印input界面中打印成績:按鈕process彈出一個可共選擇的頁面,包括紙張、內容、格式等;調出數(shù)據(jù)庫中學生成績,并查看打印機是否可用,可用則打印,不可用,提示打印機壞了,需維修,并且提示是否需要顯示在一個頁面上。output打印機可用:打印出一個報表打印機不可用: 若需要,則顯示在一個頁面上。1.1.4 系統(tǒng)設計系統(tǒng)架構設計及
21、相關的包圖1、系統(tǒng)實現(xiàn)的平臺就是采用了標準的j2ee ssh框架組件技術(struts+spring+hibernate)。2、系統(tǒng)選用c/s還是b/s體系結構基于大量的用戶的界面交互,本項目選者b/s。3、開發(fā)工具使用myeclipse和macromedia dreamweaver,開發(fā)平臺中的應用服務器選用tomcat4、系統(tǒng)架構的包圖l系統(tǒng)基于mvc架構模式設計和開發(fā)實現(xiàn),如下示圖為mvc架構模式的交互圖。其中的模型(model)組件主要描述系統(tǒng)的數(shù)據(jù),而視圖(view)組件則實現(xiàn)數(shù)據(jù)的顯示(包括圖形、文本和文件等輸出形式),而控制器(controller)主要是獲取系統(tǒng)的輸入,并控制系
22、統(tǒng)的執(zhí)行請求和響應的過程。為了能夠進一步地提高系統(tǒng)的靈活性,對基于mvc架構模式中的“模型”層進行優(yōu)化,分離為“業(yè)務層”和“持久層”。如下示圖為本系統(tǒng)最終的架構的包圖采用四層架構。傳統(tǒng)的mvc框架的表示層是基于jsp頁面來實現(xiàn)視圖的,然后jsp頁面將數(shù)據(jù)傳到controller控制層組件,由controller控制層組件程序中的相關方法調用相應的模型層組件javabean中的方法來實現(xiàn)邏輯功能,產生響應的結果數(shù)據(jù)并發(fā)回到瀏覽器的客戶端。但本系統(tǒng)的表示層則采用基于xml和xslt相關的技術來實現(xiàn)視圖層。xml文檔承載數(shù)據(jù),而xslt負責對xml文檔數(shù)據(jù)進行轉換處理,并產生響應結果頁面。采用這種技
23、術,可以實現(xiàn)頁面顯示與業(yè)務邏輯的徹底分離,而且可以為不同的客戶端輸出處理的結果數(shù)據(jù),也突破了jsp頁面只能在pc電腦終端上的實現(xiàn)顯示,從而也可以將pc電腦終端輸出端換成其他設備,比如說手機以及其他的智能設備。如下示圖為本系統(tǒng)的mvc架構的請求和響應處理的流程示圖:由于每一層在整個應用中都有著明確的分工,并且不會混淆他們之間的功能,所以采用mvc體系架構進行系統(tǒng)開發(fā)可以很大程度上減少開發(fā)人員的工作量,并且使系統(tǒng)開發(fā)人員更加專注于業(yè)務邏輯功能的開發(fā),極大地降低了各個層次之間的耦合度。5、系統(tǒng)出錯處理設計(1)出錯提示本系統(tǒng)要求具有一定的穩(wěn)定性和容錯性。在前臺頁面中應用javascript腳本程序處
24、理系統(tǒng)各種類型的用戶登錄錯誤,比如用戶名、口令為空的輸入,并定義newexception異常處理類,存儲運行期異常,并進行拋出,供程序員處理。根據(jù)不同類型的錯誤提供相應豐富的出錯提示信息,便于用戶操作,也有利于系統(tǒng)維護、管理人員進行維護、管理;一般用對話框形式給出,信息簡潔、全面、友好。建議使用幫助文件。(2)出錯處理及恢復策略對一般錯誤,給用戶提示信息,讓用戶重新輸入或退出;而對于嚴重錯誤,采用恢復技術。6、系統(tǒng)安全策略設計該系統(tǒng)的內容涉及學生信息、課程的信息,故系統(tǒng)在安全方面有較高的要求。在實現(xiàn)過程中具體采用如下措施來保障系統(tǒng)的安全穩(wěn)定運行和信息的機密性(confidentiality)、
25、完整性(integrity)、可用性(availability)和可靠性(authenticity):(1)面向用戶的訪問控制所有參與系統(tǒng)的角色都用id+口令進行登錄,在終端進行基本安全驗證。(2)面向數(shù)據(jù)的訪問控制文件和數(shù)據(jù)庫管理系統(tǒng)采用訪問控制通用模型控制訪問,即系統(tǒng)必須針對每一個獨立的訪問企圖做出決策,該決策不僅取決于用戶身份,還取決于被訪問的數(shù)據(jù)的特定部分;(3)在應用層對用戶信息進行加密,保障信息的網(wǎng)絡傳輸安全;(4)入侵檢測1) 統(tǒng)計異常檢測2) 基于規(guī)則的檢測 進行入侵檢測,及時發(fā)現(xiàn)對系統(tǒng)的非法訪問。1.1.5 系統(tǒng)設計系統(tǒng)數(shù)據(jù)庫邏輯結構設計1、系統(tǒng)數(shù)據(jù)庫邏輯結構設計在此次課程設
26、計實訓項目作業(yè)中,我們用到了oracle數(shù)據(jù)庫系統(tǒng),并配合使用了pl sql developer來對數(shù)據(jù)庫表進行系統(tǒng)管理,plsql developer是個數(shù)據(jù)庫管理工具,可以連接多種數(shù)據(jù)庫,圖形界面清晰易懂,用起來很方便,推薦大家使用。本學生和課程信息管理系統(tǒng)主要涉及到學生、學校、課程等方面的信息,加上它們之間的關聯(lián)和管理員信息表,一共5張表,分別是:course、student、school、school_course、student_course。2、系統(tǒng)數(shù)據(jù)庫邏輯結構(1)course課程數(shù)據(jù)庫表(2)school學校信息數(shù)據(jù)庫表(3)school_course 學校和課程關聯(lián)數(shù)據(jù)庫表
27、(4)student學生信息數(shù)據(jù)庫表(5)student_course學生和課程關聯(lián)信息數(shù)據(jù)庫表3、創(chuàng)建數(shù)據(jù)庫表結構的腳本文件alter table school_course drop constraint course_sch_sc;alter table school_course drop constraint school_sch_sc;alter table student drop constraint student_school;alter table student_course drop constraint course_sc;alter table student_c
28、ourse drop constraint student_s_course;drop table course cascade constraints;drop table school cascade constraints;drop table school_course cascade constraints;drop table student cascade constraints;drop table student_course cascade constraints;create table course ( id integer not null, name varchar
29、2(30), grade varchar2(30), teacher varchar2(30), constraint pk_course primary key (id);comment on table course is 課程信息表 ;comment on column course.id is id;comment on column course.name is 課程名稱;comment on column course.grade is 課程學分;comment on column course.teacher is 老師;create table school ( id inte
30、ger not null, name varchar2(50), address varchar2(100), constraint pk_school primary key (id);comment on column school.id is id;comment on column school.name is 學校名稱;comment on column school.address is 學校地址;create table school_course ( id integer not null, school_id integer, course_id integer, const
31、raint pk_school_course primary key (id);comment on table school_course is 學校課程關系表;comment on column school_course.school_id is 學校id;comment on column school_course.course_id is 課程id;create table student ( id integer not null, name varchar2(30), sex varchar2(30), grade varchar2(30), class varchar2(30
32、), school_id integer, password varchar2(30),isadmin varchar2(10), constraint pk_student primary key (id);comment on table student is 學生信息表;comment on column student.id is id;comment on column student.name is 學生姓名;comment on column student.sex is 性別;comment on column student.grade is 年級;comment on co
33、lumn student.class is 班級;comment on column student.school_id is 學校;create table student_course ( id integer not null, student_id integer, course_id integer, constraint pk_student_course primary key (id);comment on table student_course is 學生課程關系表;comment on column student_course.id is id;comment on c
34、olumn student_course.student_id is 學生id;comment on column student_course.course_id is 課程id;alter table school_course add constraint course_sch_sc foreign key (course_id) references course (id);alter table school_course add constraint school_sch_sc foreign key (school_id) references school (id);alter
35、 table student add constraint student_school foreign key (school_id) references school (id);alter table student_course add constraint course_sc foreign key (course_id) references course (id);alter table student_course add constraint student_s_course foreign key (student_id) references student (id);1
36、.1.6 課程設計實訓項目系統(tǒng)詳細設計1.1.7 課程設計實訓項目系統(tǒng)實現(xiàn)系統(tǒng)表示層頁面設計和實現(xiàn)1、系統(tǒng)程序包及功能類結構在這次課程設計實訓大作業(yè)中,我們小組應用了基于struts、hibernate、spring的j2ee web體系架構實現(xiàn)本系統(tǒng)項目。下圖為系統(tǒng)程序包及功能類的目錄結構:2、系統(tǒng)首頁面頁面部分采用div+css樣式單布局設計,下圖為系統(tǒng)首頁index.html的局部截圖:首頁沒有涉及到數(shù)據(jù)傳輸和表單提交,只是簡單的鏈接,所以只用了靜態(tài)的html頁面開發(fā)實現(xiàn)完成首頁的功能。3、系統(tǒng)登錄頁面如果用戶所輸入的登錄信息通過查數(shù)據(jù)庫,發(fā)現(xiàn)該用戶的信息不存在時,系統(tǒng)將自動地轉入到注冊
37、頁面中。下面為系統(tǒng)登錄的表單頁面的代碼示例:學生信息管理系統(tǒng)-登錄管理員登錄用戶名密碼4、系統(tǒng)注冊頁面注冊者只需要在注冊表單中填寫用戶自身相關的注冊信息,然后再點擊提交按鈕將提交注冊信息,而如果點擊check按鈕將可以檢查用戶所輸入的用戶名稱是否可用該功能實現(xiàn)應用了ajax的實時校驗,檢查用戶名是否可用。下面為檢查用戶名是否可用的javascript程序代碼check.js示例:var httprequest;function chkusername() var requesturl = /student/studentaction.do?method=isstudent&username=+
38、document.all.username.value; httprequest=gethttprequestobject(); httprequest.onreadystatechange = processhttpresponse; httprequest.open(post, requesturl, true); httprequest.send(null);function gethttprequestobject() var httprequestobject; if (window.xmlhttprequest) / mozilla, safari, . httprequestob
39、ject = new xmlhttprequest(); else if (window.activexobject) / ietry httprequestobject = new activexobject(microsoft.xmlhttp);catch (e)try httprequestobject= new activexobject(msxml2.xmlhttp);catch (e2) alert(您的瀏覽器有問題!); return httprequestobject;function processhttpresponse() if(httprequest.readystat
40、e = 4) if(httprequest.status = 200) if(httprequest.responsetext!=) /出現(xiàn)錯誤時 document.getelementbyid(showstr).style.display = ; document.getelementbyid(username).style.background= #ff0000;/來自響應的原始數(shù)據(jù) document.getelementbyid(showstr).innertext = httprequest.responsetext; document.registerform.submitbutto
41、n.disabled = true; else /沒有出現(xiàn)錯誤時 document.getelementbyid(username).style.background= #ffffff; document.getelementbyid(showstr).style.display = none; document.registerform.submitbutton.disabled = false; else if(httprequest.status = 404) alert(沒有找到與所請求的文件相匹配的資源!); else alert(你所請求的頁面發(fā)生異常,錯誤代碼為:+httpreq
42、uest.status); else document.getelementbyid(showstr).innerhtml = 正在檢測用戶名稱的合法性,請稍等.; function dosubmit() var document.all.form1.action = /studentaction.do?method=isstudent; document.all.form1.submit();如果用戶名不可用,則在showstr的div框中顯示提示信息:“此登陸名已存在”。如果用戶名可用,則在showstr的div框中顯示提示信息:“此登陸名可用”,系統(tǒng)自動地轉入注冊成功頁面。注冊成功,用戶信息存入數(shù)據(jù)庫,轉入管理頁面。下面為系統(tǒng)用戶注冊的表單所對應的html標簽代碼示例:管理員注冊用戶名密碼密碼確認e-mail地址5、學生信息管理頁面在學生信息管理頁面中,系統(tǒng)管理員可以查看學校列表,學生列表,課程列表等方面的信息。6、查詢顯示學校信息列表查看學校列表,管
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 出口寵物食品合同范本
- 倉庫租賃 配送合同范本
- 主力商家合同范本
- 2025年超大型特厚板軋機項目建議書
- 第六課 友誼之樹常青 教學設計-2024-2025學年統(tǒng)編版道德與法治七年級上冊
- 包裝買賣合同范本
- 北京合伙合同范本咨詢
- 《認識面積》(教學設計)-2023-2024學年三年級下冊數(shù)學人教版
- 信用擔保借款合同范本你
- 制造珠寶生產訂單合同范本
- DL∕T 1084-2021 風力發(fā)電場噪聲限值及測量方法
- DL∕T 478-2013 繼電保護和安全自動裝置通 用技術條件 正式版
- AQ/T 2036-2011 金屬非金屬地下礦山通信聯(lián)絡系統(tǒng)建設規(guī)范 (正式版)
- NB-T33004-2013電動汽車充換電設施工程施工和竣工驗收規(guī)范
- 2024年云南省中考語文真題版,含答案
- DZ∕T 0399-2022 礦山資源儲量管理規(guī)范(正式版)
- 2024年鄂爾多斯市國資產投資控股集團限公司招聘公開引進高層次人才和急需緊缺人才筆試參考題庫(共500題)答案詳解版
- 競賽試卷(試題)-2023-2024學年六年級下冊數(shù)學人教版
- 幼兒園強制報告制度培訓
- 《研學旅行課程設計》課件-辨識與研學旅行場混淆的概念
- GB/T 43700-2024滑雪場所的運行和管理規(guī)范
評論
0/150
提交評論