不要在知道上求這種源碼了。。。百度積分50分,換算人民幣,都可以忽略不計的,津巴布韋幣都比這值錢。

成都創(chuàng)新互聯(lián)技術(shù)團隊十多年來致力于為客戶提供網(wǎng)站設(shè)計制作、成都網(wǎng)站制作、品牌網(wǎng)站制作、營銷型網(wǎng)站、搜索引擎SEO優(yōu)化等服務(wù)。經(jīng)過多年發(fā)展,公司擁有經(jīng)驗豐富的技術(shù)團隊,先后服務(wù)、推廣了上1000+網(wǎng)站,包括各類中小企業(yè)、企事單位、高校等機構(gòu)單位。
也就是說,其實你是在索求免費的源碼。
如果是索求免費的源碼,那么你應(yīng)該去開源論壇或開源網(wǎng)站去找,而不是來百度知道。
學生選課系統(tǒng)的設(shè)計與實現(xiàn)摘要本文以一個具體的應(yīng)用系統(tǒng)—學生選課信息系統(tǒng)的設(shè)計與實現(xiàn)來說明如何利用UML和EJB組件來設(shè)計和構(gòu)建分布式軟件系統(tǒng)平臺。UML和組件技術(shù)結(jié)合使用能提高開發(fā)效率,增加系統(tǒng)的易維護性。關(guān)鍵詞UML;EJB;實例1引言現(xiàn)在信息管理系統(tǒng)軟件的開發(fā),采用組件技術(shù)可以提高效率,信息管理系統(tǒng)的分析設(shè)計也采用UML來進行。兩者的結(jié)合可以極大的提高開發(fā)效率,保證系統(tǒng)開發(fā)的易維護性。本文用UML這種設(shè)計方法和EJB這種組件技術(shù)來設(shè)計和實現(xiàn)一個系統(tǒng)。2系統(tǒng)分析本系統(tǒng)設(shè)計為學生通過網(wǎng)頁登陸學校網(wǎng)站,進行選課。下面用用例圖來說明該系統(tǒng)要實現(xiàn)的功能。2.1用例圖2.2系統(tǒng)總體結(jié)構(gòu)圖本系統(tǒng)采用三層體系結(jié)構(gòu),分為表示層,事務(wù)處理層,數(shù)據(jù)存儲層。三層結(jié)構(gòu)層次清晰,易維護。圖3類圖學生選課系統(tǒng)涉及到三個實體類學生,課程,以及學生和課程之間的一個一對多關(guān)系類。對每一個類,映射到一張表。學生類和課程類用Container-ManagedEntityBean實現(xiàn),學生和課程間的一對多關(guān)系類,用Bean-ManagedPersistence的EntityBean實現(xiàn)。再設(shè)計一個SessionBean對學生選課過程進行控制。頁面顯示部分用JSP實現(xiàn)。3數(shù)據(jù)庫設(shè)計學生表對應(yīng)學生實體,詳細內(nèi)容如下表1學生表關(guān)聯(lián)表對應(yīng)學生和課程間的一對多關(guān)系,詳細內(nèi)容如下研究開發(fā)4實現(xiàn)4.1SessionBean的設(shè)計4.1.1定義HomeInterface4.1.2定義RemoteInterfacepublicinterfaceEnrollSessionextendsEJBObject{//-----//這是一個基于SessionBean的Remote接口,這個SessionBean是基于//Stateful的SessionBean,用來對特定學生選課的登記過程進行操作//-----------------------------publicStringgetStudentName()throwsRemoteException;publicvoidenroll(ArrayListcourseItems)throwsRemoteExcep-tion;publicvoidunenroll()throwsRemoteException;publicvoiddeleteStudent()throwsFinderException,RemoteEx-ception;publicvoiddeleteCourse(Stringcourse_id)throwsRemoteExcep-tion;}4.1.3Client獲取HomeInterface和RemoteInterface的參考方式,我們使用JNDI機制來獲取Home接口和Remote接口的對象參考。4.1.4定義回調(diào)方法4.1.5實現(xiàn)遠程數(shù)據(jù)庫的連接使用JNDI機制,通過數(shù)據(jù)庫的JNDI名稱javacomp/env/jdbc/StudentCourseDB來連接后臺數(shù)據(jù)庫。4.1.6SessionBean方法實現(xiàn)//定義變量publicStudentHomesHome;publicEnrollHomeeHome;publicStringstudent_id;publicStringname;//回調(diào)方法實現(xiàn)publicvoidejbCreate(Stringstudent_id)throwsCreateException{try{Studentstudent=sHome.findByPrimaryKey(student_id);name=student.getName();}catch(ObjectNotFoundExceptione){thrownewCreateException(Student+student_id+notfoundinStudentTBL!);}catch(Exceptione){thrownewEJBException(e.getMessage());}this.student_id=student_id;}//商業(yè)方法實現(xiàn)publicvoidenroll(ArrayListcourseItems){Enrollenroll=null;try{enroll=eHome.findByPrimaryKey(student_id);}catch(Exceptione){}try{if(enroll!=null){enroll.replaceCourseItems(courseItems);}else{eHome.create(student_id,courseItems);}}catch(Exceptione){thrownewEJBException(e.getMessage());}}publicvoidunenroll(){try{Enrollenroll=eHome.findByPrimaryKey(student_id);enroll.remove();}catch(Exceptione){thrownewEJBException(e.getMessage());}}//涉及到對兩張表的刪除。publicvoiddeleteStudent()throwsFinderException{try{Enrollenroll=eHome.findByPrimaryKey(student_id);Studentstudent=sHome.findByPrimaryKey(student_id);enroll.remove();student.remove();}catch(Exceptione){thrownewEJBException(e.getMessage());}}publicvoiddeleteCourse(Stringcourse_id){PreparedStatementps=null;try{getConnection();StringdeleteStatement=deletefromEnrollTBL+wherestudent_id=?andcourse_id=?;ps=con.prepareStatement(deleteStatement);ps.setString(1,student_id);ps.setString(2,course_id);ps.executeUpdate();}catch(Exceptione){thrownewEJBException(e.getMessage());}finally{try{ps.close();con.close();}catch(Exceptione){thrownewEJBException(e.getMessage());}}}4.2EntityBean的設(shè)計我們以關(guān)聯(lián)表(EnrollTBL)對應(yīng)的實體Bean為例進行說明,它涉及到兩個表的一對多關(guān)系。4.2.1定義Home接口4.2.2定義RemoteInterfacepublicinterfaceEnrollextendsEJBObject{//---------------//這是一個基于EntityBean的Remote接口,這個EntityBean是基于//Bean-ManagedPersistence的EntityBean,用來對EnrollTBL表進行操作//--------------------------publicArrayListgetCourseItems()throwsRemoteException;publicStringgetStudent_id()throwsRemoteException;publicvoidreplaceCourseItems(ArrayListcourseItems)throwsRemoteException;}4.2.3變量定義publicStringstudent_id;publicArrayListcourseItems;4.2.4增加數(shù)據(jù)記錄實現(xiàn)publicStringejbCreate(Stringstudent_id,ArrayListcourseItems)throwsCreateException{if(courseItems==null||courseItems.size()==0){thrownewCreateException(ejbCreateexception!);}this.student_id=student_id;try{enroll(courseItems);}catch(Exceptione){thrownewEJBException(ejbCreateexception+e.getMessage());}this.courseItems=courseItems;returnstudent_id;}//根據(jù)學生ID,插入課程項。privatevoidenroll(ArrayListcourseItems)throwsSQLException{StringinsertStatement=insertintoEnrollTBLvalues(?,?);PreparedStatementps=con.prepareStatement(insertStatement);try{//------------//依次將所有的課程項目插入EnrollTBL表//------------------ps.setString(1,this.student_id);for(inti=0;icourseItems.size();i++){Stringcourse_id=(String)courseItems.get(i);ps.setString(2,course_id);ps.executeUpdate();}}finally{ps.close();}}//根據(jù)學生ID,刪除課程項privatevoidunenroll()throwsSQLException{StringdeleteStatement=deletefromEnrollTBL+wherestudent_id=?;PreparedStatementps=con.prepareStatement(deleteStatement);try{ps.setString(1,student_id);ps.executeUpdate();}finally{ps.close();}}5部署和運行5.1部署程序5.1.1部署StudentEntityBean,設(shè)置事務(wù)屬性,生成部署文件。5.1.2同樣,再部署其他三個EJB組件EnrollSessionBean,CourseEntityBean,EnrollEntityBean。5.1.3部署web組件5.1.4部署整個應(yīng)用程序5.2運行啟動J2EE服務(wù)器,啟動數(shù)據(jù)庫服務(wù)器,打開瀏覽器。學生登錄,即可選課。6結(jié)論組件技術(shù)使得復(fù)雜的多層結(jié)構(gòu)應(yīng)用系統(tǒng)開發(fā)變得容易。采用組件技術(shù)能提高開發(fā)人員的效率,降低軟件的開發(fā)和維護成本,提高軟件的質(zhì)量,控制所構(gòu)建系統(tǒng)的復(fù)雜性。UML設(shè)計方法的使用能提高軟件設(shè)計的效率和保證設(shè)計的規(guī)范性。參考文獻[1]CraigLarman.UML和模式應(yīng)用-面向?qū)ο蠓治雠c設(shè)計導論[M].北京機械工業(yè)出版社,2003.10-100.[2]劉特.J2EEEJB應(yīng)用編程實例[M].北京清華大學出版社,2003.90-150.[3]GeriSchneider.用例分析技術(shù)[M].北京機械工業(yè)出版社,2003.1-98.
-----------------------------------------------
謝謝請采納:
不能發(fā)連接啊,請在百度
搜索‘珍惜知識網(wǎng)’點進去就是了[ORDA]
我已開始跟你的感覺差不多,但是你可以按下面的步驟來理解
首先你要明確,java本身也是一門語言,和漢語英語實際上沒有區(qū)別,你學了幾年英語有什么感覺么?英語能用來做什么?語言的東西都有一個共同的特點,就是你可以很快的了解但是很難深入的掌握,java也是一樣,編碼原理和規(guī)范就那么多,很快學會了,但是要深入,你就要慢慢的研究和使用了,這是急不來的
然后java可以做什么,我當年問老師時老師是這樣回答的“什么都可以做”,你凡是可以想到的編程的事情java都可以做,這樣說了也沒什么用,你以后自己慢慢體會吧
java分三個部分,javase,javame,javaee,這你肯定知道,他們的區(qū)別卻很難體會到,因為你只是在用java,而不是在研究java,可以這樣說,一般寫個helloworld的完全的java后綴的文件,是在使用javase;企業(yè)級的應(yīng)用,web網(wǎng)站的開發(fā),使用的是javaee,而移動開發(fā)或嵌入式開發(fā),使用的是javame
java本身就是平臺,我覺得你可能是在問java做手機游戲是用什么IDE,這個我還真不知道,因為我不是做javame的,現(xiàn)在javame中android一家獨大,所以你想要了解這方面就去看看android開發(fā)的書看看
java企業(yè)級開發(fā)一般都是不用eclipse的,每個公司都有自己的選擇,比如我現(xiàn)在用的是oracle的jdeveloper,什么工具無所謂,反正上手很快的,你只要用熟練了一個,其他的都差不多
java當然是有界面的,不然你所謂的手機游戲是怎么做出來的,肯定不是控制臺輸出吧,java的swing類提供了java的可視化界面開發(fā),你可以搜索一下java計算器的開發(fā)代碼,就明白了,你可能想eclipse里有可視化的界面開發(fā),但很可惜,你只能在eclipse里面看到代碼,運行一下才能看到界面
另外你說的一般開發(fā)可能也有問題,你說的是自己做作業(yè)還是企業(yè)里面應(yīng)用?企業(yè)里面是很少做java桌面軟件的,因為java的優(yōu)勢就在于其分布性和可移植性,桌面軟件java不占優(yōu)勢,所以企業(yè)級開發(fā)一般都是B/S架構(gòu),也就是web開發(fā),不太用到swing
網(wǎng)頁參數(shù)的傳遞和xml是沒關(guān)系的,xml是控制整個項目的走向的,不是控制哪個網(wǎng)頁,網(wǎng)頁的參數(shù)都是它們自己在傳遞或者使用框架傳遞,而且你后臺理解的也有問題,我們開發(fā)的網(wǎng)頁本身就是后臺,或者說本身就是服務(wù)器,傳遞給用戶的都是處理之后的東西,至于你理解的后臺是網(wǎng)站的數(shù)據(jù)處理后臺,一般用servlet和javabean,而不是javase,其他的東西再說就太多了,因為你理解的都不太對,想了解什么你可以具體再問我
再具體我就不說了,現(xiàn)在也說得太多了,不明白再問我
網(wǎng)站標題:教務(wù)管理系統(tǒng)代碼Java 教務(wù)管理系統(tǒng)源代碼
標題URL:http://chinadenli.net/article4/doojjoe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計公司、營銷型網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站、域名注冊、全網(wǎng)營銷推廣、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)