學(xué)生頂崗實習(xí)管理系統(tǒng)畢業(yè)設(shè)計論文_第1頁
已閱讀1頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  學(xué)生頂崗實習(xí)管理系統(tǒng)</p><p><b>  摘要</b></p><p>  隨著高專教育的不斷發(fā)展,高等職業(yè)教育兩年制改革的推行,我院于2011年在09級學(xué)生中開始實行高職新”2+1”教育模式;兩年在校學(xué)習(xí),一年生產(chǎn)頂崗實習(xí)、實訓(xùn)。新“2+1”模式以兩年制高職教育為基礎(chǔ),通過頂崗實習(xí)專業(yè)培訓(xùn)或綜合培訓(xùn)使學(xué)生獲得職業(yè)崗位技能和自身綜合素質(zhì)的

2、全面提升。部分本科學(xué)生最后一學(xué)期,因特殊原因不能在校完成畢業(yè)設(shè)計,需在外頂崗實習(xí)。由于最后一年學(xué)生在外頂崗實習(xí),學(xué)生的頂崗實習(xí)質(zhì)量直接影響著學(xué)生的成才與就業(yè)因而這一環(huán)節(jié)的管理與指導(dǎo)顯的尤為重要,一方面,我們要讓學(xué)生一年崗位實習(xí)滿意,能受益非淺,畢業(yè)后能獲得一個不錯的職位,另一方面能讓老師對學(xué)生頂崗實習(xí)及就業(yè)指導(dǎo)高效快捷地開展進(jìn)行;再者就是讓學(xué)院的管理層及時了解學(xué)生的實習(xí)動態(tài)及就業(yè)情況。在這種背景下,我準(zhǔn)備設(shè)計、開發(fā)一套符合本校、功能完善

3、的基于web的學(xué)生頂崗實習(xí)管理系統(tǒng)。主要內(nèi)容如下:</p><p><b>  1.教師客戶端功能</b></p><p>  登陸后可以修改自己的密碼和個人信息</p><p>  可以查看所有學(xué)生的個人信息和實習(xí)信息。</p><p>  可以根據(jù)學(xué)號查詢學(xué)生的個人及實習(xí)信息。</p><p>

4、;<b>  可以發(fā)布通知。</b></p><p>  可以進(jìn)行組織管理,及對系別和班級的管理。以供學(xué)生注冊時選擇。</p><p><b>  2.學(xué)生客戶端功能</b></p><p>  注冊自己的個人信息。</p><p>  登陸后可以修改自己的密碼和個人信息。</p>&

5、lt;p>  查看老師發(fā)布的信息。</p><p>  添加、修改和管理自己的實習(xí)信息。</p><p>  關(guān)鍵字:學(xué)生頂崗實習(xí);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>  第二章 項目構(gòu)架分析與設(shè)計5</p>

14、<p>  2.1 物理構(gòu)架5</p><p>  2.2 邏輯構(gòu)架5</p><p>  2.3 開發(fā)工具6</p><p>  第三章 需求分析10</p><p>  3.1 系統(tǒng)功能需求分析10</p><p>  3.2 數(shù)據(jù)需求分析10</p><p>

15、;  3.3 技術(shù)解決方案需求分析11</p><p>  第四章 總體設(shè)計11</p><p>  4.1 數(shù)據(jù)庫manage設(shè)計11</p><p>  4.2 學(xué)生客戶端設(shè)計13</p><p>  4.3 老師客戶端設(shè)計13</p><p>  第五章 界面設(shè)計14</p>

16、<p>  5.1 用戶注冊14</p><p>  5.2 學(xué)生客戶端登錄界面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技術(shù)23</p><p>  第九章 總結(jié)與展望31</p><p>  9.1 總結(jié)31</p>&l

18、t;p>  9.2 展望31</p><p><b>  致 謝31</b></p><p><b>  參考文獻(xiàn)32</b></p><p>  附錄:實現(xiàn)代碼32</p><p><b>  第一章 引 言</b></p><p>

19、  1.1開發(fā)背景及目的</p><p>  隨著高專教育的不斷發(fā)展,高等職業(yè)教育兩年制改革的推行,我院于2011年在09級學(xué)生中開始實行高職新”2+1”教育模式;兩年在校學(xué)習(xí),一年生產(chǎn)頂崗實習(xí)、實訓(xùn)。新“2+1”模式以兩年制高職教育為基礎(chǔ),通過頂崗實習(xí)專業(yè)培訓(xùn)或綜合培訓(xùn)使學(xué)生獲得職業(yè)崗位技能和自身綜合素質(zhì)的全面提升。部分本科學(xué)生最后一學(xué)期,因特殊原因不能在校完成畢業(yè)設(shè)計,需在外頂崗實習(xí)。由于最后一年學(xué)生在外頂崗

20、實習(xí),學(xué)生的頂崗實習(xí)質(zhì)量直接影響著學(xué)生的成才與就業(yè)因而這一環(huán)節(jié)的管理與指導(dǎo)顯的尤為重要,一方面,我們要讓學(xué)生一年崗位實習(xí)滿意,能受益非淺,畢業(yè)后能獲得一個不錯的職位,另一方面能讓老師對學(xué)生頂崗實習(xí)及就業(yè)指導(dǎo)高效快捷地開展進(jìn)行;再者就是讓學(xué)院的管理層及時了解學(xué)生的實習(xí)動態(tài)及就業(yè)情況。</p><p>  1.2本文的目的與系統(tǒng)開發(fā)的意義</p><p><b>  1.2.1 意義

21、</b></p><p>  學(xué)生管理系統(tǒng)能提高老師管理學(xué)生的效率,增強(qiáng)教學(xué)的計劃性。原來,老師需要第三方軟件的支持來管理學(xué)生,如qq等通訊軟件。此系統(tǒng)針對性的設(shè)計,及多種第三方軟件與一體,使老師更方便高效的管理學(xué)生。</p><p>  1.2.2 本文的目的</p><p>  本文的主要目的如下:</p><p>  介紹本

22、次畢業(yè)課題的目的和背景;</p><p>  介紹本次畢業(yè)設(shè)計的模塊;</p><p>  介紹所用技術(shù)和開發(fā)工具;</p><p>  闡述系統(tǒng)的工作流程;</p><p>  研究的基本內(nèi)容與擬解決的主要問題;</p><p>  第二章 項目構(gòu)架分析與設(shè)計</p><p><b&g

23、t;  2.1 物理構(gòu)架</b></p><p>  (1)網(wǎng)絡(luò)服務(wù)器操作系統(tǒng):Windows 7;</p><p>  (2)Web服務(wù)器:Tomcat 6.0;</p><p>  (3)后臺數(shù)據(jù)庫系統(tǒng):MySQL;</p><p>  (4)JSP運行環(huán)境:J2SDK 1.6。</p><p>&l

24、t;b>  2.2 邏輯構(gòu)架</b></p><p>  2.2.1 JSP+JavaBean+Servlet框架介紹</p><p>  Servlet+JSP+JavaBean(MVC)模式適合開發(fā)復(fù)雜的web應(yīng)用,在這種模式下,servlet負(fù)責(zé)處理用戶請求,jsp負(fù)責(zé)數(shù)據(jù)顯示,javabean負(fù)責(zé)封裝數(shù)據(jù)。 Servlet+JSP、JavaBean模式程序各個

25、模塊之間層次清晰,web開發(fā)推薦采用此種模式。</p><p>  JSP+JavaBean+Servlet三層結(jié)構(gòu)的實質(zhì)是比jsp+javaBean兩層結(jié)構(gòu)多了一個Controller:Servlet來分發(fā)客戶端瀏覽器的請求。如果把起控制器作用的Servlet的作用理解為對客戶端的請求進(jìn)行預(yù)處理對理解Servlet將有很大的幫助。通過web.xml配置文件可以找到用戶請求和特定的Servlet的對應(yīng)關(guān)系,每個S

26、ervlet都有一個特定的Servlet對象與之對應(yīng),所以說處理用戶請求的就是一個繼承自HttpServlet的Servlet對象。</p><p>  當(dāng)然也可以把這些處理操作完全寫在jsp程序中,不過這樣的jsp頁面可能就有成百上千行,光看代碼就是一個頭疼的事情,更不用說修改了,這對以后的代碼維護(hù)增加很大的難度,而且可能同樣的代碼會在一個頁面當(dāng)中出現(xiàn)多次,這不但降低了代碼的可讀性也降低了代碼的重用性。由此可見

27、,通過JavaBean可以很好地實現(xiàn)邏輯的封裝、程序的易于維護(hù)等等。 如果使用Jsp開發(fā)程序,一個很好的習(xí)慣就是多使用JavaBean。其工作原理如圖2-1所示。</p><p><b>  JDBC</b></p><p>  http請求 forward</p><p><b>  設(shè)置Control</b&

28、gt;</p><p><b>  讀取</b></p><p>  圖 2-1 三層架構(gòu)的工作原理</p><p>  2.2.2 JSP簡介</p><p>  JSP(Java Server Pages)技術(shù)使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能

29、通過tags和scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計和顯示分離,支持可重用的基于組件的設(shè)計,使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實現(xiàn)建立動態(tài)網(wǎng)頁所需要的功能。</p><p>  JSP技

30、術(shù)還有如下幾個優(yōu)點:(1)一次編寫,到處運行;</p><p>  (2)系統(tǒng)的多平臺支持;</p><p>  (3)強(qiáng)大的可伸縮性;</p><p>  (4)多樣化和功能強(qiáng)大的開發(fā)工具支持。</p><p>  2.2.3 JavaBean簡介</p><p>  JavaBean是sun微系統(tǒng)的一個面向?qū)ο?/p>

31、的編程接口,它可以讓開發(fā)展建可重用應(yīng)用程序或能在網(wǎng)絡(luò)中任何主流操作系統(tǒng)平臺上配置的程序塊,稱作組件。用戶可以使用JavaBean將功能、處理、值、數(shù)據(jù)庫訪問和其他任何可以用java代碼創(chuàng)造的對象進(jìn)行打包,并且其他的開發(fā)者可以通過內(nèi)部的jsp頁面、servlet、其他JavaBean、applet程序或者應(yīng)用來使用這些對象。用戶可以認(rèn)為JavaBean提供了一種隨時隨地的復(fù)制和粘貼的功能,而不用關(guān)心任何改變。</p><

32、;p><b>  2.3 開發(fā)工具</b></p><p>  2.3.1 Myeclipse簡介</p><p>  MyEclipse,是一個十分優(yōu)秀的用于開發(fā)Java, J2EE的Eclipse插件集合,MyEclipse的功能非常強(qiáng)大,支持也十分廣泛,尤其是對各種開源產(chǎn)品的支持十分不錯。 </p><p>  MyEclips

33、e企業(yè)級工作平臺(MyEclipse Enterprise Workbench ,簡稱MyEclipse)是對Eclipse IDE的擴(kuò)展,利用它可以在數(shù)據(jù)庫和J2EE的開發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大地提高工作效率。它是功能豐富的J2EE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML、 Struts、 JSF、 CSS、 Javascript、 SQL、 Hibernate。</p>

34、<p>  MyEclipse 是一個十分優(yōu)秀的用于開發(fā)Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常強(qiáng)大,支持也十分廣泛,尤其是對各種開源產(chǎn)品的支持十分不錯。MyEclipse目前支持Java Servlet,AJAX, JSP, JSF, Struts,Spring, Hibernate,EJB3,JDBC數(shù)據(jù)庫鏈接工具等多項功能??梢哉fMyEclipse幾乎囊括了目前所有主流開源產(chǎn)品的專屬

35、eclipse開發(fā)工具。[1]</p><p>  根據(jù)官方最新消息,MyEclipse 2013已經(jīng)正式發(fā)布!MyEclipse 2013[2]支持HTML5、JQuery和主流的Javascript 庫。隨著MyEclipse 2013支持Html5,你可以添加音頻、視頻和API元素到你的項目,從而為移動設(shè)備創(chuàng)建復(fù)雜的Web應(yīng)用程序。你甚至還可以通過HTML5 可視化設(shè)計器設(shè)計令人難以置信的用戶界面。同時,隨

36、著MyEclipse 2013支持JQuery,你可以通過插件提升性能,并添加動畫效果到設(shè)計中。</p><p>  MyEclipse 8.5 版本</p><p>  經(jīng)過了MyEclipse 8.5 M1和MyEclipse 8.5 M2兩個版本,MyEclipse Enterprise Workbench 8.5 for Eclipse 3.5.2終于在2010年3月28號正式發(fā)布

37、了!在官方網(wǎng)站上 MyEclipse 8.5 可以下載了,該版本集成了 Eclipse 3.5.2,提升了團(tuán)隊協(xié)作開發(fā)、開發(fā)周期管理以及 Spring 和 Hibernate 的更好支持。</p><p>  簡單而言,MyEclipse是Eclipse的插件,也是一款功能強(qiáng)大的J2EE集成開發(fā)環(huán)境,支持代碼編寫、配置、測試以及除錯。</p><p>  2.3.2 TOMCAT6.0簡

38、介</p><p>  Tomcat 6.0服務(wù)器是Apache組織開發(fā)的一種JSP引擎,本身具有WEB服務(wù)器的功能,可以作為獨立的WEB服務(wù)器來使用。Tomcat 很受廣大程序員的喜歡,因為它運行時占用的系統(tǒng)資源小,擴(kuò)展性好,支持負(fù)載平衡與郵件服務(wù)等開發(fā)應(yīng)用系統(tǒng)常用的功能,而且它還是一個免費開源的系統(tǒng),任何一個感興趣的程序員都可以更改它或在其中加入新的功能。在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,

39、是開發(fā)和調(diào)試JSP 程序的首選。但是,在作為WEB服務(wù)器方面,Tomcat出來靜態(tài)HTML頁面時不如Apache迅速,也沒有Apache健壯,所以一般將Tomcat與Apache配合使用,讓Apache對網(wǎng)站的靜態(tài)頁面請求提供服務(wù),而Tomcat作為專用的JSP引擎,提供JSP解析,以得到更好的性能。Tomcat是Java程序,所以只要有JDK就可以使用,不需要考慮具體的操作系統(tǒng)平臺。</p><p>  2.3

40、.3 mysql簡介</p><p>  MySQL是一個開放源碼的小型關(guān)聯(lián)式數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。</p><p>  與其他的大型數(shù)據(jù)庫例如Oracle、DB2、

41、SQL Server等相比,MySQL自有它的不足之處,如規(guī)模小、功能有限(MySQLCluster的功能和效率都相對比較差)等,但是這絲毫也沒有減少它受歡迎的程度。對于一般的個人使用者和中小型企業(yè)來說,MySQL提供的功能已經(jīng)綽綽有余,而且由于MySQL是開放源碼軟件,因此可以大大降低總體擁有成本。</p><p>  目前Internet上流行的網(wǎng)站構(gòu)架方式(Linux+Apache+MySQL+PHP/Pe

42、rl/Python)和LNMP(Linux+Nginx+MySQL+php/perl/Python),即使用Linux作為操作系統(tǒng),Apache和Nginx作為Web服務(wù)器,MySQL作為數(shù)據(jù)庫,PHP/Perl/Python作為服務(wù)器端腳本解釋器。由于這四個軟件都是免費或開放源碼軟件(FLOSS),因此使用這種方式不用花一分錢(除開人工成本)就可以建立起一個穩(wěn)定、免費的網(wǎng)站系統(tǒng)。</p><p>  2.3.4

43、 servlet簡介</p><p>  Servlet是一種服務(wù)器端的Java應(yīng)用程序,具有獨立于平臺和協(xié)議的特性,可以生成動態(tài)的Web頁面。 它擔(dān)當(dāng)客戶請求(Web瀏覽器或其他HTTP客戶程序)與服務(wù)器響應(yīng)(HTTP服務(wù)器上的數(shù)據(jù)庫或應(yīng)用程序)的中間層。 Servlet是位于Web 服務(wù)器內(nèi)部的服務(wù)器端的Java應(yīng)用程序,與傳統(tǒng)的從命令行啟動的Java應(yīng)用程序不同,Servlet由Web服務(wù)器進(jìn)行加載,該We

44、b服務(wù)器必須包含支持Servlet的Java虛擬機(jī)。</p><p>  servlet是在服務(wù)器上運行的小程序。這個詞是在Java applet的環(huán)境中創(chuàng)造的,Java applet是一種當(dāng)作單獨文件跟網(wǎng)頁一起發(fā)送的小程序,它通常用于在服務(wù)器端運行,結(jié)果得到為用戶進(jìn)行運算或者根據(jù)用戶互作用定位圖形等服務(wù)。</p><p>  服務(wù)器上需要一些程序,常常是根據(jù)用戶輸入訪問數(shù)據(jù)庫的

45、程序。這些通常是使用公共網(wǎng)關(guān)接口(CGI(Common Gateway Interface))應(yīng)用程序完成的。然而,在服務(wù)器上運行Java,這種程序可使用Java編程語言實現(xiàn)。在通信量大的服務(wù)器上,Java servlet的優(yōu)點在于它們的執(zhí)行速度更快于CGI程序。各個用戶請求被激活成單個程序中的一個線程,而無需創(chuàng)建單獨的進(jìn)程,這意味著服務(wù)器端處理請求的系統(tǒng)開銷將明顯降低。</p><p><b>  實

46、現(xiàn)過程</b></p><p>  最早支持Servlet技術(shù)的是JavaSoft的Java Web Server。此后,一些其它的基于Java的WebServer開始支持標(biāo)準(zhǔn)的ServletAPI。Servlet的主要功能在于交互式地瀏覽和修改數(shù)據(jù),生成動態(tài)Web內(nèi)容。這個過程為:</p><p>  客戶端發(fā)送請求至服務(wù)器端;</p><p>  服

47、務(wù)器將請求信息發(fā)送至Servlet</p><p>  Servlet生成響應(yīng)內(nèi)容并將其傳給服務(wù)器。響應(yīng)內(nèi)容動態(tài)生成,通常取決于客戶端的請求</p><p>  服務(wù)器將響應(yīng)返回給客戶端</p><p>  Servlet看起來像是通常的Java程序。Servlet導(dǎo)入特定的屬于Java ServletAPI的包。因為是對象字節(jié)碼,可動態(tài)地從網(wǎng)絡(luò)加載,可以說Serv

48、let對Server就如同Applet對Client一樣,但是,由于Servlet運行于Server中,它們并不需要一個圖形用戶界面。從這個角度講,Servlet也被稱為FacelessObject。</p><p>  一個servlet就是Java編程語言中的一個類,它被用來擴(kuò)展服務(wù)器的性能,服務(wù)器上駐留著可以通過“請求-響應(yīng)”編程模型來訪問的應(yīng)用程序。雖然servlet可以對任何類型的請求產(chǎn)生響應(yīng),但通常只

49、用來擴(kuò)展Web服務(wù)器的應(yīng)用程序。</p><p>  2.3.5 JDBC簡介</p><p>  JDBC(Java Data Base Connectivity,java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的Java API,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成。JDBC提供了一種基準(zhǔn),據(jù)此可以構(gòu)建更高級的工具和接口,使數(shù)據(jù)庫開發(fā)人員能夠編寫數(shù)據(jù)

50、庫應(yīng)用程序,同時,JDBC也是個商標(biāo)名。</p><p>  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)用程序

51、,同時,JDBC也是個商標(biāo)名。</p><p>  有了JDBC,向各種關(guān)系數(shù)據(jù)發(fā)送SQL語句就是一件很容易的事。換言之,有了JDBC API,就不必為訪問Sybase數(shù)據(jù)庫專門寫一個程序,為訪問Oracle數(shù)據(jù)庫又專門寫一個程序,或為訪問Informix數(shù)據(jù)庫又編寫另一個程序等等,程序員只需用JDBC API寫一個程序就夠了,它可向相應(yīng)數(shù)據(jù)庫發(fā)送SQL調(diào)用。同時,將Java語言和JDBC結(jié)合起來使程序員不必為不

52、同的平臺編寫不同的應(yīng)用程序,只須寫一遍程序就可以讓它在任何平臺上運行,這也是Java語言“編寫一次,處處運行”的優(yōu)勢。</p><p>  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使

53、用已有的SQL標(biāo)準(zhǔn)并支持與其它數(shù)據(jù)庫連接標(biāo)準(zhǔn),如ODBC之間的橋接。JDBC實現(xiàn)了所有這些面向標(biāo)準(zhǔn)的目標(biāo)并且具有簡單、嚴(yán)格類型定義且高性能實現(xiàn)的接口。</p><p>  Java 具有堅固、安全、易于使用、易于理解和可從網(wǎng)絡(luò)上自動下載等特性,是編寫數(shù)據(jù)庫應(yīng)用程序的杰出語言。所需要的只是 Java應(yīng)用程序與各種不同數(shù)據(jù)庫之間進(jìn)行對話的方法。而 JDBC 正是作為此種用途的機(jī)制。</p><p&

54、gt;  JDBC 擴(kuò)展了 Java 的功能。例如,用 Java 和 JDBC API 可以發(fā)布含有 applet 的網(wǎng)頁,而該 applet 使用的信息可能來自遠(yuǎn)程數(shù)據(jù)庫。企業(yè)也可以用 JDBC 通過 Intranet 將所有職員連到一個或多個內(nèi)部數(shù)據(jù)庫中(即使這些職員所用的計算機(jī)有 Windows、 Macintosh 和UNIX 等各種不同的操作系統(tǒng))。隨著越來越多的程序員開始使用Java 編程語言,對從 Java 中便捷地訪問數(shù)

55、據(jù)庫的要求也在日益增加。</p><p>  MIS管理員們都喜歡 Java 和 JDBC 的結(jié)合,因為它使信息傳播變得容易和經(jīng)濟(jì)。企業(yè)可繼續(xù)使用它們安裝好的數(shù)據(jù)庫,并能便捷地存取信息,即使這些信息是儲存在不同數(shù)據(jù)庫管理系統(tǒng)上。新程序的開發(fā)期很短。安裝和版本控制將大為簡化。程序員可只編寫一遍應(yīng)用程序或只更新一次,然后將它放到服務(wù)器上,隨后任何人就都可得到最新版本的應(yīng)用程序。對于商務(wù)上的銷售信息服務(wù), Java 和

56、JDBC 可為外部客戶提供獲取信息更新的更好方法。用途</p><p>  簡單地說,JDBC 可做三件事:與數(shù)據(jù)庫建立連接、發(fā)送 操作數(shù)據(jù)庫的語句并處理結(jié)果。下列代碼段給出了以上三步的基本示例:</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ù)據(jù)庫訪問做了經(jīng)典的總結(jié),當(dāng)然,在本小節(jié)的后續(xù)部分會對它做詳盡的分析講解。</p><p>  2.3.6 Hibernate簡介</p><p>  Hibernate是一個開放源代碼的對象關(guān)系映射框架,它對JDBC進(jìn)行了非常輕量級的對象封裝,使得Java

60、程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。 Hibernate可以應(yīng)用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。</p><p>  Hibernate的核心接口一共有6個,分別為:Session、SessionFactory、Trans

61、action、Query、Criteria和Configuration。這6個核心接口在任何開發(fā)中都會用到。通過這些接口,不僅可以對持久化對象進(jìn)行存取,還能夠進(jìn)行事務(wù)控制。下面對這6個核心接口分別加以介紹。</p><p><b>  Session接口</b></p><p>  Session接口負(fù)責(zé)執(zhí)行被持久化對象的CRUD操作(CRUD的任務(wù)是完成與數(shù)據(jù)庫的交

62、流,包含了很多常見的SQL語句。)。但需要注意的是Session對象是非線程安全的。同時,Hibernate的session不同于JSP應(yīng)用中的HttpSession。這里當(dāng)使用session這個術(shù)語時,其實指的是Hibernate中的session,而以后會將HttpSession對象稱為用戶session。</p><p>  SessionFactory接口</p><p>  Se

63、ssionFactory接口負(fù)責(zé)初始化Hibernate。它充當(dāng)數(shù)據(jù)存儲源的代理,并負(fù)責(zé)創(chuàng)建Session對象。這里用到了工廠模式。需要注意的是SessionFactory并不是輕量級的,因為一般情況下,一個項目通常只需要一個SessionFactory就夠,當(dāng)需要操作多個數(shù)據(jù)庫時,可以為每個數(shù)據(jù)庫指定一個SessionFactory。</p><p>  Configuration類</p>&l

64、t;p>  Configuration類負(fù)責(zé)配置并啟動Hibernate,創(chuàng)建SessionFactory對象。在Hibernate的啟動的過程中,Configuration類的實例首先定位映射文檔位置、讀取配置,然后創(chuàng)建SessionFactory對象。[1]</p><p>  Transaction接口</p><p>  Transaction接口負(fù)責(zé)事務(wù)相關(guān)的操作。它是可選

65、的,開發(fā)人員也可以設(shè)計編寫自己的底層事務(wù)處理代碼</p><p>  Query和Criteria接口</p><p>  Query和Criteria接口負(fù)責(zé)執(zhí)行各種數(shù)據(jù)庫查詢。它可以使用HQL語句或SQL語句兩種表達(dá)方式。</p><p><b>  第三章 需求分析</b></p><p>  3.1 系統(tǒng)功能需

66、求分析</p><p>  3.1.1 學(xué)生功能需求確定</p><p>  1.學(xué)生對自己的個人信息進(jìn)行維護(hù),以便老師管理。</p><p>  2.學(xué)生對自己的實習(xí)信息進(jìn)行分類整理統(tǒng)計,讓老師能更清晰的了解自己的動態(tài)。</p><p>  3.需要定期修改自己的密碼。</p><p>  4.能夠及時看到老師發(fā)布

67、的消息,以免耽誤或措施一些重要的通知。</p><p>  3.1.2 老師功能需求分析</p><p>  1.可以清晰的看到學(xué)生實習(xí)的動態(tài)。何時在何地何公司進(jìn)行了實習(xí)?,F(xiàn)在在何時何地實習(xí)。實習(xí)間學(xué)到了哪些知識,有哪些感悟。</p><p>  2.管理組織機(jī)構(gòu)。添加系別和班級。學(xué)生注冊的時候,根據(jù)老師所進(jìn)行的操作,選擇自己的系別,班級進(jìn)行注冊。</p&g

68、t;<p>  3.老師需要發(fā)布自己的信息,有了變更后,可以方便的通知學(xué)生。無需一個一個通知。</p><p>  4.根據(jù)學(xué)號查詢某個學(xué)生的信息,動態(tài)。</p><p>  3.2 數(shù)據(jù)需求分析</p><p>  3.2.1 數(shù)據(jù)庫需求分析</p><p>  數(shù)據(jù)庫的設(shè)計通常是以一個已經(jīng)存在的數(shù)據(jù)庫管理系統(tǒng)為基礎(chǔ)的,常

69、用的數(shù)據(jù)庫管理系統(tǒng)有Access、SQL Server、Oracle等。根據(jù)用戶的需求和系統(tǒng)分析,本系統(tǒng)采用mysql數(shù)據(jù)庫管理系統(tǒng)。在mysql數(shù)據(jù)庫管理系統(tǒng)中建立名稱為manage的數(shù)據(jù)庫。這個數(shù)據(jù)庫需要提供各種信息的保存、更新和查詢,這就要求數(shù)據(jù)庫結(jié)構(gòu)充分滿足各種信息的輸出和輸入。搜集基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)處理的流程,組成一個詳盡的數(shù)據(jù)字典,為后面的具體設(shè)計打下基礎(chǔ)。</p><p>  在manage的

70、數(shù)據(jù)庫中,根據(jù)項目的需求建立相應(yīng)的數(shù)據(jù)表,如下:</p><p>  1、class(班級表),包括數(shù)據(jù)項:表id,班級名稱。</p><p>  2、company( 公司表),包括數(shù)據(jù)項:表id,公司名,地址,負(fù)責(zé)人,聯(lián)系方式,,簡介,入職時間,辭職時間,職務(wù),工作描述,學(xué)生id;</p><p>  3、Document</p><p>

71、; ?。ㄎ募恚?,包括數(shù)據(jù)項:表id,上傳文件名,文件路徑,上傳者(學(xué)生),上傳者(老師);</p><p>  4、Department</p><p>  (系別表),包括數(shù)據(jù)項:表id、系別;</p><p><b>  5、Message</b></p><p> ?。ㄐ畔⒈恚〝?shù)據(jù)項:表id,標(biāo)題,內(nèi)容,上

72、傳者,發(fā)布時間等。</p><p><b>  6、Teacher</b></p><p> ?。ɡ蠋煴恚〝?shù)據(jù)項:表id,姓名,密碼,聯(lián)系方式,性別,年齡等;</p><p><b>  7、Student</b></p><p> ?。▽W(xué)生表),包括數(shù)據(jù)項:表id,姓名,密碼,學(xué)號,性別,年

73、齡,聯(lián)系方式,班級id,系id。</p><p>  3.3 技術(shù)解決方案需求分析</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>  第四章 總體設(shè)計</b></p><p>  4.1 數(shù)據(jù)庫manage設(shè)計</p><p>  本設(shè)計的數(shù)據(jù)庫名字為manage,此數(shù)據(jù)庫中總共有七張表分別為:class(班級表)、company( 公司表)、Document(文件表)、Department(系別表)、Message</p><p>  (信息表)、Teacher(

75、老師表),Student(學(xué)生表)。</p><p>  4.1.1 class(班級表)的設(shè)計</p><p><b>  Class</b></p><p>  4.1.2 company( 公司表)的設(shè)計</p><p><b>  Company</b></p><p

76、>  4.1.3 Document(文件表)的設(shè)計</p><p><b>  Document</b></p><p>  4.1.4 Department(系別表)的設(shè)計</p><p>  Department</p><p>  4.1.5 Message(信息表)的設(shè)計</p><

77、;p><b>  Message</b></p><p>  4.1.6 Teacher(老師表)的設(shè)計</p><p><b>  Teacher</b></p><p>  4.1.7 Student(學(xué)生表)的設(shè)計</p><p><b>  Student</b>

78、</p><p>  4.2 學(xué)生客戶端設(shè)計</p><p><b>  4.2.1注冊 </b></p><p>  打開系統(tǒng)首頁后,先進(jìn)行注冊.注冊時,學(xué)生需認(rèn)真填寫自己的用戶名,學(xué)號,密碼.并選擇系別,班級,性別.還需填寫自己的年齡和電話號碼.</p><p><b>  4.2.2學(xué)生登陸</b

79、></p><p>  學(xué)生根據(jù)自己注冊過的用戶名和密碼進(jìn)行填寫,并在身份欄中選擇老師.登陸后進(jìn)行相應(yīng)的操作.可以在密碼修改頁面進(jìn)行密碼修改.在個人信息欄更改自己的電話和年齡.在查看信息欄中,可以查看老師發(fā)布的信息.在我的實習(xí)欄中,可以對自己的實習(xí)信息進(jìn)行查看,修改和刪除.在添加實習(xí)欄中,添加自己的實習(xí)信息.</p><p>  4.3 老師客戶端設(shè)計</p><

80、;p><b>  4.3.1老師登陸</b></p><p>  老師根據(jù)自己的用戶名和密碼進(jìn)行登陸,并在身份欄中選擇老師.登陸后,可以在密碼修改欄中進(jìn)行密碼修改. 在個人信息欄更改自己的電話和年齡.在組織管理欄中,進(jìn)行系別和班級的添加,刪除.在消息管理欄中,對自己發(fā)布的消息進(jìn)行操作.如查看,修改和刪除.學(xué)生注冊時,可根據(jù)老師在此編輯的系別,班級進(jìn)行選擇.在消息發(fā)布欄中,可以編輯自己要

81、發(fā)布給學(xué)生的內(nèi)容.其發(fā)布的內(nèi)容,將會加載在老師客戶端的消息管理欄和學(xué)生客戶端的查看信息欄中.每一個學(xué)生登陸后,都將會看到這兒發(fā)布的內(nèi)容.在頂崗實習(xí)欄中,老師可以查看所有學(xué)生的詳細(xì)個人信息和實習(xí)信息.并可根據(jù)學(xué)生的學(xué)號進(jìn)行針對性的查詢.</p><p><b>  第五章 界面設(shè)計</b></p><p><b>  5.1 用戶注冊</b>&

82、lt;/p><p><b>  5.1.1 界面</b></p><p>  當(dāng)進(jìn)入注冊界面,需學(xué)生需認(rèn)真填寫自己的用戶名,學(xué)號,密碼.并選擇系別,班級,性別.還需填寫自己的年齡和電話號碼.</p><p>  都輸入完成之后可以單擊“注冊”按鈕進(jìn)行注冊.注冊完成時,將會提示注冊完成請登錄.如果填寫有誤,可單擊“重置”按鈕進(jìn)行重新填寫.具體效果如

83、圖 5-1-1所示。</p><p>  5.1.2 流程圖</p><p>  5.2 學(xué)生客戶端登錄界面</p><p>  5.2.1 登陸界面</p><p>  5.2.2 密碼修改界面</p><p>  5.2.3我的實習(xí)界面</p><p>  5.2.4 查看信息界面<

84、;/p><p>  5.2.5 個人信息界面</p><p>  5.2.6 添加實習(xí)界面</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 頂崗實習(xí)界面</p><p>  第六章 開發(fā)環(huán)境配置說明</p><p>  6.1 開發(fā)環(huán)境配置</p><p>  本

86、人在設(shè)計的過程中,需要搭建一個普通WEB開發(fā)環(huán)境,具體的環(huán)境配置如下:</p><p>  第一步:到官方網(wǎng)站下載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;(.;一定不能少,因為它表示當(dāng)前路徑)</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這個軟件,它相當(dāng)于數(shù)據(jù)庫的一個圖形界面工具,可以查看數(shù)據(jù)庫中的所有數(shù)據(jù)庫及表的信息。</p><p>  第三步:安裝MyEclips8.5</p><p>  雙擊MyEclips8.5可以進(jìn)行安裝,選擇適當(dāng)路徑

91、進(jìn)行安裝。等待安裝完成之后,啟動MyEclipse之后必須設(shè)置的兩項是設(shè)置Java的JDK路徑和服務(wù)器(Tomcat6.0)路徑。當(dāng)啟動完成之后,新建一個Web項目,命名為manageSystem。</p><p>  第七章 開發(fā)與測試</p><p><b>  7.1 開發(fā)流程</b></p><p>  本人在設(shè)計的過程中,采用循序

92、漸進(jìn)的方式進(jìn)行開發(fā),為使開發(fā)的過程是一個循序漸進(jìn)的過程,為此本人按如下步驟進(jìn)行開發(fā):</p><p> ?、?完成數(shù)據(jù)庫manage的設(shè)計。</p><p> ?、?完成學(xué)生注冊模塊。</p><p> ?、?完成學(xué)生登錄模塊以及服務(wù)功能(用戶信息修改),從而驗證用戶注冊模塊。</p><p>  (4)完成學(xué)生頂崗實習(xí)信息填寫模塊。<

93、/p><p>  (5)轉(zhuǎn)入老師功能設(shè)計。首先完成對學(xué)生管理模塊(增刪改查等功能),再完成對系別班級的管理模塊。</p><p>  (6) 完成對系別班級管理模塊,可以對上一步驟的驗證。</p><p>  (7) 再轉(zhuǎn)入前臺設(shè)計。在前臺進(jìn)行注冊測試,看是否能成功加載老師管理的信息。</p><p>  (8) 再轉(zhuǎn)入后臺設(shè)計,完成信息發(fā)布模塊

94、。</p><p>  (9) 完成后臺對學(xué)生實習(xí)信息管理模塊。</p><p>  (10)整個系統(tǒng)在功能模塊基本完成了之后,最后的任務(wù)就是給系統(tǒng)界面的美化,使所有的頁面變的美觀,以及對代碼的完善和最后綜合測試。</p><p><b>  7.2 測試</b></p><p>  由于開發(fā)的方式是采用的螺旋遞增的方

95、式進(jìn)行開發(fā)的,所以在測試的過程也同樣采用螺旋遞增的方式進(jìn)行測試即:—開發(fā)—測試—開發(fā)—測試。也就是在開發(fā)的過程之中伴隨著測試,測試的同時也是為下一個模塊的開發(fā)做鋪墊,這樣不但可以提高開發(fā)的效率,同時也可以在開發(fā)的過程中及時發(fā)現(xiàn)錯誤,避免了那種瀑布型開發(fā)模式的不足,在整個系統(tǒng)開發(fā)完畢再去測試,給最后的測試帶來了很大的困難。</p><p>  在整個設(shè)計的過程中,本人感觸最深的就是測試的重要性還有前期準(zhǔn)備工作的重要

96、性。不重視測試,若是老想著把所有工作做完后再去測試,結(jié)果總是很不理想。因為如果不及時進(jìn)行測試,當(dāng)把所有的代碼都寫完的時候才去測試,結(jié)果發(fā)現(xiàn)很多錯誤出現(xiàn)的具體位置在哪,這增加了測試的難度。</p><p>  第八章 所用技巧及難點分析</p><p>  8.1 mvc技術(shù)</p><p>  MVC全名是Model View Controller,是模型(mo

97、del)-視圖(view)-控制器(controller)的縮寫,一種軟件設(shè)計典范,用于組織代碼用一種業(yè)務(wù)邏輯和數(shù)據(jù)顯示分離的方法,這個方法的假設(shè)前提是如果業(yè)務(wù)邏輯被聚集到一個部件里面,而且界面和用戶圍繞數(shù)據(jù)的交互能被改進(jìn)和個性化定制而不需要重新編寫業(yè)務(wù)邏輯MVC被獨特的發(fā)展起來用于映射傳統(tǒng)的輸入、處理和輸出功能在一個邏輯的圖形化用戶界面的結(jié)構(gòu)中。</p><p>  MVC開始是存在于Desktop程序中的,M

98、是指數(shù)據(jù)模型,V是指用戶界面,C則是控制器,使用MVC的目的是將M和V的實現(xiàn)代碼分離,從而使同一個程序可以使用不同的表現(xiàn)形式。比如一批統(tǒng)計數(shù)據(jù)可以分別用柱狀圖、餅圖來表示。C存在的目的則是確保M和V的同步,一旦M改變,V應(yīng)該同步更新。</p><p>  模型-視圖-控制器(MVC)是Xerox PARC在二十世紀(jì)八十年代為編程語言Smalltalk-80發(fā)明的一種軟件設(shè)計模式,已被廣泛使用。后來被推薦為Orac

99、le旗下Sun公司Java EE平臺的設(shè)計模式,并且受到越來越多的使用ColdFusion和PHP的開發(fā)者的歡迎。模型-視圖-控制器模式是一個有用的工具箱,它有很多好處,但也有一些缺點。</p><p>  MVC是一個框架模式,它強(qiáng)制性的使應(yīng)用程序的輸入、處理和輸出分開。使用MVC應(yīng)用程序被分成三個核心部件:模型、視圖、控制器。它們各自處理自己的任務(wù)。最典型的MVC就是JSP + servlet + javab

100、ean的模式。</p><p><b>  8.1.1視圖</b></p><p>  視圖是用戶看到并與之交互的界面。對老式的Web應(yīng)用程序來說,視圖就是由HTML元素組成的界面,在新式的Web應(yīng)用程序中,HTML依舊在視圖中扮演著重要的角色,但一些新的技術(shù)已層出不窮,它們包括Adobe Flash和像XHTML,XML/XSL,WML等一些標(biāo)識語言和Web ser

101、vices.</p><p>  MVC好處是它能為應(yīng)用程序處理很多不同的視圖。在視圖中其實沒有真正的處理發(fā)生,不管這些數(shù)據(jù)是聯(lián)機(jī)存儲的還是一個雇員列表,作為視圖來講,它只是作為一種輸出數(shù)據(jù)并允許用戶操縱的方式。</p><p><b>  8.1.2 模型</b></p><p>  模型表示企業(yè)數(shù)據(jù)和業(yè)務(wù)規(guī)則。在MVC的三個部件中,模型擁有

102、最多的處理任務(wù)。例如它可能用像EJBs和ColdFusion Components這樣的構(gòu)件對象來處理數(shù)據(jù)庫,被模型返回的數(shù)據(jù)是中立的,就是說模型與數(shù)據(jù)格式無關(guān),這樣一個模型能為多個視圖提供數(shù)據(jù),由于應(yīng)用于模型的代碼只需寫一次就可以被多個視圖重用,所以減少了代碼的重復(fù)性。</p><p><b>  8.1.3控制器</b></p><p>  控制器接受用戶的輸入并

103、調(diào)用模型和視圖去完成用戶的需求,所以當(dāng)單擊Web頁面中的超鏈接和發(fā)送HTML表單時,控制器本身不輸出任何東西和做任何處理。它只是接收請求并決定調(diào)用哪個模型構(gòu)件去處理請求,然后再確定用哪個視圖來顯示返回的數(shù)據(jù)。</p><p><b>  8.1.4區(qū)別</b></p><p>  框架模式和設(shè)計模式的區(qū)別</p><p>  有很多程序員往往把

104、框架模式和設(shè)計模式混淆,認(rèn)為MVC是一種設(shè)計模式。實際上它們完全是不同的概念。[7]</p><p>  框架、設(shè)計模式這兩個概念總?cè)菀妆换煜鋵嵥鼈冎g還是有區(qū)別的??蚣芡ǔJ谴a重用,而設(shè)計模式是設(shè)計重用,架構(gòu)則介于兩者之間,部分代碼重用,部分設(shè)計重用,有時分析也可重用。在軟件生產(chǎn)中有三種級別的重用:內(nèi)部重用,即在同一應(yīng)用中能公共使用的抽象塊;代碼重用,即將通用模塊組合成庫或工具集,以便在多個應(yīng)用和領(lǐng)域都能

105、使用;應(yīng)用框架的重用,即為專用領(lǐng)域提供通用的或現(xiàn)成的基礎(chǔ)結(jié)構(gòu),以獲得最高級別的重用性。</p><p>  框架與設(shè)計模式雖然相似,但卻有著根本的不同。設(shè)計模式是對在某種環(huán)境中反復(fù)出現(xiàn)的問題以及解決該問題的方案的描述,它比框架更抽象;框架可以用代碼表示,也能直接執(zhí)行或復(fù)用,而對模式而言只有實例才能用代碼表示;設(shè)計模式是比框架更小的元素,一個框架中往往含有一個或多個設(shè)計模式,框架總是針對某一特定應(yīng)用領(lǐng)域,但同一模式

106、卻可適用于各種應(yīng)用??梢哉f,框架是軟件,而設(shè)計模式是軟件的知識。</p><p>  框架模式有哪些?MVC、MTV、MVP、CBD、ORM等等;</p><p>  框架有哪些?C++語言的QT、MFC、gtk,Java語言的SSH,php語言的 smarty(MVC模式),python語言的django(MTV模式)等等</p><p>  設(shè)計模式有哪些?工廠

107、模式、適配器模式、策略模式等等</p><p>  簡而言之:框架模式是大智慧,用來對軟件設(shè)計進(jìn)行分工;設(shè)計模式是小技巧,對具體問題提出解決方案,以提高代碼復(fù)用率、降低耦合度。</p><p>  8.1.5常見MVC</p><p>  8.1.5.1 Struts</p><p>  Struts是Apache軟件基金下Jakarta項

108、目的一部分。Struts框架的主要架構(gòu)設(shè)計和開發(fā)者是Craig R.McClanahan。Struts 是Java Web MVC框架中不爭的王者。經(jīng)過長達(dá)五年的發(fā)展,Struts已經(jīng)逐漸成長為一個穩(wěn)定、成熟的框架,并且占有了MVC框架中最大的市場份額。但是Struts某些技術(shù)特性上已經(jīng)落后于新興的MVC框架。面對Spring MVC、Webwork2這些設(shè)計更精密,擴(kuò)展性更強(qiáng)的框架,Struts受到了前所未有的挑戰(zhàn)。但站在產(chǎn)品開發(fā)的角

109、度而言,Struts仍然是最穩(wěn)妥的選擇。</p><p>  Struts有一組相互協(xié)作的類(組件)、Servlet以及jsp tag lib組成?;趕truts構(gòu)架的web應(yīng)用程序基本上符合JSP Model2的設(shè)計標(biāo)準(zhǔn),可以說是MVC設(shè)計模式的一種變化類型。根據(jù)上面對framework的描述,很容易理解為什么說Struts是一個web framework,而不僅僅是一些標(biāo)記庫的組合。但 Struts 也包含

110、了豐富的標(biāo)記庫和獨立于該框架工作的實用程序類。Struts有其自己的控制器(Controller),同時整合了其他的一些技術(shù)去實現(xiàn)模型層(Model)和視圖層(View)。在模型層,Struts可以很容易的與數(shù)據(jù)訪問技術(shù)相結(jié)合,包括EJB,JDBC和Object Relation Bridge。在視圖層,Struts能夠與JSP, Velocity Templates,XSL等等這些表示層組件相結(jié)合。[8]</p><

111、;p>  8.1.5 .2 Spring</p><p>  Spring實際上是Expert One-on-One J2EE Design and Development 一書中所闡述的設(shè)計思想的具體實現(xiàn)。在One-on-One 一書中,Rod Johnson倡導(dǎo)J2EE實用主義的設(shè)計思想,并隨書提供了一個初步的開發(fā)框架實現(xiàn)(interface21 開發(fā)包)。而Spring 正是這一思想的更全面和具體的

112、體現(xiàn)。Rod Johnson 在interface21 開發(fā)包的基礎(chǔ)之上,進(jìn)行了進(jìn)一步的改造和擴(kuò)充,使其發(fā)展為一個更加開放、清晰、全面、高效的開發(fā)框架。</p><p>  Spring是一個開源框架,由Rod Johnson創(chuàng)建并且在他的著作《J2EE設(shè)計開發(fā)編程指南》里進(jìn)行了描述。它是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的。Spring使使用基本的JavaBeans來完成以前只可能由EJB完成的事情變得可能了。

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論