

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 學生頂崗實習管理系統(tǒng)</p><p><b> 摘要</b></p><p> 隨著高專教育的不斷發(fā)展,高等職業(yè)教育兩年制改革的推行,我院于2011年在09級學生中開始實行高職新”2+1”教育模式;兩年在校學習,一年生產頂崗實習、實訓。新“2+1”模式以兩年制高職教育為基礎,通過頂崗實習專業(yè)培訓或綜合培訓使學生獲得職業(yè)崗位技能和自身綜合素質的
2、全面提升。部分本科學生最后一學期,因特殊原因不能在校完成畢業(yè)設計,需在外頂崗實習。由于最后一年學生在外頂崗實習,學生的頂崗實習質量直接影響著學生的成才與就業(yè)因而這一環(huán)節(jié)的管理與指導顯的尤為重要,一方面,我們要讓學生一年崗位實習滿意,能受益非淺,畢業(yè)后能獲得一個不錯的職位,另一方面能讓老師對學生頂崗實習及就業(yè)指導高效快捷地開展進行;再者就是讓學院的管理層及時了解學生的實習動態(tài)及就業(yè)情況。在這種背景下,我準備設計、開發(fā)一套符合本校、功能完善
3、的基于web的學生頂崗實習管理系統(tǒng)。主要內容如下:</p><p><b> 1.教師客戶端功能</b></p><p> 登陸后可以修改自己的密碼和個人信息</p><p> 可以查看所有學生的個人信息和實習信息。</p><p> 可以根據學號查詢學生的個人及實習信息。</p><p>
4、;<b> 可以發(fā)布通知。</b></p><p> 可以進行組織管理,及對系別和班級的管理。以供學生注冊時選擇。</p><p><b> 2.學生客戶端功能</b></p><p> 注冊自己的個人信息。</p><p> 登陸后可以修改自己的密碼和個人信息。</p>&
5、lt;p> 查看老師發(fā)布的信息。</p><p> 添加、修改和管理自己的實習信息。</p><p> 關鍵字:學生頂崗實習;JSP+Servlet;Mysql;Myeclipes;tomcat;MVC; struts;spring;hibernate</p><p> Students internship management system<
6、/p><p><b> Abstract</b></p><p> With the continuous development of higher vocational education, system reform of higher occupation education two years of implementation, our hospital
7、started to implement the new "2+1" mode of Higher Vocational Education in 2011 in the class of 09; two years at school, one year production practice, practice. The new "2+1" mode on the basis of two-y
8、ear higher vocational education system, through the practice of professional training or training to enable students to obtain the occupation skill a</p><p> 1, the teacher client function</p><p&
9、gt; ● after landing can modify their password and personal information</p><p> ●That can view all the personal information of students and student information.</p><p> ● according to student
10、number query student information and practice.</p><p> ●That can release notice.</p><p> ●That can be the organization management, and management of the Department and class. For students to r
11、egister selection.</p><p> 2 the students client function</p><p> ● go to register their personal information.</p><p> ● after landing can modify their password and personal info
12、rmation.</p><p> ●That the teacher information.</p><p> ●That add, modify and manage their own practice information.</p><p> Keywords:Student;internship;JSP+Servle;Mysql;Myeclipe
13、s;tomcat;MVC</p><p><b> 目 錄</b></p><p> 第一章 引 言4</p><p> 1.1開發(fā)背景及目的4</p><p> 1.2本文的目的與系統(tǒng)開發(fā)的意義5</p><p> 第二章 項目構架分析與設計5</p>
14、<p> 2.1 物理構架5</p><p> 2.2 邏輯構架5</p><p> 2.3 開發(fā)工具6</p><p> 第三章 需求分析10</p><p> 3.1 系統(tǒng)功能需求分析10</p><p> 3.2 數(shù)據需求分析10</p><p>
15、; 3.3 技術解決方案需求分析11</p><p> 第四章 總體設計11</p><p> 4.1 數(shù)據庫manage設計11</p><p> 4.2 學生客戶端設計13</p><p> 4.3 老師客戶端設計13</p><p> 第五章 界面設計14</p>
16、<p> 5.1 用戶注冊14</p><p> 5.2 學生客戶端登錄界面14</p><p> 5.3 老師客戶端登錄界面18</p><p> 第六章 開發(fā)環(huán)境配置說明21</p><p> 6.1 開發(fā)環(huán)境配置21</p><p> 第七章 開發(fā)與測試22</p&
17、gt;<p> 7.1 開發(fā)流程22</p><p> 7.2 測試23</p><p> 第八章 所用技巧及難點分析23</p><p> 8.1 mvc技術23</p><p> 第九章 總結與展望31</p><p> 9.1 總結31</p>&l
18、t;p> 9.2 展望31</p><p><b> 致 謝31</b></p><p><b> 參考文獻32</b></p><p> 附錄:實現(xiàn)代碼32</p><p><b> 第一章 引 言</b></p><p>
19、 1.1開發(fā)背景及目的</p><p> 隨著高專教育的不斷發(fā)展,高等職業(yè)教育兩年制改革的推行,我院于2011年在09級學生中開始實行高職新”2+1”教育模式;兩年在校學習,一年生產頂崗實習、實訓。新“2+1”模式以兩年制高職教育為基礎,通過頂崗實習專業(yè)培訓或綜合培訓使學生獲得職業(yè)崗位技能和自身綜合素質的全面提升。部分本科學生最后一學期,因特殊原因不能在校完成畢業(yè)設計,需在外頂崗實習。由于最后一年學生在外頂崗
20、實習,學生的頂崗實習質量直接影響著學生的成才與就業(yè)因而這一環(huán)節(jié)的管理與指導顯的尤為重要,一方面,我們要讓學生一年崗位實習滿意,能受益非淺,畢業(yè)后能獲得一個不錯的職位,另一方面能讓老師對學生頂崗實習及就業(yè)指導高效快捷地開展進行;再者就是讓學院的管理層及時了解學生的實習動態(tài)及就業(yè)情況。</p><p> 1.2本文的目的與系統(tǒng)開發(fā)的意義</p><p><b> 1.2.1 意義
21、</b></p><p> 學生管理系統(tǒng)能提高老師管理學生的效率,增強教學的計劃性。原來,老師需要第三方軟件的支持來管理學生,如qq等通訊軟件。此系統(tǒng)針對性的設計,及多種第三方軟件與一體,使老師更方便高效的管理學生。</p><p> 1.2.2 本文的目的</p><p> 本文的主要目的如下:</p><p> 介紹本
22、次畢業(yè)課題的目的和背景;</p><p> 介紹本次畢業(yè)設計的模塊;</p><p> 介紹所用技術和開發(fā)工具;</p><p> 闡述系統(tǒng)的工作流程;</p><p> 研究的基本內容與擬解決的主要問題;</p><p> 第二章 項目構架分析與設計</p><p><b&g
23、t; 2.1 物理構架</b></p><p> (1)網絡服務器操作系統(tǒng):Windows 7;</p><p> (2)Web服務器:Tomcat 6.0;</p><p> (3)后臺數(shù)據庫系統(tǒng):MySQL;</p><p> (4)JSP運行環(huán)境:J2SDK 1.6。</p><p>&l
24、t;b> 2.2 邏輯構架</b></p><p> 2.2.1 JSP+JavaBean+Servlet框架介紹</p><p> Servlet+JSP+JavaBean(MVC)模式適合開發(fā)復雜的web應用,在這種模式下,servlet負責處理用戶請求,jsp負責數(shù)據顯示,javabean負責封裝數(shù)據。 Servlet+JSP、JavaBean模式程序各個
25、模塊之間層次清晰,web開發(fā)推薦采用此種模式。</p><p> JSP+JavaBean+Servlet三層結構的實質是比jsp+javaBean兩層結構多了一個Controller:Servlet來分發(fā)客戶端瀏覽器的請求。如果把起控制器作用的Servlet的作用理解為對客戶端的請求進行預處理對理解Servlet將有很大的幫助。通過web.xml配置文件可以找到用戶請求和特定的Servlet的對應關系,每個S
26、ervlet都有一個特定的Servlet對象與之對應,所以說處理用戶請求的就是一個繼承自HttpServlet的Servlet對象。</p><p> 當然也可以把這些處理操作完全寫在jsp程序中,不過這樣的jsp頁面可能就有成百上千行,光看代碼就是一個頭疼的事情,更不用說修改了,這對以后的代碼維護增加很大的難度,而且可能同樣的代碼會在一個頁面當中出現(xiàn)多次,這不但降低了代碼的可讀性也降低了代碼的重用性。由此可見
27、,通過JavaBean可以很好地實現(xiàn)邏輯的封裝、程序的易于維護等等。 如果使用Jsp開發(fā)程序,一個很好的習慣就是多使用JavaBean。其工作原理如圖2-1所示。</p><p><b> JDBC</b></p><p> http請求 forward</p><p><b> 設置Control</b&
28、gt;</p><p><b> 讀取</b></p><p> 圖 2-1 三層架構的工作原理</p><p> 2.2.2 JSP簡介</p><p> JSP(Java Server Pages)技術使用Java編程語言編寫類XML的tags和scriptlets,來封裝產生動態(tài)網頁的處理邏輯。網頁還能
29、通過tags和scriptlets訪問存在于服務端的資源的應用邏輯。JSP將網頁邏輯與網頁設計和顯示分離,支持可重用的基于組件的設計,使基于Web的應用程序的開發(fā)變得迅速和容易。Web服務器在遇到訪問JSP網頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結果連同JSP文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數(shù)據庫、重新定向網頁等,以實現(xiàn)建立動態(tài)網頁所需要的功能。</p><p> JSP技
30、術還有如下幾個優(yōu)點:(1)一次編寫,到處運行;</p><p> (2)系統(tǒng)的多平臺支持;</p><p> (3)強大的可伸縮性;</p><p> (4)多樣化和功能強大的開發(fā)工具支持。</p><p> 2.2.3 JavaBean簡介</p><p> JavaBean是sun微系統(tǒng)的一個面向對象
31、的編程接口,它可以讓開發(fā)展建可重用應用程序或能在網絡中任何主流操作系統(tǒng)平臺上配置的程序塊,稱作組件。用戶可以使用JavaBean將功能、處理、值、數(shù)據庫訪問和其他任何可以用java代碼創(chuàng)造的對象進行打包,并且其他的開發(fā)者可以通過內部的jsp頁面、servlet、其他JavaBean、applet程序或者應用來使用這些對象。用戶可以認為JavaBean提供了一種隨時隨地的復制和粘貼的功能,而不用關心任何改變。</p><
32、;p><b> 2.3 開發(fā)工具</b></p><p> 2.3.1 Myeclipse簡介</p><p> MyEclipse,是一個十分優(yōu)秀的用于開發(fā)Java, J2EE的Eclipse插件集合,MyEclipse的功能非常強大,支持也十分廣泛,尤其是對各種開源產品的支持十分不錯。 </p><p> MyEclips
33、e企業(yè)級工作平臺(MyEclipse Enterprise Workbench ,簡稱MyEclipse)是對Eclipse IDE的擴展,利用它可以在數(shù)據庫和J2EE的開發(fā)、發(fā)布,以及應用程序服務器的整合方面極大地提高工作效率。它是功能豐富的J2EE集成開發(fā)環(huán)境,包括了完備的編碼、調試、測試和發(fā)布功能,完整支持HTML、 Struts、 JSF、 CSS、 Javascript、 SQL、 Hibernate。</p>
34、<p> MyEclipse 是一個十分優(yōu)秀的用于開發(fā)Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常強大,支持也十分廣泛,尤其是對各種開源產品的支持十分不錯。MyEclipse目前支持Java Servlet,AJAX, JSP, JSF, Struts,Spring, Hibernate,EJB3,JDBC數(shù)據庫鏈接工具等多項功能??梢哉fMyEclipse幾乎囊括了目前所有主流開源產品的專屬
35、eclipse開發(fā)工具。[1]</p><p> 根據官方最新消息,MyEclipse 2013已經正式發(fā)布!MyEclipse 2013[2]支持HTML5、JQuery和主流的Javascript 庫。隨著MyEclipse 2013支持Html5,你可以添加音頻、視頻和API元素到你的項目,從而為移動設備創(chuàng)建復雜的Web應用程序。你甚至還可以通過HTML5 可視化設計器設計令人難以置信的用戶界面。同時,隨
36、著MyEclipse 2013支持JQuery,你可以通過插件提升性能,并添加動畫效果到設計中。</p><p> MyEclipse 8.5 版本</p><p> 經過了MyEclipse 8.5 M1和MyEclipse 8.5 M2兩個版本,MyEclipse Enterprise Workbench 8.5 for Eclipse 3.5.2終于在2010年3月28號正式發(fā)布
37、了!在官方網站上 MyEclipse 8.5 可以下載了,該版本集成了 Eclipse 3.5.2,提升了團隊協(xié)作開發(fā)、開發(fā)周期管理以及 Spring 和 Hibernate 的更好支持。</p><p> 簡單而言,MyEclipse是Eclipse的插件,也是一款功能強大的J2EE集成開發(fā)環(huán)境,支持代碼編寫、配置、測試以及除錯。</p><p> 2.3.2 TOMCAT6.0簡
38、介</p><p> Tomcat 6.0服務器是Apache組織開發(fā)的一種JSP引擎,本身具有WEB服務器的功能,可以作為獨立的WEB服務器來使用。Tomcat 很受廣大程序員的喜歡,因為它運行時占用的系統(tǒng)資源小,擴展性好,支持負載平衡與郵件服務等開發(fā)應用系統(tǒng)常用的功能,而且它還是一個免費開源的系統(tǒng),任何一個感興趣的程序員都可以更改它或在其中加入新的功能。在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,
39、是開發(fā)和調試JSP 程序的首選。但是,在作為WEB服務器方面,Tomcat出來靜態(tài)HTML頁面時不如Apache迅速,也沒有Apache健壯,所以一般將Tomcat與Apache配合使用,讓Apache對網站的靜態(tài)頁面請求提供服務,而Tomcat作為專用的JSP引擎,提供JSP解析,以得到更好的性能。Tomcat是Java程序,所以只要有JDK就可以使用,不需要考慮具體的操作系統(tǒng)平臺。</p><p> 2.3
40、.3 mysql簡介</p><p> MySQL是一個開放源碼的小型關聯(lián)式數(shù)據庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。目前MySQL被廣泛地應用在Internet上的中小型網站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網站為了降低網站總體擁有成本而選擇了MySQL作為網站數(shù)據庫。</p><p> 與其他的大型數(shù)據庫例如Oracle、DB2、
41、SQL Server等相比,MySQL自有它的不足之處,如規(guī)模小、功能有限(MySQLCluster的功能和效率都相對比較差)等,但是這絲毫也沒有減少它受歡迎的程度。對于一般的個人使用者和中小型企業(yè)來說,MySQL提供的功能已經綽綽有余,而且由于MySQL是開放源碼軟件,因此可以大大降低總體擁有成本。</p><p> 目前Internet上流行的網站構架方式(Linux+Apache+MySQL+PHP/Pe
42、rl/Python)和LNMP(Linux+Nginx+MySQL+php/perl/Python),即使用Linux作為操作系統(tǒng),Apache和Nginx作為Web服務器,MySQL作為數(shù)據庫,PHP/Perl/Python作為服務器端腳本解釋器。由于這四個軟件都是免費或開放源碼軟件(FLOSS),因此使用這種方式不用花一分錢(除開人工成本)就可以建立起一個穩(wěn)定、免費的網站系統(tǒng)。</p><p> 2.3.4
43、 servlet簡介</p><p> Servlet是一種服務器端的Java應用程序,具有獨立于平臺和協(xié)議的特性,可以生成動態(tài)的Web頁面。 它擔當客戶請求(Web瀏覽器或其他HTTP客戶程序)與服務器響應(HTTP服務器上的數(shù)據庫或應用程序)的中間層。 Servlet是位于Web 服務器內部的服務器端的Java應用程序,與傳統(tǒng)的從命令行啟動的Java應用程序不同,Servlet由Web服務器進行加載,該We
44、b服務器必須包含支持Servlet的Java虛擬機。</p><p> servlet是在服務器上運行的小程序。這個詞是在Java applet的環(huán)境中創(chuàng)造的,Java applet是一種當作單獨文件跟網頁一起發(fā)送的小程序,它通常用于在服務器端運行,結果得到為用戶進行運算或者根據用戶互作用定位圖形等服務。</p><p> 服務器上需要一些程序,常常是根據用戶輸入訪問數(shù)據庫的
45、程序。這些通常是使用公共網關接口(CGI(Common Gateway Interface))應用程序完成的。然而,在服務器上運行Java,這種程序可使用Java編程語言實現(xiàn)。在通信量大的服務器上,Java servlet的優(yōu)點在于它們的執(zhí)行速度更快于CGI程序。各個用戶請求被激活成單個程序中的一個線程,而無需創(chuàng)建單獨的進程,這意味著服務器端處理請求的系統(tǒng)開銷將明顯降低。</p><p><b> 實
46、現(xiàn)過程</b></p><p> 最早支持Servlet技術的是JavaSoft的Java Web Server。此后,一些其它的基于Java的WebServer開始支持標準的ServletAPI。Servlet的主要功能在于交互式地瀏覽和修改數(shù)據,生成動態(tài)Web內容。這個過程為:</p><p> 客戶端發(fā)送請求至服務器端;</p><p> 服
47、務器將請求信息發(fā)送至Servlet</p><p> Servlet生成響應內容并將其傳給服務器。響應內容動態(tài)生成,通常取決于客戶端的請求</p><p> 服務器將響應返回給客戶端</p><p> Servlet看起來像是通常的Java程序。Servlet導入特定的屬于Java ServletAPI的包。因為是對象字節(jié)碼,可動態(tài)地從網絡加載,可以說Serv
48、let對Server就如同Applet對Client一樣,但是,由于Servlet運行于Server中,它們并不需要一個圖形用戶界面。從這個角度講,Servlet也被稱為FacelessObject。</p><p> 一個servlet就是Java編程語言中的一個類,它被用來擴展服務器的性能,服務器上駐留著可以通過“請求-響應”編程模型來訪問的應用程序。雖然servlet可以對任何類型的請求產生響應,但通常只
49、用來擴展Web服務器的應用程序。</p><p> 2.3.5 JDBC簡介</p><p> JDBC(Java Data Base Connectivity,java數(shù)據庫連接)是一種用于執(zhí)行SQL語句的Java API,可以為多種關系數(shù)據庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成。JDBC提供了一種基準,據此可以構建更高級的工具和接口,使數(shù)據庫開發(fā)人員能夠編寫數(shù)據
50、庫應用程序,同時,JDBC也是個商標名。</p><p> JDBC(Java Data Base Connectivity,java數(shù)據庫連接)是一種用于執(zhí)行SQL語句的Java API,可以為多種關系數(shù)據庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成。JDBC為工具/數(shù)據庫開發(fā)人員提供了一個標準的API,據此可以構建更高級的工具和接口,使數(shù)據庫開發(fā)人員能夠用純 Java API 編寫數(shù)據庫應用程序
51、,同時,JDBC也是個商標名。</p><p> 有了JDBC,向各種關系數(shù)據發(fā)送SQL語句就是一件很容易的事。換言之,有了JDBC API,就不必為訪問Sybase數(shù)據庫專門寫一個程序,為訪問Oracle數(shù)據庫又專門寫一個程序,或為訪問Informix數(shù)據庫又編寫另一個程序等等,程序員只需用JDBC API寫一個程序就夠了,它可向相應數(shù)據庫發(fā)送SQL調用。同時,將Java語言和JDBC結合起來使程序員不必為不
52、同的平臺編寫不同的應用程序,只須寫一遍程序就可以讓它在任何平臺上運行,這也是Java語言“編寫一次,處處運行”的優(yōu)勢。</p><p> Java數(shù)據庫連接體系結構是用于Java應用程序連接數(shù)據庫的標準方法。JDBC對Java程序員而言是API,對實現(xiàn)與數(shù)據庫連接的服務提供商而言是接口模型。作為API,JDBC為程序開發(fā)提供標準的接口,并為數(shù)據庫廠商及第三方中間件廠商實現(xiàn)與數(shù)據庫的連接提供了標準方法。JDBC使
53、用已有的SQL標準并支持與其它數(shù)據庫連接標準,如ODBC之間的橋接。JDBC實現(xiàn)了所有這些面向標準的目標并且具有簡單、嚴格類型定義且高性能實現(xiàn)的接口。</p><p> Java 具有堅固、安全、易于使用、易于理解和可從網絡上自動下載等特性,是編寫數(shù)據庫應用程序的杰出語言。所需要的只是 Java應用程序與各種不同數(shù)據庫之間進行對話的方法。而 JDBC 正是作為此種用途的機制。</p><p&
54、gt; JDBC 擴展了 Java 的功能。例如,用 Java 和 JDBC API 可以發(fā)布含有 applet 的網頁,而該 applet 使用的信息可能來自遠程數(shù)據庫。企業(yè)也可以用 JDBC 通過 Intranet 將所有職員連到一個或多個內部數(shù)據庫中(即使這些職員所用的計算機有 Windows、 Macintosh 和UNIX 等各種不同的操作系統(tǒng))。隨著越來越多的程序員開始使用Java 編程語言,對從 Java 中便捷地訪問數(shù)
55、據庫的要求也在日益增加。</p><p> MIS管理員們都喜歡 Java 和 JDBC 的結合,因為它使信息傳播變得容易和經濟。企業(yè)可繼續(xù)使用它們安裝好的數(shù)據庫,并能便捷地存取信息,即使這些信息是儲存在不同數(shù)據庫管理系統(tǒng)上。新程序的開發(fā)期很短。安裝和版本控制將大為簡化。程序員可只編寫一遍應用程序或只更新一次,然后將它放到服務器上,隨后任何人就都可得到最新版本的應用程序。對于商務上的銷售信息服務, Java 和
56、JDBC 可為外部客戶提供獲取信息更新的更好方法。用途</p><p> 簡單地說,JDBC 可做三件事:與數(shù)據庫建立連接、發(fā)送 操作數(shù)據庫的語句并處理結果。下列代碼段給出了以上三步的基本示例:</p><p> Connection con = DriverManager.getConnection("jdbc:odbc:wombat","login&q
57、uot;,</p><p> "password");</p><p> Statement stmt = con.createStatement();</p><p> ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1");</p>
58、<p> while (rs.next()) {</p><p> int x = rs.getInt("a");</p><p> String s = rs.getString("b");</p><p> float f = rs.getFloat("c");</p>
59、<p><b> }</b></p><p> 上述代碼對基于JDBC的數(shù)據庫訪問做了經典的總結,當然,在本小節(jié)的后續(xù)部分會對它做詳盡的分析講解。</p><p> 2.3.6 Hibernate簡介</p><p> Hibernate是一個開放源代碼的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java
60、程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據庫。 Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應用中使用,最具革命意義的是,Hibernate可以在應用EJB的J2EE架構中取代CMP,完成數(shù)據持久化的重任。</p><p> Hibernate的核心接口一共有6個,分別為:Session、SessionFactory、Trans
61、action、Query、Criteria和Configuration。這6個核心接口在任何開發(fā)中都會用到。通過這些接口,不僅可以對持久化對象進行存取,還能夠進行事務控制。下面對這6個核心接口分別加以介紹。</p><p><b> Session接口</b></p><p> Session接口負責執(zhí)行被持久化對象的CRUD操作(CRUD的任務是完成與數(shù)據庫的交
62、流,包含了很多常見的SQL語句。)。但需要注意的是Session對象是非線程安全的。同時,Hibernate的session不同于JSP應用中的HttpSession。這里當使用session這個術語時,其實指的是Hibernate中的session,而以后會將HttpSession對象稱為用戶session。</p><p> SessionFactory接口</p><p> Se
63、ssionFactory接口負責初始化Hibernate。它充當數(shù)據存儲源的代理,并負責創(chuàng)建Session對象。這里用到了工廠模式。需要注意的是SessionFactory并不是輕量級的,因為一般情況下,一個項目通常只需要一個SessionFactory就夠,當需要操作多個數(shù)據庫時,可以為每個數(shù)據庫指定一個SessionFactory。</p><p> Configuration類</p>&l
64、t;p> Configuration類負責配置并啟動Hibernate,創(chuàng)建SessionFactory對象。在Hibernate的啟動的過程中,Configuration類的實例首先定位映射文檔位置、讀取配置,然后創(chuàng)建SessionFactory對象。[1]</p><p> Transaction接口</p><p> Transaction接口負責事務相關的操作。它是可選
65、的,開發(fā)人員也可以設計編寫自己的底層事務處理代碼</p><p> Query和Criteria接口</p><p> Query和Criteria接口負責執(zhí)行各種數(shù)據庫查詢。它可以使用HQL語句或SQL語句兩種表達方式。</p><p><b> 第三章 需求分析</b></p><p> 3.1 系統(tǒng)功能需
66、求分析</p><p> 3.1.1 學生功能需求確定</p><p> 1.學生對自己的個人信息進行維護,以便老師管理。</p><p> 2.學生對自己的實習信息進行分類整理統(tǒng)計,讓老師能更清晰的了解自己的動態(tài)。</p><p> 3.需要定期修改自己的密碼。</p><p> 4.能夠及時看到老師發(fā)布
67、的消息,以免耽誤或措施一些重要的通知。</p><p> 3.1.2 老師功能需求分析</p><p> 1.可以清晰的看到學生實習的動態(tài)。何時在何地何公司進行了實習?,F(xiàn)在在何時何地實習。實習間學到了哪些知識,有哪些感悟。</p><p> 2.管理組織機構。添加系別和班級。學生注冊的時候,根據老師所進行的操作,選擇自己的系別,班級進行注冊。</p&g
68、t;<p> 3.老師需要發(fā)布自己的信息,有了變更后,可以方便的通知學生。無需一個一個通知。</p><p> 4.根據學號查詢某個學生的信息,動態(tài)。</p><p> 3.2 數(shù)據需求分析</p><p> 3.2.1 數(shù)據庫需求分析</p><p> 數(shù)據庫的設計通常是以一個已經存在的數(shù)據庫管理系統(tǒng)為基礎的,常
69、用的數(shù)據庫管理系統(tǒng)有Access、SQL Server、Oracle等。根據用戶的需求和系統(tǒng)分析,本系統(tǒng)采用mysql數(shù)據庫管理系統(tǒng)。在mysql數(shù)據庫管理系統(tǒng)中建立名稱為manage的數(shù)據庫。這個數(shù)據庫需要提供各種信息的保存、更新和查詢,這就要求數(shù)據庫結構充分滿足各種信息的輸出和輸入。搜集基本數(shù)據、數(shù)據結構和數(shù)據處理的流程,組成一個詳盡的數(shù)據字典,為后面的具體設計打下基礎。</p><p> 在manage的
70、數(shù)據庫中,根據項目的需求建立相應的數(shù)據表,如下:</p><p> 1、class(班級表),包括數(shù)據項:表id,班級名稱。</p><p> 2、company( 公司表),包括數(shù)據項:表id,公司名,地址,負責人,聯(lián)系方式,,簡介,入職時間,辭職時間,職務,工作描述,學生id;</p><p> 3、Document</p><p>
71、; ?。ㄎ募恚?,包括數(shù)據項:表id,上傳文件名,文件路徑,上傳者(學生),上傳者(老師);</p><p> 4、Department</p><p> (系別表),包括數(shù)據項:表id、系別;</p><p><b> 5、Message</b></p><p> ?。ㄐ畔⒈恚〝?shù)據項:表id,標題,內容,上
72、傳者,發(fā)布時間等。</p><p><b> 6、Teacher</b></p><p> ?。ɡ蠋煴恚?,包括數(shù)據項:表id,姓名,密碼,聯(lián)系方式,性別,年齡等;</p><p><b> 7、Student</b></p><p> ?。▽W生表),包括數(shù)據項:表id,姓名,密碼,學號,性別,年
73、齡,聯(lián)系方式,班級id,系id。</p><p> 3.3 技術解決方案需求分析</p><p> (1) WebServer – Tomcat 6.0;</p><p> (2) DataBase – mysql;</p><p> (3) 開發(fā)環(huán)境 – MyEclipse 8.5。</p><p><
74、;b> 第四章 總體設計</b></p><p> 4.1 數(shù)據庫manage設計</p><p> 本設計的數(shù)據庫名字為manage,此數(shù)據庫中總共有七張表分別為:class(班級表)、company( 公司表)、Document(文件表)、Department(系別表)、Message</p><p> (信息表)、Teacher(
75、老師表),Student(學生表)。</p><p> 4.1.1 class(班級表)的設計</p><p><b> Class</b></p><p> 4.1.2 company( 公司表)的設計</p><p><b> Company</b></p><p
76、> 4.1.3 Document(文件表)的設計</p><p><b> Document</b></p><p> 4.1.4 Department(系別表)的設計</p><p> Department</p><p> 4.1.5 Message(信息表)的設計</p><
77、;p><b> Message</b></p><p> 4.1.6 Teacher(老師表)的設計</p><p><b> Teacher</b></p><p> 4.1.7 Student(學生表)的設計</p><p><b> Student</b>
78、</p><p> 4.2 學生客戶端設計</p><p><b> 4.2.1注冊 </b></p><p> 打開系統(tǒng)首頁后,先進行注冊.注冊時,學生需認真填寫自己的用戶名,學號,密碼.并選擇系別,班級,性別.還需填寫自己的年齡和電話號碼.</p><p><b> 4.2.2學生登陸</b
79、></p><p> 學生根據自己注冊過的用戶名和密碼進行填寫,并在身份欄中選擇老師.登陸后進行相應的操作.可以在密碼修改頁面進行密碼修改.在個人信息欄更改自己的電話和年齡.在查看信息欄中,可以查看老師發(fā)布的信息.在我的實習欄中,可以對自己的實習信息進行查看,修改和刪除.在添加實習欄中,添加自己的實習信息.</p><p> 4.3 老師客戶端設計</p><
80、;p><b> 4.3.1老師登陸</b></p><p> 老師根據自己的用戶名和密碼進行登陸,并在身份欄中選擇老師.登陸后,可以在密碼修改欄中進行密碼修改. 在個人信息欄更改自己的電話和年齡.在組織管理欄中,進行系別和班級的添加,刪除.在消息管理欄中,對自己發(fā)布的消息進行操作.如查看,修改和刪除.學生注冊時,可根據老師在此編輯的系別,班級進行選擇.在消息發(fā)布欄中,可以編輯自己要
81、發(fā)布給學生的內容.其發(fā)布的內容,將會加載在老師客戶端的消息管理欄和學生客戶端的查看信息欄中.每一個學生登陸后,都將會看到這兒發(fā)布的內容.在頂崗實習欄中,老師可以查看所有學生的詳細個人信息和實習信息.并可根據學生的學號進行針對性的查詢.</p><p><b> 第五章 界面設計</b></p><p><b> 5.1 用戶注冊</b>&
82、lt;/p><p><b> 5.1.1 界面</b></p><p> 當進入注冊界面,需學生需認真填寫自己的用戶名,學號,密碼.并選擇系別,班級,性別.還需填寫自己的年齡和電話號碼.</p><p> 都輸入完成之后可以單擊“注冊”按鈕進行注冊.注冊完成時,將會提示注冊完成請登錄.如果填寫有誤,可單擊“重置”按鈕進行重新填寫.具體效果如
83、圖 5-1-1所示。</p><p> 5.1.2 流程圖</p><p> 5.2 學生客戶端登錄界面</p><p> 5.2.1 登陸界面</p><p> 5.2.2 密碼修改界面</p><p> 5.2.3我的實習界面</p><p> 5.2.4 查看信息界面<
84、;/p><p> 5.2.5 個人信息界面</p><p> 5.2.6 添加實習界面</p><p> 5.3 老師客戶端登錄界面</p><p> 5.3.1 登陸界面</p><p> 5.3.2 密碼修改界面</p><p> 5.3.3 個人信息界面</p>&l
85、t;p> 5.3.4 組織管理界面</p><p> 5.3.5 組織管理界面</p><p> 5.3.6 消息發(fā)布界面</p><p> 5.3.7 頂崗實習界面</p><p> 第六章 開發(fā)環(huán)境配置說明</p><p> 6.1 開發(fā)環(huán)境配置</p><p> 本
86、人在設計的過程中,需要搭建一個普通WEB開發(fā)環(huán)境,具體的環(huán)境配置如下:</p><p> 第一步:到官方網站下載JDK1.6、Tomcat6.0、mysql軟件,以及Navicat Premium管理組件等軟件。</p><p> 第二步:安裝jdk和配置環(huán)境變量和Tomcat6.0</p><p> 1.安裝J2SE的JDK1.6以后,需要配置一下環(huán)境變量,
87、在我的電腦->屬性->高級->環(huán)境變量->系統(tǒng)變量中添加以下環(huán)境變量:</p><p> JAVA_HOME=D:\Java\jdk1.6.0_30</p><p> classpath= .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;(.;一定不能少,因為它表示當前路徑)</p><p> p
88、ath= %JAVA_HOME%\bin;</p><p><b> 如圖6-1所示:</b></p><p><b> 圖 6-1</b></p><p> 接著可以寫一個簡單的啟動MS-DOS窗口來測試J2SDK是否已安裝成功,點擊->開始->運行->輸入cmd->點擊確定。在DOS窗口中
89、輸入javac,按<Enter>鍵,系統(tǒng)會輸出javac命令的使用幫助信息,如下圖6-2所示。這說明JDK配置成功,否則需要檢查上面各步驟的配置是否正確。</p><p><b> 圖 6-2</b></p><p> 接著可以啟動tomcat,在IE中訪問http://localhost:8080,如果看到tomcat的歡迎頁面的話說明安裝成功了。&
90、lt;/p><p> 第三步:安裝mysql</p><p> 在安裝mysql的過程后,要安裝Navicat for MySQL這個軟件,它相當于數(shù)據庫的一個圖形界面工具,可以查看數(shù)據庫中的所有數(shù)據庫及表的信息。</p><p> 第三步:安裝MyEclips8.5</p><p> 雙擊MyEclips8.5可以進行安裝,選擇適當路徑
91、進行安裝。等待安裝完成之后,啟動MyEclipse之后必須設置的兩項是設置Java的JDK路徑和服務器(Tomcat6.0)路徑。當啟動完成之后,新建一個Web項目,命名為manageSystem。</p><p> 第七章 開發(fā)與測試</p><p><b> 7.1 開發(fā)流程</b></p><p> 本人在設計的過程中,采用循序
92、漸進的方式進行開發(fā),為使開發(fā)的過程是一個循序漸進的過程,為此本人按如下步驟進行開發(fā):</p><p> ?、?完成數(shù)據庫manage的設計。</p><p> ?、?完成學生注冊模塊。</p><p> ?、?完成學生登錄模塊以及服務功能(用戶信息修改),從而驗證用戶注冊模塊。</p><p> (4)完成學生頂崗實習信息填寫模塊。<
93、/p><p> (5)轉入老師功能設計。首先完成對學生管理模塊(增刪改查等功能),再完成對系別班級的管理模塊。</p><p> (6) 完成對系別班級管理模塊,可以對上一步驟的驗證。</p><p> (7) 再轉入前臺設計。在前臺進行注冊測試,看是否能成功加載老師管理的信息。</p><p> (8) 再轉入后臺設計,完成信息發(fā)布模塊
94、。</p><p> (9) 完成后臺對學生實習信息管理模塊。</p><p> (10)整個系統(tǒng)在功能模塊基本完成了之后,最后的任務就是給系統(tǒng)界面的美化,使所有的頁面變的美觀,以及對代碼的完善和最后綜合測試。</p><p><b> 7.2 測試</b></p><p> 由于開發(fā)的方式是采用的螺旋遞增的方
95、式進行開發(fā)的,所以在測試的過程也同樣采用螺旋遞增的方式進行測試即:—開發(fā)—測試—開發(fā)—測試。也就是在開發(fā)的過程之中伴隨著測試,測試的同時也是為下一個模塊的開發(fā)做鋪墊,這樣不但可以提高開發(fā)的效率,同時也可以在開發(fā)的過程中及時發(fā)現(xiàn)錯誤,避免了那種瀑布型開發(fā)模式的不足,在整個系統(tǒng)開發(fā)完畢再去測試,給最后的測試帶來了很大的困難。</p><p> 在整個設計的過程中,本人感觸最深的就是測試的重要性還有前期準備工作的重要
96、性。不重視測試,若是老想著把所有工作做完后再去測試,結果總是很不理想。因為如果不及時進行測試,當把所有的代碼都寫完的時候才去測試,結果發(fā)現(xiàn)很多錯誤出現(xiàn)的具體位置在哪,這增加了測試的難度。</p><p> 第八章 所用技巧及難點分析</p><p> 8.1 mvc技術</p><p> MVC全名是Model View Controller,是模型(mo
97、del)-視圖(view)-控制器(controller)的縮寫,一種軟件設計典范,用于組織代碼用一種業(yè)務邏輯和數(shù)據顯示分離的方法,這個方法的假設前提是如果業(yè)務邏輯被聚集到一個部件里面,而且界面和用戶圍繞數(shù)據的交互能被改進和個性化定制而不需要重新編寫業(yè)務邏輯MVC被獨特的發(fā)展起來用于映射傳統(tǒng)的輸入、處理和輸出功能在一個邏輯的圖形化用戶界面的結構中。</p><p> MVC開始是存在于Desktop程序中的,M
98、是指數(shù)據模型,V是指用戶界面,C則是控制器,使用MVC的目的是將M和V的實現(xiàn)代碼分離,從而使同一個程序可以使用不同的表現(xiàn)形式。比如一批統(tǒng)計數(shù)據可以分別用柱狀圖、餅圖來表示。C存在的目的則是確保M和V的同步,一旦M改變,V應該同步更新。</p><p> 模型-視圖-控制器(MVC)是Xerox PARC在二十世紀八十年代為編程語言Smalltalk-80發(fā)明的一種軟件設計模式,已被廣泛使用。后來被推薦為Orac
99、le旗下Sun公司Java EE平臺的設計模式,并且受到越來越多的使用ColdFusion和PHP的開發(fā)者的歡迎。模型-視圖-控制器模式是一個有用的工具箱,它有很多好處,但也有一些缺點。</p><p> MVC是一個框架模式,它強制性的使應用程序的輸入、處理和輸出分開。使用MVC應用程序被分成三個核心部件:模型、視圖、控制器。它們各自處理自己的任務。最典型的MVC就是JSP + servlet + javab
100、ean的模式。</p><p><b> 8.1.1視圖</b></p><p> 視圖是用戶看到并與之交互的界面。對老式的Web應用程序來說,視圖就是由HTML元素組成的界面,在新式的Web應用程序中,HTML依舊在視圖中扮演著重要的角色,但一些新的技術已層出不窮,它們包括Adobe Flash和像XHTML,XML/XSL,WML等一些標識語言和Web ser
101、vices.</p><p> MVC好處是它能為應用程序處理很多不同的視圖。在視圖中其實沒有真正的處理發(fā)生,不管這些數(shù)據是聯(lián)機存儲的還是一個雇員列表,作為視圖來講,它只是作為一種輸出數(shù)據并允許用戶操縱的方式。</p><p><b> 8.1.2 模型</b></p><p> 模型表示企業(yè)數(shù)據和業(yè)務規(guī)則。在MVC的三個部件中,模型擁有
102、最多的處理任務。例如它可能用像EJBs和ColdFusion Components這樣的構件對象來處理數(shù)據庫,被模型返回的數(shù)據是中立的,就是說模型與數(shù)據格式無關,這樣一個模型能為多個視圖提供數(shù)據,由于應用于模型的代碼只需寫一次就可以被多個視圖重用,所以減少了代碼的重復性。</p><p><b> 8.1.3控制器</b></p><p> 控制器接受用戶的輸入并
103、調用模型和視圖去完成用戶的需求,所以當單擊Web頁面中的超鏈接和發(fā)送HTML表單時,控制器本身不輸出任何東西和做任何處理。它只是接收請求并決定調用哪個模型構件去處理請求,然后再確定用哪個視圖來顯示返回的數(shù)據。</p><p><b> 8.1.4區(qū)別</b></p><p> 框架模式和設計模式的區(qū)別</p><p> 有很多程序員往往把
104、框架模式和設計模式混淆,認為MVC是一種設計模式。實際上它們完全是不同的概念。[7]</p><p> 框架、設計模式這兩個概念總容易被混淆,其實它們之間還是有區(qū)別的。框架通常是代碼重用,而設計模式是設計重用,架構則介于兩者之間,部分代碼重用,部分設計重用,有時分析也可重用。在軟件生產中有三種級別的重用:內部重用,即在同一應用中能公共使用的抽象塊;代碼重用,即將通用模塊組合成庫或工具集,以便在多個應用和領域都能
105、使用;應用框架的重用,即為專用領域提供通用的或現(xiàn)成的基礎結構,以獲得最高級別的重用性。</p><p> 框架與設計模式雖然相似,但卻有著根本的不同。設計模式是對在某種環(huán)境中反復出現(xiàn)的問題以及解決該問題的方案的描述,它比框架更抽象;框架可以用代碼表示,也能直接執(zhí)行或復用,而對模式而言只有實例才能用代碼表示;設計模式是比框架更小的元素,一個框架中往往含有一個或多個設計模式,框架總是針對某一特定應用領域,但同一模式
106、卻可適用于各種應用??梢哉f,框架是軟件,而設計模式是軟件的知識。</p><p> 框架模式有哪些?MVC、MTV、MVP、CBD、ORM等等;</p><p> 框架有哪些?C++語言的QT、MFC、gtk,Java語言的SSH,php語言的 smarty(MVC模式),python語言的django(MTV模式)等等</p><p> 設計模式有哪些?工廠
107、模式、適配器模式、策略模式等等</p><p> 簡而言之:框架模式是大智慧,用來對軟件設計進行分工;設計模式是小技巧,對具體問題提出解決方案,以提高代碼復用率、降低耦合度。</p><p> 8.1.5常見MVC</p><p> 8.1.5.1 Struts</p><p> Struts是Apache軟件基金下Jakarta項
108、目的一部分。Struts框架的主要架構設計和開發(fā)者是Craig R.McClanahan。Struts 是Java Web MVC框架中不爭的王者。經過長達五年的發(fā)展,Struts已經逐漸成長為一個穩(wěn)定、成熟的框架,并且占有了MVC框架中最大的市場份額。但是Struts某些技術特性上已經落后于新興的MVC框架。面對Spring MVC、Webwork2這些設計更精密,擴展性更強的框架,Struts受到了前所未有的挑戰(zhàn)。但站在產品開發(fā)的角
109、度而言,Struts仍然是最穩(wěn)妥的選擇。</p><p> Struts有一組相互協(xié)作的類(組件)、Servlet以及jsp tag lib組成。基于struts構架的web應用程序基本上符合JSP Model2的設計標準,可以說是MVC設計模式的一種變化類型。根據上面對framework的描述,很容易理解為什么說Struts是一個web framework,而不僅僅是一些標記庫的組合。但 Struts 也包含
110、了豐富的標記庫和獨立于該框架工作的實用程序類。Struts有其自己的控制器(Controller),同時整合了其他的一些技術去實現(xiàn)模型層(Model)和視圖層(View)。在模型層,Struts可以很容易的與數(shù)據訪問技術相結合,包括EJB,JDBC和Object Relation Bridge。在視圖層,Struts能夠與JSP, Velocity Templates,XSL等等這些表示層組件相結合。[8]</p><
111、;p> 8.1.5 .2 Spring</p><p> Spring實際上是Expert One-on-One J2EE Design and Development 一書中所闡述的設計思想的具體實現(xiàn)。在One-on-One 一書中,Rod Johnson倡導J2EE實用主義的設計思想,并隨書提供了一個初步的開發(fā)框架實現(xiàn)(interface21 開發(fā)包)。而Spring 正是這一思想的更全面和具體的
112、體現(xiàn)。Rod Johnson 在interface21 開發(fā)包的基礎之上,進行了進一步的改造和擴充,使其發(fā)展為一個更加開放、清晰、全面、高效的開發(fā)框架。</p><p> Spring是一個開源框架,由Rod Johnson創(chuàng)建并且在他的著作《J2EE設計開發(fā)編程指南》里進行了描述。它是為了解決企業(yè)應用開發(fā)的復雜性而創(chuàng)建的。Spring使使用基本的JavaBeans來完成以前只可能由EJB完成的事情變得可能了。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 學生頂崗實習管理系統(tǒng)畢業(yè)設計論文
- 校外畢業(yè)設計、頂崗實習學生工作手冊
- 2013屆校外畢業(yè)設計、頂崗實習學生工作手冊
- java學生管理系統(tǒng)畢業(yè)設計論文
- 學生學籍管理系統(tǒng)畢業(yè)設計論文
- 學生頂崗實習信息管理系統(tǒng).pdf
- 65618.學生頂崗實習管理系統(tǒng)的設計與實現(xiàn)
- 高職學生頂崗實習管理系統(tǒng)的設計與實現(xiàn).pdf
- 學生公寓管理系統(tǒng)-畢業(yè)設計論文
- 學生成績管理系統(tǒng)畢業(yè)設計論文
- 學生信息管理系統(tǒng)畢業(yè)設計論文
- 學生信息管理系統(tǒng)畢業(yè)設計(論文)
- 學生宿舍管理系統(tǒng)(畢業(yè)設計論文)
- 學生成績管理系統(tǒng)畢業(yè)設計論文
- 學生信息管理系統(tǒng)畢業(yè)設計論文
- 畢業(yè)設計論文---學生宿舍管理系統(tǒng)
- 畢業(yè)設計(論文)-學生信息管理系統(tǒng)設計
- 學生信息管理系統(tǒng)畢業(yè)設計論文
- 學生宿舍管理系統(tǒng)畢業(yè)設計論文
- 學生公寓管理系統(tǒng)畢業(yè)設計論文
評論
0/150
提交評論