




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、重慶工業(yè)職業(yè)技術學院畢業(yè)設計(論文)課 題 名 稱 網(wǎng)上選課系統(tǒng)設計與實現(xiàn)專 業(yè) 班 級: 10計應303 學 生 姓 名: 張 三 指 導 教 師: 劉 娜 二O一二 年 十二 月 目 錄摘要1關鍵詞1引言21 系統(tǒng)相關技術介紹21.1 系統(tǒng)開發(fā)采用的技術方案B/ S模式21.2 MVC設計模式31.3 JSP介紹31.3.1 將內容的生成和顯示進行分離31.3.2 強調可重用的組件32 系統(tǒng)開發(fā)工具及容器42.1 開發(fā)工具42.1.1 MyEclipse簡介42.1.2 DreamWaver簡介42.2 數(shù)據(jù)庫的選擇42.3 JDK版本的選擇42.4 容器43 需求分析53.1可行性分析5
2、3.2 功能模塊分析53.3 軟硬件環(huán)境需求74 概要設計74.1 系統(tǒng)功能結構74.2 系統(tǒng)流程圖74.3 系統(tǒng)數(shù)據(jù)庫E-R模型84.4 數(shù)據(jù)庫表設計95 詳細設計105.1 界面設計105.2 系統(tǒng)功能模塊設計115.2.1 公共模塊115.2.2管理員模塊125.2.3 學生模塊16結束語20致 謝20參考文獻20網(wǎng)上選課系統(tǒng)設計與實現(xiàn)摘要:學生選課系統(tǒng)是一款管理系統(tǒng),囊括了學生管理和課程管理的基本過程。系統(tǒng)覆蓋學生的選課、查看、修改密碼等各個環(huán)節(jié),軟件的各個模塊操作界面簡單、實用。該系統(tǒng)是一個基于B/S結構的Web項目,采用Struts軟件進行開發(fā),用戶數(shù)據(jù)選用MySQL進行統(tǒng)一管理。
3、該系統(tǒng)可以顯著減輕教務人員的工作負擔,大大提高工作效率,從而實現(xiàn)教務管理的數(shù)字化和網(wǎng)絡化。關鍵詞:B/S ;選課系統(tǒng);數(shù)據(jù)庫;Web項目引言:Internet的發(fā)展使我們的教育更加現(xiàn)代化,實現(xiàn)教學信息的集中管理、分散操作、信息共享,使傳統(tǒng)的教學管理朝數(shù)字化、無紙化、智能化、綜合化的方向發(fā)展,并為進一步實現(xiàn)完善的計算機教學文件管理系統(tǒng)和全校信息系統(tǒng)打下良好的基礎。學生網(wǎng)上選課系統(tǒng)是高校教學管理系統(tǒng)的重要組成部分,充分利用計算機網(wǎng)絡功能,實現(xiàn)教學工作全過程的計算機管理,幫助具體管理人員從復雜煩瑣工作中解放出來,使得教學管理走向無紙化辦公和規(guī)范化、現(xiàn)代化管理。1 系統(tǒng)相關技術介紹1.1 系統(tǒng)開發(fā)采用
4、的技術方案B/ S模式信息技術的高速發(fā)展使網(wǎng)絡計算模式不斷更新。從單機時代的主機/終端模式、文件服務器時代的共享數(shù)據(jù)模式、客戶機/服務器時代的Client/Server(客戶機/服務器)模式,再到今天網(wǎng)絡計算機時代的Browser/Server(瀏覽器/服務器)模式,計算模式發(fā)生了巨大變化,同時計算模式的不斷進步使管理軟件的架構發(fā)生了很大變化。系統(tǒng)綜合還應用了B/S模式1,即Browser/Server(瀏覽器/服務器)結構,是對C/S結構的一種改進。B/S模式的好處還有運行維護比較簡便,能實現(xiàn)不同的人員,從不同的地點,以不同的接入方式訪問和操作共同的數(shù)據(jù),解決了地域的限制。而基于互聯(lián)網(wǎng)應用系
5、統(tǒng)都采用Browser/S erver(瀏覽器/服務器)模式結構,在客戶端中除Web瀏覽器外,要安裝的軟件便是一些插件和控件。這些插件被設計于服務器端,并通過網(wǎng)絡下載到客戶端,而控件則是第一次瀏覽下載并注冊的。這是一種最小化的客戶端安裝及客戶機模式,是目前客戶服務器體系結構的發(fā)展方向。1.2 MVC設計模式 Model模型-View視圖-Controller控制器2是軟件工程中的一種軟件架構模式。它把軟件系統(tǒng)分為三個基本部分:Model模型,View視圖和Controller控制器。模型視圖控制器模式的目的是實現(xiàn)一種動態(tài)的程序設計,使后續(xù)對程序的修改和擴展簡化,并且使程序某一部分的重復利用成為
6、可能。專業(yè)人員可以通過自身的專長分組:控制器Controller- 負責轉發(fā)請求,對請求進行處理。 視圖View - 界面設計人員進行圖形界面設計。 模型Model - 程序員編寫程序應有的功能(實現(xiàn)算法等等)、數(shù)據(jù)庫專家進行數(shù)據(jù)管理和數(shù)據(jù)庫設計(可以實現(xiàn)具體的功能)。1.3 JSP介紹JSP是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術標準。該技術為創(chuàng)建顯示動態(tài)生成內容的Web頁面提供了一個簡捷而快速的方法。JSP技術的設計目的是使得構造基于Web的應用程序更加容易和快捷,而這些應用程序能夠與各種Web服務器,應用服務器,瀏覽器和開發(fā)工具共同工作。 JS
7、P規(guī)范是Web服務器、應用服務器、交易系統(tǒng)、以及開發(fā)工具供應商間廣泛合作的結果。在傳統(tǒng)的網(wǎng)頁HTML文件(*htm,*.html)中加入Java程序片段(Scriptlet)和JSP標記(tag),就構成了JSP網(wǎng)頁(*.jsp)。Web服務器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序片段,然后將執(zhí)行結果以HTML格式返回給客戶。程序片段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁以及發(fā)送 email 等等,這就是建立動態(tài)網(wǎng)站所需要的功能。所有程序操作都在服務器端執(zhí)行,網(wǎng)絡上傳送給客戶端的僅是得到的結果,對客戶瀏覽器的要求最低,可以實現(xiàn)無Plugin,無ActiveX,無Java Applet,甚至無F
8、rame。JSP技術在多個方面加速了動態(tài)Web頁面的開發(fā):1.3.1 將內容的生成和顯示進行分離使用JSP技術,Web頁面開發(fā)人員可以使用HTML或者XML標識來設計和格式化最終頁面。使用JSP標識或者小腳本來生成頁面上的動態(tài)內容(內容是根據(jù)請求來變化的,例如請求帳戶信息或者特定的一瓶酒的價格)。生成內容的邏輯被封裝在標識和JavaBeans組件中,并且捆綁在小腳本中,所有的腳本在服務器端運行。如果核心邏輯被封裝在標識和Beans中,那么其他人,如Web管理人員和頁面設計者,能夠編輯和使用JSP頁面,而不影響內容的生成。在服務器端,JSP引擎解釋JSP標識和小腳本,生成所請求的內容(例如,通過
9、訪問JavaBeans組件,使用JDBCTM技術訪問數(shù)據(jù)庫等),并且將結果以HTML(或者XML)頁面的形式發(fā)送回瀏覽器。這有助于作者保護自己的代碼,而又保證任何基于HTML的Web瀏覽器的完全可用性。1.3.2 強調可重用的組件JSP 作為一個很好的動態(tài)網(wǎng)頁開發(fā)語言得到了越來越廣泛的使用,在各類JSP 應用程序當中,JSP+JavaBean 的組合成為了一種事實上最常見的JSP程序的標準。JavaBean 4是描述Java 的軟件組件模型,有點類似于 Microsoft的COM 組件概念。在Java 模型當中,通過JavaBean 可以無限擴充Java 程序的功能,通過JavaBean 的組
10、件可以快速地生成新的應用程序。對于程序員來說,最好的一點就是 JavaBean可以實現(xiàn)代碼的重復利用。 JavaBean 是一種基于 Java 的軟件組件。 JSP 對于在 Web 應用中集成 JavaBean 組件提供了完善的支持。這種支持不僅能縮短開發(fā)時間(可以直接利用經(jīng)測試和可信任的已有組件,避免了重復開發(fā)),也為 JSP 應用帶來了更多的可伸縮性。 JavaBean 組件可以用來執(zhí)行復雜的計算任務,或負責與數(shù)據(jù)庫的交互以及數(shù)據(jù)提取等。如果我們有三個 JavaBean ,它們分別具有顯示新聞、股票價格、天氣情況的功能,則創(chuàng)建包含所有這三種功能的 Web 頁面只需要實例化這三個 Bean
11、,使用 HTML 表格將它們依次定位就可以了。利用跨平臺運行的 JavaBean 組件, JSP 為分離處理邏輯與顯示樣式提供了卓越的解決方案。2 系統(tǒng)開發(fā)工具及容器2.1 開發(fā)工具本系統(tǒng)使用的開發(fā)工具,后臺java代碼編寫使用MyEclipse Europa workbench 6.5,前臺頁面編輯使用DreamWaver 8。2.1.1 MyEclipse簡介MyEclipse企業(yè)級工作平臺(MyEclipse Enterprise Workbench ,簡稱MyEclipse)5是對Eclipse IDE的擴展,利用它我們可以在數(shù)據(jù)庫和JavaEE的開發(fā)、發(fā)布,以及應用程序服務器的整合方
12、面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調試、測試和發(fā)布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。2.1.2 DreamWaver簡介Dreamwaver是美國MACROMEDIA公司(現(xiàn)為Adobe收購)開發(fā)的集網(wǎng)頁制作和管理網(wǎng)站于一身的所見即所得網(wǎng)頁編輯器,它是第一套針對專業(yè)網(wǎng)頁設計師特別發(fā)展的視覺化網(wǎng)頁開發(fā)工具。2.2 數(shù)據(jù)庫的選擇2.2.1 MySQL 簡介MySQL是一個開放源碼的關系數(shù)據(jù)庫管理系統(tǒng)6,MySQL由于性能高、成本低、可靠性好,已經(jīng)成為最流行的開源數(shù)據(jù)庫,被
13、廣泛地應用在中小型網(wǎng)站中。隨著MySQL的不斷成熟,它也逐漸用于更多大規(guī)模網(wǎng)站和應用。MySQL 是一個真正的多用戶、多線程的SQL數(shù)據(jù)庫服務器。MySQL是現(xiàn)在流行的關系數(shù)據(jù)庫中其中的一種,相比其它的數(shù)據(jù)庫管理系統(tǒng),MySQL具有小巧、功能齊全、查詢迅捷等優(yōu)點,MySQL 主要目標是快速、健壯和易用,關鍵的是它是免費的。2.3 JDK版本的選擇Java Development Kit (JDK) 是Sun公司針對Java開發(fā)員的軟件開發(fā)工具包。自從Java推出以來,JDK已經(jīng)成為使用最廣泛的Java SDK(Software development kit)。本系統(tǒng)采用JDK 6 editi
14、on update 7版本。2.4 容器本系統(tǒng)頁面采用JSP,所以對應的容器采用Apache Tomcat 6.0。既然JSP/Servlet,那么它當然是不能直接運行的,必須把它放到某種運行環(huán)境當中,它才能發(fā)揮它的作用。這個環(huán)境就是我們講的容器。容器也是 java 程序,它的主要功能除了為Servlet 提供運行環(huán)境,還有更重要的就是提供網(wǎng)絡傳輸協(xié)議與java 程序實體的相互轉換。客戶端向服務器發(fā)送數(shù)據(jù),遵循的是HTTP 協(xié)議的數(shù)據(jù)格式,服務器向客戶端發(fā)送數(shù)據(jù)也是遵循HTTP協(xié)議的。在客戶端和服務器端,可能存在著不同的編程語言編寫的程序,比如java,C+等等。各種語言都有自己用于處理HTT
15、P協(xié)議數(shù)據(jù)的方法(類),為了使用java提供的各種HTTP處理相關的類,必須將HTTP協(xié)議下的數(shù)據(jù)做一定的轉換,轉換成一些java object,這樣才能使用java的方法進行數(shù)據(jù)處理。同理,當這些處理完成,又需要將這些java object轉換回HTTP協(xié)議下的數(shù)據(jù),反饋給客戶端(JSP/Servlet當然存在與服務器端)。JSP/Servlet容器就扮演了完成這個雙向轉換的角色。2.4.1 Tomcat簡介Tomcat7是由Apache軟件基金會下屬的Jakarta項目開發(fā)的一個Servlet容器,按照Sun Microsystems提供的技術規(guī)范,實現(xiàn)了對Servlet和JavaServ
16、er Page(JSP)的支持,并提供了作為Web服務器的一些特有功能,如Tomcat管理和控制平臺、安全域管理和Tomcat閥等。由于Tomcat本身也內含了一個HTTP服務器,它也可以被視作一個單獨的Web服務器。但是,不能將 Tomcat 和 Apache Web 服務器混淆,Apache Web Server 是一個用 C 語言實現(xiàn)的 HTTP web server;這兩個 HTTP web server 不是捆綁在一起的。Apache Tomcat 包含了一個配置管理工具,也可以通過編輯 XML 格式的配置文件來進行配置。3 需求分析3.1可行性分析(1)技術可行性學生選課系統(tǒng)是一款
17、管理系統(tǒng),系統(tǒng)包含課程管理的基本過程。系統(tǒng)覆蓋學生的選課、查看、修改密碼等各個環(huán)節(jié),軟件的各個模塊操作界面簡單、實用,用戶可以在最短的時間內掌握系統(tǒng)的使用方法。用戶可以在最短時間內找到自己所需要的信息。系統(tǒng)采用如今已廣泛被人們接受的B/S結構,可以通過Internet協(xié)同工作,數(shù)據(jù)共享。系統(tǒng)軟件采用現(xiàn)在流行且技術很成熟的框架Struts +MySQL平臺進行開發(fā)并實現(xiàn)??梢赃M行高效的管理,提高工作效率。本系統(tǒng)具有以下特點:l 具有良好的系統(tǒng)性能,友好的用戶界面。l 較高的處理效率,便于使用和維護。l 采用成熟的技術開發(fā),全系統(tǒng)具有較高的技術水平l 盡可能地簡化選課的管理工作,提高工作效率(2)
18、經(jīng)濟可行性由于本系統(tǒng)是為學生選課管理使用的系統(tǒng),該系統(tǒng)可以容易實現(xiàn)學生,老師與學校之間的聯(lián)系,在Internet上實現(xiàn)完成部分教務工作,提高辦事效率和周期。系統(tǒng)成本主要集中在系統(tǒng)軟件的開發(fā)上,當系統(tǒng)投入運行后可以為學校節(jié)約大量的人力和物力,所帶來的效益遠遠大于系統(tǒng)軟件的開發(fā)成本,在經(jīng)濟上完全可行。(3)操作可行性界面設計時充分考慮管理人員的習慣,使得操作簡單;數(shù)據(jù)錄入迅速、規(guī)范、可靠;統(tǒng)計準確;制表靈活;適應力強;容易擴充。3.2 功能模塊分析在本系統(tǒng)中,有兩類用戶:系統(tǒng)管理員和學生。兩種不同的用戶所具有的操作權限以及操作內容均不一樣。本選課系統(tǒng)給予管理員很大的自主權,負責向系統(tǒng)中添加學生和教
19、師的個人信息以及教學樓教室信息以及開設課程等。學生登錄網(wǎng)站可選擇課程。系統(tǒng)超級管理員設置一個選課時間段,在到達時間段以前,普通管理員可以開設課程;到達選課時間段以后,學生可以登陸網(wǎng)站選擇課程。管理員登陸網(wǎng)站后可以開設課程,為課程編輯上課時間和地點,當系統(tǒng)中出現(xiàn)時間地點沖突的時候,系統(tǒng)報告并推薦一個時間地點。對于學生用戶,到達選課時間段以后,每個學生除了必須選擇必修課程外,至少還要選擇兩門選修課程。當時候超過選課時段后,系統(tǒng)自動鎖定學生的選課課程8。系統(tǒng)可以根據(jù)學生的選課信息,生成一份學生自己的課表9。根據(jù)上面的要求,從操作功能上可以分為兩個類:一個是通用操作,主要實現(xiàn)用戶的登錄注銷和修改密碼等
20、;另一種是為不同用戶定制不同操作。1.通用操作(1)登錄與注銷 每個用戶都可以用自己的帳號登錄系統(tǒng)10。用戶操作完成后退出系統(tǒng),注銷后可以重新登錄系統(tǒng)。(2)修改密碼 每個用戶第一次登錄都用默認密碼11(初始密碼為8888)。2.用戶功能(1)系統(tǒng)管理員設置選課時間段:系統(tǒng)管理員通過此項功能設置選課時段12,只有在選課時間段里,學生才可以選擇課程,超過次時間段,學生選課信息被自動所定,不得修改。錄入學生與教師個人信息:通過此項功能可以實現(xiàn)對教師和學生的個人信息添加刪除。錄入教學樓教室信息:通過此項功能可以把學校里所有的教學樓教室的信息錄入到系統(tǒng)中,以便給教師開設課程時候設置上課的教室。開設課程
21、13:可以設置該課程教師、教室、時間、地點、最大人數(shù)和剩余人數(shù),開設了課程后,可以靈活地設置上課時間和地點。(2)學生用戶顯示和修改個人信息:學生登錄系統(tǒng)后,可以查看和修改學生的個人信息,如姓名,性別,電話等。查看開設課程:學生登錄后,可以查看所有開設的課程。查看該課程的信息,上課時間地點,開課教師信息等。查看最終選課信息:學生登錄系統(tǒng)后,可列出已選擇的課程14,若選課信息未被鎖定,則可以退選。選課功能用例圖如圖3-1所示:圖3-1 選課功能用例圖查看已選課程用例圖如圖3-2所示:圖3-2 已選課程用例圖賬號管理用例圖如圖3-3所示:圖3-3賬號管理用例圖3.3 軟硬件環(huán)境需求硬件平臺:CPU
22、:P4 1.8GHz以上;內存:256MB以上。軟件平臺:操作系統(tǒng):Windows 2000/WinXP/Win2003數(shù)據(jù)庫:MySQL5.0JSP 服務器:Tomcat 6.0;開發(fā)工具包:JDK Version 1.64 概要設計4.1 系統(tǒng)功能結構 學生選課系統(tǒng)的功能結構如圖4-1所示學生選課系統(tǒng)用戶登陸學生模塊管理模塊選擇課程修改密碼查詢已選課程基本信息學生信息管理課程信息管理圖 4-1學生選課系統(tǒng)功能結構圖4.2 系統(tǒng)流程圖根據(jù)學生選課系統(tǒng)的操作流程,系統(tǒng)的流程圖如圖4-2、4-3所示管理員學生選課系統(tǒng)管理員登陸基本信息管理學生信息管理課程信息管理添加學生信息查詢學生信息修改學生信
23、息添加課程信息查詢課程信息修改課程信息圖4-2 學生選課系統(tǒng)流程圖學生學生選課系統(tǒng)學生登陸選課信息管理查詢可選課程選擇課程查詢已選課程查詢個人信息圖4-3學生選課系統(tǒng)流程圖4.3 系統(tǒng)數(shù)據(jù)庫E-R模型學生信息表:包含學號、姓名、性別、密碼、學院、專業(yè)等基本信息。課程信息表:包含課程號、課程名、教師、上課時間、上課地點、總人數(shù)等基本信息。管理員信息表:包含管理員編號、密碼等其他信息。選課表:包含選擇的課程號,課程名,任課教師等。各分E-R圖及總E-R圖分別如圖4-4至4-8所示:管理員編號用戶名密碼圖4-4管理員實體及屬性選課表課程號學號任課教師 圖4-5選課表實體及屬性 學生學號姓名學院專業(yè)性
24、別 圖4-6 學生實體及屬性課程課程號課程名時間地點教師圖4-7 課程實體及屬性添加管理員 學生選修1nnm講授教師m課程p圖4-8 系統(tǒng)關系E-R圖4.4 數(shù)據(jù)庫表設計分析上述各實體的屬性集,從中找出關系的主鍵,然后用關系式來表示實體(其中下劃線的屬性為主鍵)。表4-1至表4-5分別給出了主要表結構各實體的屬性如下:表4-1 admin表名稱 主要字段數(shù)據(jù)類型長度屬性輸入方式描述備注管理員表Id字符串10NN輸入用戶名(主鍵)Name字符串50NN輸入管理員名字Password字符串10NN輸入密碼備注用于定義登錄系統(tǒng)的管理員,只有獲得權限的管理員才能登錄。表4-2 Checkin表名稱 主
25、要字段數(shù)據(jù)類型長度屬性輸入方式描述備注用戶表Id字符串10NN輸入用戶名(主鍵)Name字符串50NN輸入姓名Password字符串10NN輸入密碼備注用于學生的登錄信息,只有注冊的學生才能登錄系統(tǒng)選課。表4-3 select_course表名稱 主要字段數(shù)據(jù)類型長度屬性輸入方式描述備注選課表ID字符串50NN生成用戶名(主鍵)CID字符串50NN課程號(主鍵)Teacher字符串50NN教師備注用于定義學生所選的課程,可以存儲學生選擇的所有課程表4-4 student_infor表名稱 主要字段數(shù)據(jù)類型長度屬性輸入方式描述備注學生表S_id字符串8NN輸入用戶名(主鍵)S_name字符串50
26、NN輸入姓名major字符串50NN選擇專業(yè)grade字符串50NN輸入年級College字符串50NN輸入學院備注用于存儲學生的基本信息表4-5 Course表名稱 主要字段數(shù)據(jù)類型長度屬性輸入方式描述備注課程表Idbigint10NN生成編號(主鍵)系統(tǒng)自動生成CID字符串200NN輸入課程號Cname字符串150NN選擇課程名Teacher字符串150NN選擇教師Place字符串150NN選擇教室Time字符串150NN選擇時間Sumint10NN輸入總人數(shù)Spareint10NN輸入剩余人數(shù)備注存儲所有開設課程的基本信息5 詳細設計5.1 界面設計(1)對于已注冊用戶通過如下的登錄界面
27、,能夠保護系統(tǒng)的安全性,界面如圖5-1所示:圖5-1 登錄頁面(2)下面是管理員主頁面如圖5-2所示,通過菜單可以實現(xiàn)各個功能模塊:圖5-2 管理員主頁面(3)下面是學生的主頁面圖5-3,通過菜單實現(xiàn)各個功能:圖5-3 學生主頁面5.2 系統(tǒng)功能模塊設計5.2.1 公共模塊(1)用戶公共模塊流程圖如下圖5-4所示:用戶登錄輸入登錄信息驗證用戶名 密碼判斷用戶身份管理模塊首頁學生模塊首頁圖5-4用戶流程圖用戶登錄JSP頁面15圖5-5所示圖5-5 用戶登錄頁面(2)密碼修改流程圖如下圖5-6所示: 密碼修改從當前會話中獲取 登錄賬號驗證用戶身份更新密碼生產(chǎn)提示信息返回輸入驗證身份信息與新密碼 圖
28、5-6密碼修改流程圖密碼修改JSP頁面,用戶選擇密碼修改連接進入密碼修改JSP頁面16 圖5-7所示圖5-7 修改密碼界面5.2.2管理員模塊管理模塊主要實現(xiàn)了管理學生信息,課程信息以及對學生選課情況進行統(tǒng)計輸出的功能。在此模塊中使用了一個框架17頁面manager.jsp,其代碼如下:其中topFrame部分用于顯示管理模塊的主菜單頁面top.jsp,頁面運行結果如下圖5-8所示:圖5-8管理模塊的主菜單(1)學生管理流程如下圖5-9所示: 學生管理增加新學生設置為已畢業(yè)輸入新學生信息顯示出未畢業(yè)學生寫入數(shù)據(jù)庫設置為畢業(yè)更新數(shù)據(jù)庫圖5-9 學生管理流程圖 在top.jsp頁面中單擊“學生管理
29、”超鏈接,將進入dis_student.jsp頁面18,其中顯示了所有的學生信息。如下圖5-10所示。圖5-10 學生信息頁面在dis_student.jsp頁面中單擊“新增”超鏈接,將進入addstudent.jsp頁面,如下圖5-11所示圖5-11 增加學生頁面主要代碼:tryResultSet rt=stmt.executeQuery(select * from student_infor where ID=+ID+);if(rt.next()% alert(數(shù)據(jù)庫庫中已有該學生信息,請查詢后再添加!); location.assign(dis_student.jsp); locatio
30、n.assign(dis_student.jsp); alert(相同時間里此教室已經(jīng)有課程安排了!); location.assign(addcourse.jsp); alert(插入課程信息成功!); location.assign(dis_course.jsp); (3)退出系統(tǒng)退出系統(tǒng)是在exit.jsp頁面中完成,在該頁面中只需將當前的用戶會話銷毀,并跳出框架返回到項目的首頁即可。5.2.3 學生模塊學生模塊中的大部分功能都是由StuUserAction類來完成的,StuUserAction繼承了DispatchAction類,是一個Struts的控制器。在StuUserAction
31、類中編寫insert()方法,用于向數(shù)據(jù)庫插入學生的基本信息;編寫welcome()方法此方法將根據(jù)學生編號查詢出學生的基本信息,然后返回到學生模塊的首頁student.jsp頁面;編寫exit()方法,該方法將對于退出系統(tǒng)的請求,在該方法中首先將用戶會話對象銷毀,然后返回項目首頁;編寫selected()方法,用于查詢學生已經(jīng)選過的課程;編寫select()方法,用于查詢學生可選的所有課程;編寫selctting()方法,用于執(zhí)行學生選課操作,將學生標號與所選的課程編號關聯(lián)起來;編寫courseInfo()方法,用于查詢課程的詳細信息。學生主頁面如下圖5-15所示:圖5-15 學生登錄主頁面
32、(1)學生基本信息頁面如下圖5-16所示: 圖5-16個人信息頁面(2)學生選課頁面在學生模塊頁面中單擊“選課”超鏈接,程序將調用學生模塊控制器類StuUserAction中的select方法將此學生可以選擇的所有課程查詢出來,然后顯示在select.jsp頁面21中,其運行效果如下圖5-17所示:圖5-17 選課頁面主要代碼:try . String sql=select * from select_course where ID=+ID+ and CID=+CID+;/檢查是否選過該課程 ResultSet rs=stmt.executeQuery(sql); String sql3=se
33、lect * from course where CID=+CID+ and teacher=+teacher+ and spare0;/列出還有剩余學生的課程 ResultSet rst=st.executeQuery(sql3);if(!rs.next()&rst.next() String sql1=insert into select_course values(+ID+,+CID+,+teacher+);stmt.executeUpdate(sql1);String sql2=update course set spare=spare-1 where CID=+CID+ and te
34、acher=+teacher+;stmt.executeUpdate(sql2);% alert(恭喜您,選課成功!); location.assign(select_course.jsp); alert(你已經(jīng)選過此課,或者此課沒有空余名額,請查詢后再選!); location.assign(select_course.jsp); alert(恭喜您,退課成功!); location.assign(display.jsp); alert(舊密碼輸入錯誤,請重新輸入.);window.history.back();結束語本文主要探討了基于J2EE的網(wǎng)絡選課系統(tǒng)的開發(fā)。并且全面分析、設計、實施一
35、套符合高校要求的選課系統(tǒng)。在設計過程中,采用了MVC模式下的Struts2框架進行功能實現(xiàn)。在表示層中以Web頁面作為主要客戶端。采用了MY SQL數(shù)據(jù)庫開發(fā)設計系統(tǒng)在邏輯上分成三層:表示層、業(yè)務層和數(shù)據(jù)層。其中表示層用來表示信息和收集數(shù)據(jù)。它將系統(tǒng)的開發(fā)代碼和用戶接口內容分離,其結構更模塊化;業(yè)務層用于實現(xiàn)應用程序中的商務邏輯,將商務邏輯用JAVA語言開發(fā)成COM+組件,程序代碼更安全,移植更方便,執(zhí)行效率也更高;數(shù)據(jù)層包括數(shù)據(jù)的定義、維護、訪問和更新,以及管理并響應業(yè)務服務的數(shù)據(jù)請求等功能。由于框架本身的優(yōu)勢,使得該系統(tǒng)易于維護,可擴展性強。容器采用Apache Tomcat,解決了線程問題,使得可以在同一時間容納多個用戶。該系統(tǒng)的應將為學校管理部門提供一個全新的工作環(huán)境,為促進學校教育教學管理的科學化、規(guī)范化、信息化提供了有力的支持,提升了學校教學管理信息化的水平,從而使該系統(tǒng)成為學校日常管理工作中離不開的關鍵應用,同時為日后的軟件維護提供了良好和完備的接口。然而,系統(tǒng)仍然存在很大的改進空間,可以通過進一步的設計提高性能和實用性。由于條件限制,并非采取部署到專業(yè)的服務器上,所以系統(tǒng)不夠穩(wěn)定。在實際應用中
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度法律服務團隊聘用合同范本下載
- 2025年度音樂噴泉與音響系統(tǒng)集成項目合同
- 知識產(chǎn)權教育實踐活動計劃
- 科技創(chuàng)新應用推廣工作方案計劃
- 學期后勤保障與支持計劃
- 2025年物位儀合作協(xié)議書
- 培養(yǎng)小學生的公民道德責任計劃
- 制定年度客戶滿意度提升計劃
- 如何構建長效的職業(yè)發(fā)展體系計劃
- 校園美術文化建設方案計劃
- (新版)區(qū)塊鏈應用操作員職業(yè)技能競賽理論考試題庫-上(單選題)
- 市政綠化養(yǎng)護及市政設施養(yǎng)護服務方案(技術方案)
- 生豬屠宰獸醫(yī)衛(wèi)生檢驗人員理論考試題庫及答案
- 高中英語課程設計目的
- 2024-2025學年北京一零一中學初三期初測試數(shù)學試題含解析
- 2024年上半年重慶三峽融資擔保集團股份限公司招聘6人高頻考題難、易錯點模擬試題(共500題)附帶答案詳解
- 高中生物學選擇性必修一測試卷及答案解析
- 佳能EOS700D使用說明書
- 圓圈正義讀書分享課件
- 醫(yī)院門診樓裝修改造工程 投標方案(技術方案)
- DL∕T 1910-2018 配電網(wǎng)分布式饋線自動化技術規(guī)范
評論
0/150
提交評論