JAVA-EE-學(xué)生信息管理系統(tǒng)(課程設(shè)計報告)內(nèi)含工程源碼_第1頁
JAVA-EE-學(xué)生信息管理系統(tǒng)(課程設(shè)計報告)內(nèi)含工程源碼_第2頁
JAVA-EE-學(xué)生信息管理系統(tǒng)(課程設(shè)計報告)內(nèi)含工程源碼_第3頁
JAVA-EE-學(xué)生信息管理系統(tǒng)(課程設(shè)計報告)內(nèi)含工程源碼_第4頁
JAVA-EE-學(xué)生信息管理系統(tǒng)(課程設(shè)計報告)內(nèi)含工程源碼_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、JAVA EE課程設(shè)計報告題 目:學(xué)生信息管理系統(tǒng) 學(xué) 院:計算機科學(xué)與工程 專 業(yè):計算機科學(xué)與技術(shù) 學(xué)生姓名: 學(xué) 號: 指導(dǎo)教師: 2015年 7月 1日目錄引言2一、系統(tǒng)需求分析51.1功能分析51.2系統(tǒng)結(jié)構(gòu)分析61.3系統(tǒng)流程分析7二、系統(tǒng)概要設(shè)計8三、系統(tǒng)詳細(xì)設(shè)計83.1數(shù)據(jù)庫設(shè)計83.1.1 設(shè)計原則83.1.2 數(shù)據(jù)庫組成103.1.3數(shù)據(jù)庫表的結(jié)構(gòu)103.2系統(tǒng)模塊設(shè)計123.2.1 登錄模塊123.2.2 系統(tǒng)管理模塊133.2.3 學(xué)籍管理模塊143.2.4 成績管理模塊15四、系統(tǒng)實現(xiàn)和演示154.1系統(tǒng)Model層實現(xiàn)164.2系統(tǒng)配置和界面174.2.1 界面實現(xiàn)

2、174.2.2 顯示學(xué)生所選課程信息204.2.3 顯示課程成績204.2.4 修改學(xué)生信息224.2.5 管理員管理界面224.2.6 hibernate配置文件設(shè)置234.2.7 Struts-config配置文件設(shè)置23五、開發(fā)過程中所用到的技術(shù)265.1 軟件工程的思想方法265.2 MVC思想275.3 Struts2.028六、總結(jié)29參考文獻30引言隨著計算機技術(shù)的迅速發(fā)展和網(wǎng)絡(luò)技術(shù)的突飛猛進,人們迫切要求利用這些新技術(shù)以減輕個人的工作負(fù)擔(dān)及提高工作效率。 目前,學(xué)校工作繁雜、資料重多,管理信息系統(tǒng)已進入高校,但還未普及,而對于學(xué)生信息管理來說,還沒有一套完整的、統(tǒng)一的系統(tǒng)。因此

3、,開發(fā)一套適和大眾的、兼容性好的系統(tǒng)是很有必要的。根據(jù)開發(fā)要求,它主要應(yīng)用于教育系統(tǒng),完成對日常學(xué)生基本信息以及成績的錄入查詢更新刪除等管理操作,實現(xiàn)學(xué)生信息管理的計算機化。開發(fā)學(xué)生信息管理系統(tǒng)可使學(xué)院教職員工減輕工作壓力,比較系統(tǒng)地對教務(wù)、教學(xué)上的各項服務(wù)和信息進行管理,同時,可以減少勞動力的使用,加快查詢速度、加強管理。因此,本文描述如何基于MVC框架,使用Hibernate和Struts,開發(fā)一個“學(xué)生信息管理系統(tǒng)”。其中,Model由Hibernate來負(fù)責(zé), Control則使用Struts來實現(xiàn),利用mysql建立數(shù)據(jù)庫。本系統(tǒng)是采用B/S模式進行開發(fā)的,系統(tǒng)的用戶權(quán)限有三種:學(xué)生

4、、教師和系統(tǒng)管理員,不同權(quán)限用戶登入到不同的操作界面。該系統(tǒng)主要由學(xué)籍維護、選課管理、成績查詢等功能模塊組成,本文具體介紹了各功能模塊所包含的小模塊的功能,學(xué)籍維護模塊主要是對學(xué)生的基本信息進行添加、查詢、修改、刪除;選課管理模塊主要是對選修的課程進行添加、刪除、統(tǒng)計選修人數(shù),以及學(xué)生進行選課和更改選課;成績查詢模塊主要是對必修課進行添加、刪除、錄入成績,以及學(xué)生進行查詢成績等功能。一、 項目開發(fā)的工具本系統(tǒng)采用MyEclipse8.5+MySQL+tomcat6.0.36開發(fā)1.1 MyEclipe簡介MyEclipse企業(yè)級工作平臺(MyEclipse Enterprise Workben

5、ch ,簡稱MyEclipse是對Eclipse IDE的擴展,利用它我們可以在數(shù)據(jù)庫和JavaEE的開發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。在結(jié)構(gòu)上,MyEclipse的特征可以被分為7類: 1. JavaEE模型 2. WEB開發(fā)工具 3. EJB開發(fā)工具 4. 應(yīng)用程序服務(wù)器的連接器 5. JavaEE項目部署服務(wù) 6. 數(shù)據(jù)庫服務(wù) 7. MyEclipse整合幫助 對于以上每一種

6、功能上的類別,在Eclipse中都有相應(yīng)的功能部件,并通過一系列的插件來實現(xiàn)它們。MyEclipse結(jié)構(gòu)上的這種模塊化,可以讓我們在不影響其他模塊的情況下,對任一模塊進行單獨的擴展和升級。1.2 MySql簡介MySQL名字的來歷MySQL是一個小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQLAB公司,在2008年1月16號被Sun公司收購。MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。與其他的大型數(shù)據(jù)庫例如Oracle、DB2、SQL Server

7、等相比,MySQL自有它的不足之處,如規(guī)模小、功能有限(MySQL Cluster的功能和效率都相對比較差)等,但是這絲毫也沒有減少它受歡迎的程度。對于一般的個人使用者和中小型企業(yè)來說,MySQL提供的功能已經(jīng)綽綽有余,而且由于MySQL是開放源碼軟件,因此可以大大降低總體擁有成本。 1.3 Tomcat簡介Tomcat是Apache 軟件基金會(Apache Software Foundation)的Jakarta 項目中的一個核心項目,由Apache、Sun 和其他一些公司及個人共同開發(fā)而成。由于有了Sun 的參與和支持,最新的Servlet 和JSP 規(guī)范總是能在Tomcat 中得到體現(xiàn)

8、,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 規(guī)范。因為Tomcat 技術(shù)先進、性能穩(wěn)定,而且免費,因而深受Java 愛好者的喜愛并得到了部分軟件開發(fā)商的認(rèn)可,成為目前比較流行的Web 應(yīng)用服務(wù)器。Tomcat 很受廣大程序員的喜歡,因為它運行時占用的系統(tǒng)資源小,擴展性好,支持負(fù)載平衡與郵件服務(wù)等開發(fā)應(yīng)用系統(tǒng)常用的功能;而且它還在不斷的改進和完善中,任何一個感興趣的程序員都可以更改它或在其中加入新的功能。 Tomcat 是一個小型的輕量級應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試JSP 程序的首選。對于一個初學(xué)者來說,可以這樣認(rèn)為,

9、當(dāng)在一臺機器上配置好Apache 服務(wù)器,可利用它響應(yīng)對HTML 頁面的訪問請求。實際上Tomcat 部分是Apache 服務(wù)器的擴展,但它是獨立運行的,所以當(dāng)你運行tomcat 時,它實際上作為一個與Apache 獨立的進程單獨運行的。這里的訣竅是,當(dāng)配置正確時,Apache 為HTML頁面服務(wù),而Tomcat 實際上運行JSP 頁面和Servlet。另外,Tomcat和IIS、Apache等Web服務(wù)器一樣,具有處理HTML頁面的功能,另外它還是一個Servlet和JSP容器,獨立的Servlet容器是Tomcat的默認(rèn)模式。不過,Tomcat處理靜態(tài)HTML的能力不如Apache服務(wù)器。

10、3 數(shù)據(jù)庫的連接本系統(tǒng)采用JDBC連接方式。JDBC(Java Data Base Connectivity,java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的Java API,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成。JDBC為工具/數(shù)據(jù)庫開發(fā)人員提供了一個標(biāo)準(zhǔn)的API,據(jù)此可以構(gòu)建更高級的工具和接口,使數(shù)據(jù)庫開發(fā)人員能夠用純 Java API 編寫數(shù)據(jù)庫應(yīng)用程序。有了JDBC,向各種關(guān)系數(shù)據(jù)發(fā)送SQL語句就是一件很容易的事。換言之,有了JDBC API,就不必為訪問Sybase數(shù)據(jù)庫專門寫一個程序,為訪問Oracle數(shù)據(jù)庫又專門寫一個程序,或為訪問Inform

11、ix數(shù)據(jù)庫又編寫另一個程序等等,程序員只需用JDBC API寫一個程序就夠了,它可向相應(yīng)數(shù)據(jù)庫發(fā)送SQL調(diào)用。同時,將Java語言和JDBC結(jié)合起來使程序員不必為不同的平臺編寫不同的應(yīng)用程序,只須寫一遍程序就可以讓它在任何平臺上運行,這也是Java語言“編寫一次,處處運行”的優(yōu)勢。 Java數(shù)據(jù)庫連接體系結(jié)構(gòu)是用于Java應(yīng)用程序連接數(shù)據(jù)庫的標(biāo)準(zhǔn)方法。JDBC對Java程序員而言是API,對實現(xiàn)與數(shù)據(jù)庫連接的服務(wù)提供商而言是接口模型。作為API,JDBC為程序開發(fā)提供標(biāo)準(zhǔn)的接口,并為數(shù)據(jù)庫廠商及第三方中間件廠商實現(xiàn)與數(shù)據(jù)庫的連接提供了標(biāo)準(zhǔn)方法。JDBC使用已有的SQL標(biāo)準(zhǔn)并支持與其它數(shù)據(jù)庫連接

12、標(biāo)準(zhǔn),如ODBC之間的橋接。JDBC實現(xiàn)了所有這些面向標(biāo)準(zhǔn)的目標(biāo)并且具有簡單、嚴(yán)格類型定義且高性能實現(xiàn)的接口。 Java 具有堅固、安全、易于使用、易于理解和可從網(wǎng)絡(luò)上自動下載等特性,是編寫數(shù)據(jù)庫應(yīng)用程序的杰出語言。所需要的只是 Java應(yīng)用程序與各種不同數(shù)據(jù)庫之間進行對話的方法。而 JDBC 正是作為此種用途的機制。 JDBC 擴展了 Java 的功能。例如,用 Java 和 JDBC API 可以發(fā)布含有 applet 的網(wǎng)頁,而該 applet 使用的信息可能來自遠(yuǎn)程數(shù)據(jù)庫。企業(yè)也可以用 JDBC 通過 Intranet 將所有職員連到一個或多個內(nèi)部數(shù)據(jù)庫中(即使這些職員所用的計算機有

13、Windows、 Macintosh 和UNIX 等各種不同的操作系統(tǒng))。隨著越來越多的程序員開始使用Java 編程語言,對從 Java 中便捷地訪問數(shù)據(jù)庫的要求也在日益增加。 MIS 管理員們都喜歡 Java 和 JDBC 的結(jié)合,因為它使信息傳播變得容易和經(jīng)濟。企業(yè)可繼續(xù)使用它們安裝好的數(shù)據(jù)庫,并能便捷地存取信息,即使這些信息是儲存在不同數(shù)據(jù)庫管理系統(tǒng)上。新程序的開發(fā)期很短。安裝和版本控制將大為簡化。程序員可只編寫一遍應(yīng)用程序或只更新一次,然后將它放到服務(wù)器上,隨后任何人就都可得到最新版本的應(yīng)用程序。對于商務(wù)上的銷售信息服務(wù), Java 和JDBC 可為外部客戶提供獲取信息更新的更好方法。

14、一、 系統(tǒng)需求分析1.1功能分析 (1)用戶登錄:用戶登錄(一個界面)通過驗證分為管理員,學(xué)生,老 師登陸三個主頁面 。學(xué)生信息管理系統(tǒng)采用用戶名及密碼驗證模式,進入學(xué)生信息管理系統(tǒng)前,用戶必須在登陸頁面輸入用戶名及密碼,只有驗證通過的用戶方可進入學(xué)生信息管理系統(tǒng)操作主頁面。(2)學(xué)生信息管理:管理員對學(xué)生信息進行刪除,查詢和修改。 (3)課程信息管理:管理員也可以進行刪除,修改和查詢功能,同時學(xué) 生可以選課和查詢該課程成績,和查詢課程成績。老師根據(jù)所授課程對學(xué)生錄入成績 (4)用戶管理:三種用戶可進行注銷進行切換,可以修改密碼1.2系統(tǒng)結(jié)構(gòu)分析登陸教師登陸學(xué)生登陸后管理員登陸錄入成績修改成績

15、查詢成績選課查詢成績修改密碼錄入基本信息修改學(xué)生信息刪除學(xué)生信息修改密碼1.3系統(tǒng)流程分析通過分析描述,可以很輕松的將系統(tǒng)的運行流程設(shè)計出來。系統(tǒng)運行流程如圖所示:開始登錄界面輸入用戶名稱和用戶密碼是否成功成功頁面錯誤頁面對數(shù)據(jù)庫進行操作顯示課程信息NY結(jié)束學(xué)生信息管理系統(tǒng)流程圖如上圖所示:通過對流程的分析,即可進行下一步工作系統(tǒng)的概要設(shè)計。二、系統(tǒng)概要設(shè)計運用面向?qū)ο蟮脑O(shè)計方法,這個階段設(shè)計一下系統(tǒng)的大體框架。最直接的方法就是直接將流程圖直接映射成為項目文件。參照上一節(jié)的系統(tǒng)流程分析,直接將流程圖中的流程變?yōu)镴SP頁面,流程之間測轉(zhuǎn)換則映射成為Action和Struts的導(dǎo)航規(guī)則。系統(tǒng)中所有

16、的數(shù)據(jù)庫相關(guān)操作都由Hibernate中的DAO(數(shù)據(jù)訪問對象)類來實現(xiàn)。由于使用了JSP頁面,所以不僅可以使用HTML標(biāo)簽,同時還可以使用JSP中的EL語言和Struts中的標(biāo)簽。為了更好的配合JAVAEE開發(fā),數(shù)據(jù)庫采用MYSQL。三、系統(tǒng)詳細(xì)設(shè)計3.1數(shù)據(jù)庫設(shè)計3.1.1 設(shè)計原則(1)密碼管理:學(xué)生修改學(xué)生查詢密碼;教師可以修改查詢密碼。(2)每個教師可以查看所有學(xué)生的成績,包括每門課程的成績、每門課程的平均成績、每個分?jǐn)?shù)段的成績。(3)學(xué)生根據(jù)自己的學(xué)號查詢本人的成績。(4)管理員可以對學(xué)生、老師等信息進行增加、刪除、修改等操作。3.1.2 數(shù)據(jù)庫組成本系統(tǒng)中共用到了7個數(shù)據(jù)表,如下

17、:admin表:記錄管理員信息;teacher表:記錄教師信息;student表:記錄學(xué)生學(xué)籍信息;kechengbiao表:記錄選修課信息;chegnji表:記錄學(xué)生基礎(chǔ)課信息;成績關(guān)聯(lián)表:記錄學(xué)生基礎(chǔ)課成績信息;選課關(guān)聯(lián)表:記錄學(xué)生選課信息。3.1.3數(shù)據(jù)庫表的結(jié)構(gòu)字段名字段描述是否主鍵數(shù)據(jù)類型長度約束說明admin_id管理員ID是varchar20Not null主鍵password密碼否varchar20Not null表3-1 admin表字段名字段描述是否主鍵數(shù)據(jù)類型長度約束說明tno教師號是varchar20Not null主鍵tpss密碼否varchar20Not nullt

18、name教師姓名否varchar20Not nullsex性別否varchar20Not nulljibie職稱否varchar20Not nulltel電話號碼否varchar20Not null表3-2 teacher表字段名字段描述是否主鍵數(shù)據(jù)類型長度約束說明name學(xué)生姓名否varchar20Not nullstu_id學(xué)號是varchar20Not null主鍵password密碼否varchar20Not nullsex性別否varchar20Not nullzy專業(yè)否varchar20Not nullmz民族否char10Not nullzzmm政治面貌否varchan20Not

19、 nullcym曾用名否varchar20sfz身份證否varchar20csrq出生日期否varchar20jg籍貫否varchar20jkzk健康狀況否varchar20rxnf入學(xué)年份否varchar20jtdz家庭地址否varchar50jtdh家庭電話否varchar20yzbm郵政編碼否varchar10lxfs聯(lián)系方式否varchar20email郵件否varchar20qtlxfs其他聯(lián)系否varchar20bz備注否varchar203-3 student表字段名字段描述是否主鍵數(shù)據(jù)類型長度約束說明學(xué)期號學(xué)期號否varchar20cno課程號是varchar20Not nul

20、l主鍵cname課程名否varchar20Not null學(xué)分學(xué)分否varchar20主講教師主講教師否varchar203-4 chengji表字段名字段描述是否主鍵數(shù)據(jù)類型長度約束說明cno課程號是varchar20Not null主鍵cname課程名否varchar20Not nulltno任課教師否varchar20星期幾星期幾否varchar20時間時間否varchar20classno上課教室否varchar20表3-5 kecheng表字段名字段描述是否主鍵數(shù)據(jù)類型長度約束說明id自動標(biāo)識是int4Not null主鍵stu_id學(xué)號否varchar20Not nullcno課程

21、號否varchar20Not null成績成績否varchar20Not null重修成績重修成績否varchar20Not null表3-6 成績關(guān)聯(lián)表字段名字段描述是否主鍵數(shù)據(jù)類型長度約束說明id自動標(biāo)識是int4Not null主鍵stu_id學(xué)號否varchar20Not nullcno課程號否varchar20Not null表3-7 選課關(guān)聯(lián)表3.2系統(tǒng)模塊設(shè)計3.2.1 登錄模塊 為了系統(tǒng)的安全,在進入系統(tǒng)之前首先會出現(xiàn)一個登錄模塊,用戶只有在輸入正確的用戶名和正確的密碼之后,才能進入系統(tǒng)。用戶登錄窗體中放置了兩個文本框,用來輸入用戶名和密碼;兩個按鈕用來確定或者重寫登錄。設(shè)置三

22、個單選控件,供不同用戶登錄時選擇用戶權(quán)限,管理員擁有一切權(quán)限(包括添加刪除和修改以及對用戶的管理),教師和學(xué)生擁有受限制的權(quán)限(如查詢及修改密碼),提高了數(shù)據(jù)庫的安全性。登錄模塊圖如下圖所示:3.2.2 系統(tǒng)管理模塊 添加用戶窗體的創(chuàng)建 進入系統(tǒng)后,將會出現(xiàn)一個主窗體,選擇系統(tǒng)管理模塊下的添加用戶,就可以進入添加用戶窗體,可以通過該窗體增加新的用戶。在這個窗體中放置了五個文本框,用來輸入用戶名、密碼出生時間、總學(xué)分和備注;一個下拉列表框和兩個單選框用來確定專業(yè)和性別;兩個按鈕用來確定是否添加用戶; 修改密碼窗體的創(chuàng)建在系統(tǒng)管理模塊下,進入修改密碼窗體,用戶可根據(jù)需

23、要修改自己的密碼。在這個窗體中放置了三個文本框,用來輸入原始密碼、新密碼和確認(rèn)新密碼;兩個按鈕用來確定是否修改密碼。3.2.3 學(xué)籍管理模塊 添加學(xué)籍信息功能選擇主窗體中學(xué)籍管理模塊下的添加學(xué)籍信息,就可進入添加學(xué)籍信息的窗體,在該窗體中我們可以對學(xué)生的學(xué)號、姓名、性別、出生日期、班號等學(xué)生的信息進行添加。添加的信息將全部存儲到數(shù)據(jù)庫中。 在窗體上放置多個文本框和下拉式文本框,用來輸入學(xué)籍信息;兩個按鈕用來確定是否輸入學(xué)籍信息;一個按鈕用來退出窗體;多個標(biāo)簽用來提示文本框中需要輸入的內(nèi)容。 修改學(xué)籍信息功能點擊學(xué)籍管理模塊下的修改學(xué)籍信息,就進入修改學(xué)籍信息的窗體,

24、在該窗體中我們可以對前面添加的學(xué)籍信息進行修改。由于用戶的需求不同,有的是要對學(xué)生的信息做個別的改動,有的是需要刪除該條記錄,所以該窗體同時包括了修改記錄的功能和刪除記錄的功能。 查詢學(xué)籍信息功能進入學(xué)籍管理模塊下的查詢學(xué)籍信息窗體,在該窗體中可以對學(xué)生的信息進行查詢,有三種查詢方式。一方面考慮到簡潔的因素,用戶可以只設(shè)置一種查詢方式進行查詢;另一方面又為了避免數(shù)據(jù)的重復(fù),用戶可以輸入詳細(xì)的信息,也就是同時設(shè)置多種查詢方式進行查詢。進入查詢窗體時,會顯示出所有學(xué)生的學(xué)籍信息,如果不設(shè)置查詢方式就進行查詢,是無效查詢,系統(tǒng)會給出提示。在設(shè)置好查詢方式后,便開始查詢,將顯示出用戶所需

25、的學(xué)生的學(xué)籍信息。3.2.4 成績管理模塊 成績信息管理功能點擊成績管理模塊下的成績信息瀏覽,進入成績信息瀏覽窗體。點擊工具條中的修改、添加和查詢按鈕就可分別進入修改成績信息窗體、添加成績信息窗體和查詢成績信息窗體。這三個窗體的界面設(shè)置分別類似于學(xué)籍管理下修改學(xué)籍信息窗體、添加學(xué)籍信息窗體和查詢學(xué)籍信息窗體。四、系統(tǒng)實現(xiàn)和演示要明確的是,該項目是一個基于MVC結(jié)構(gòu)的,其中使用Struts2.0作為整個MVC的實現(xiàn),其中的Action又充當(dāng)控制器的角色(當(dāng)然包括了struts.xml配置文件的導(dǎo)航作用),Hibernate3.1作為Model的實現(xiàn)?,F(xiàn)在在MyEclipse10下

26、新建空的web項目,然后在項目根目錄src文件夾下建立兩個包:action包用來存放Action類,entity用于存放從hibernate逆向過來的實體類的java文件。4.1系統(tǒng)Model層實現(xiàn)由于工程屬于數(shù)據(jù)庫先行的方法,因此需要將數(shù)據(jù)庫逆向成為hibernate實體類,hibernate3.1中提供了這樣的工具。在逆向之前,我們需要對我們建立好的數(shù)據(jù)庫在MyEclipse的Hibernate視圖下建立一個連接。方法是,在Hibernate視圖,左邊DB Browser鼠標(biāo)右擊-【new】,然后再彈出的對話框中填寫好相關(guān)信息,點擊【Finish】即新建一個數(shù)據(jù)庫連接。建立好需要的數(shù)據(jù)庫連

27、接之后,就要為項目添加Hibernate組件了,方法是:方法是:在項目上點擊鼠標(biāo)右鍵-【MyEclipse】-【Add Hibernate capabilities】,然后選擇Hibernate版本,這里用的是3.1,然后單擊【Finish】完成Hibernate功能的添加。接下來,就可以著手將數(shù)據(jù)表逆向到Hibernate實體類了,還是要到數(shù)據(jù)庫視圖,雙擊打開之前建立好的數(shù)據(jù)庫連接,選擇要逆向成為實體類的數(shù)據(jù)表,鼠標(biāo)右擊-【Hibernate Reserver Engineering】,在彈出來的對話框中,選擇實體類生成的位置也就是之前建立的com.entity包。勾選生成DAO類,其余設(shè)置

28、保持默認(rèn)即可,點擊【Finish】完成數(shù)據(jù)表的逆向,此時再回到工程視圖,可以看見生成好的實體類和實體的DAO類。這里,每一個實體類實際上由三個文件組成:抽象實體類、具體實體類和實體數(shù)據(jù)庫訪問對象(DAO)。抽象類中包含了數(shù)據(jù)表的屬性和一些抽象的方法,具體實體類中則是方法的具體實現(xiàn),DAO類則是實現(xiàn)了對數(shù)據(jù)庫記錄的操作。Hibernate已經(jīng)為DAO類提供了一些常用的方法,而Hibernate自身實際上是用hql語句對數(shù)據(jù)庫進行操作的,如果在使用過程中需要自定義新的數(shù)據(jù)庫操作方法,則可以在對應(yīng)的DAO文件中編寫相應(yīng)的方法。到此,Model層就實現(xiàn)了,由于使用了Hibernate,Model的實現(xiàn)

29、變得非常容易。4.2系統(tǒng)配置和界面4.2.1 界面實現(xiàn)圍繞系統(tǒng)用例,從用例出發(fā)來設(shè)計所需的Action。那么按照用例,第一個Action的作用應(yīng)當(dāng)是實現(xiàn)用戶的登陸,若登陸成功,該Action應(yīng)當(dāng)導(dǎo)航到用戶登陸成功界面,失敗則給出提示信息并停留在登陸頁面。登錄頁面圖如下:登錄頁面代碼如下:學(xué)生角色登錄系統(tǒng)成功后,會出現(xiàn)下面的頁面:頁面代碼如下: 您已經(jīng)成功通過驗證! 您可以使用如下服務(wù) a href=/studentAction.do?method=getDisplayCourse選修課程 a href=/studentAction.do?method=geCheckmark查看成績 a hre

30、f=/studentAction.do?method=getEditStudent&self=1更改信息     a href=/login.jsp注銷 4.2.2 顯示學(xué)生所選課程信息4.2.3 顯示課程成績代碼如下:查看成績您所有的成績課程名稱學(xué)分成績  <<Back 4.2.4 修改學(xué)生信息4.2.5 管理員管理界面修改學(xué)生信息修改老師信息修改課程信息修改綜合4.2.6 hibernate配置文件設(shè)置4.2.7 Struts-config配置文件設(shè)置配置部分代碼如下:五、開發(fā)過程中所用到的技術(shù)5.1 軟件工程的思想方法使用了軟

31、件工程的來分析和設(shè)計一個系統(tǒng)。這樣做的確加快了開發(fā)的效率,使得整個開發(fā)過程變得有條理。按照軟件工程的方法思想,一開始就要先分析清楚需求。而需求又是由用戶、使用者來決定的也就是說,要尋找系統(tǒng)的參與者。參與者找到后,開始分析參與者的需求,在需求的帶動下來尋找系統(tǒng)需要完成的功能這就是用例模型。表現(xiàn)用例模型的東西就是用例圖。然后進一步的細(xì)化用例,用簡短的文字對用例進行描述,以后再實現(xiàn)用例的時候,就可以參照用例描述來編寫流程。找完了用例,接下來要把用例組合、實現(xiàn)出來。這里結(jié)合了MVC的思想:首先通過用例分析,弄清楚用例的先后關(guān)系,繪制出整個系統(tǒng)的流程設(shè)計框架,其表現(xiàn)形式就是流程圖。流程圖的每一個過程實際

32、上是由用例變化而來的,而每個參與者有其不同的流程。流程圖確定了,就是真正結(jié)合MVC思想的時候了。我嘗試這把流程中的每一個流程視為一個動作和該動作的一個返回(這個返回可能是頁面也可能是另外一個動作),而觸發(fā)該動作的條件大多數(shù)都是用戶對界面的操作,比如用戶點擊了登陸。5.2 MVC思想由于網(wǎng)站系統(tǒng)的特點,如果軟件結(jié)構(gòu)不夠清晰,那么隨著系統(tǒng)越來越龐大,業(yè)務(wù)邏輯越來越復(fù)雜,開發(fā)勢必越來越艱難。本系統(tǒng)的開發(fā)中用到MVC的思想,將模型層(負(fù)責(zé)與數(shù)據(jù)庫交互)、視圖和控制器解耦,使他們既能夠強有力的傳遞信息又松散耦合。這里的model使用了Hibernate實體框架,這里面最重要的思想就是將數(shù)據(jù)表映射成為Ja

33、va代碼中的類,以后對Java類的對象的操作就是對對數(shù)據(jù)表中的記錄的操作。不論是JPA甚至是ASP.net MVC中的EntityFrameWork(實體框架),這樣的思想在眾多的實體框架上都是一樣的。如果需要對數(shù)據(jù)進行更加精細(xì)的操作,可以使用HQL語言。5.3 Struts2.0Struts實際上和基本的Serverlet有些相似,不如說Struts的底層實現(xiàn)就是Serverlet。從這次開發(fā)的角度上看,Struts相對于Serverlet提供給開發(fā)者的便利有以下幾點:首先,作為MVC的一個實現(xiàn)框架,為MVC工程實施帶來了方便。第二,struts提供了良好的前后臺交互數(shù)據(jù)的方式通過類似于JavaBean的傳值方式,只要有同名屬性并且?guī)в?/p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論