簡易教務(wù)系統(tǒng)java代碼 簡易教務(wù)系統(tǒng)java代碼大全
java編寫個(gè)教務(wù)系統(tǒng),控制臺(tái)輸出。
這個(gè)還是你自己寫吧,又不難。建兩張數(shù)據(jù)表,一個(gè)用戶表,一個(gè)課程表,用戶表里面弄一個(gè)字段控制相應(yīng)權(quán)限就成。
java學(xué)生選課系統(tǒng)
學(xué)生選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘要本文以一個(gè)具體的應(yīng)用系統(tǒng)—學(xué)生選課信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)來說明如何利用UML和EJB組件來設(shè)計(jì)和構(gòu)建分布式軟件系統(tǒng)平臺(tái)。UML和組件技術(shù)結(jié)合使用能提高開發(fā)效率,增加系統(tǒng)的易維護(hù)性。關(guān)鍵詞UML;EJB;實(shí)例1引言現(xiàn)在信息管理系統(tǒng)軟件的開發(fā),采用組件技術(shù)可以提高效率,信息管理系統(tǒng)的分析設(shè)計(jì)也采用UML來進(jìn)行。兩者的結(jié)合可以極大的提高開發(fā)效率,保證系統(tǒng)開發(fā)的易維護(hù)性。本文用UML這種設(shè)計(jì)方法和EJB這種組件技術(shù)來設(shè)計(jì)和實(shí)現(xiàn)一個(gè)系統(tǒng)。2系統(tǒng)分析本系統(tǒng)設(shè)計(jì)為學(xué)生通過網(wǎng)頁登陸學(xué)校網(wǎng)站,進(jìn)行選課。下面用用例圖來說明該系統(tǒng)要實(shí)現(xiàn)的功能。2.1用例圖2.2系統(tǒng)總體結(jié)構(gòu)圖本系統(tǒng)采用三層體系結(jié)構(gòu),分為表示層,事務(wù)處理層,數(shù)據(jù)存儲(chǔ)層。三層結(jié)構(gòu)層次清晰,易維護(hù)。圖3類圖學(xué)生選課系統(tǒng)涉及到三個(gè)實(shí)體類學(xué)生,課程,以及學(xué)生和課程之間的一個(gè)一對(duì)多關(guān)系類。對(duì)每一個(gè)類,映射到一張表。學(xué)生類和課程類用Container-ManagedEntityBean實(shí)現(xiàn),學(xué)生和課程間的一對(duì)多關(guān)系類,用Bean-ManagedPersistence的EntityBean實(shí)現(xiàn)。再設(shè)計(jì)一個(gè)SessionBean對(duì)學(xué)生選課過程進(jìn)行控制。頁面顯示部分用JSP實(shí)現(xiàn)。3數(shù)據(jù)庫設(shè)計(jì)學(xué)生表對(duì)應(yīng)學(xué)生實(shí)體,詳細(xì)內(nèi)容如下表1學(xué)生表關(guān)聯(lián)表對(duì)應(yīng)學(xué)生和課程間的一對(duì)多關(guān)系,詳細(xì)內(nèi)容如下研究開發(fā)4實(shí)現(xiàn)4.1SessionBean的設(shè)計(jì)4.1.1定義HomeInterface4.1.2定義RemoteInterfacepublicinterfaceEnrollSessionextendsEJBObject{//-----//這是一個(gè)基于SessionBean的Remote接口,這個(gè)SessionBean是基于//Stateful的SessionBean,用來對(duì)特定學(xué)生選課的登記過程進(jìn)行操作//-----------------------------publicStringgetStudentName()throwsRemoteException;publicvoidenroll(ArrayListcourseItems)throwsRemoteExcep-tion;publicvoidunenroll()throwsRemoteException;publicvoiddeleteStudent()throwsFinderException,RemoteEx-ception;publicvoiddeleteCourse(Stringcourse_id)throwsRemoteExcep-tion;}4.1.3Client獲取HomeInterface和RemoteInterface的參考方式,我們使用JNDI機(jī)制來獲取Home接口和Remote接口的對(duì)象參考。4.1.4定義回調(diào)方法4.1.5實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)庫的連接使用JNDI機(jī)制,通過數(shù)據(jù)庫的JNDI名稱javacomp/env/jdbc/StudentCourseDB來連接后臺(tái)數(shù)據(jù)庫。4.1.6SessionBean方法實(shí)現(xiàn)//定義變量publicStudentHomesHome;publicEnrollHomeeHome;publicStringstudent_id;publicStringname;//回調(diào)方法實(shí)現(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è)方法實(shí)現(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());}}//涉及到對(duì)兩張表的刪除。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è)計(jì)我們以關(guān)聯(lián)表(EnrollTBL)對(duì)應(yīng)的實(shí)體Bean為例進(jìn)行說明,它涉及到兩個(gè)表的一對(duì)多關(guān)系。4.2.1定義Home接口4.2.2定義RemoteInterfacepublicinterfaceEnrollextendsEJBObject{//---------------//這是一個(gè)基于EntityBean的Remote接口,這個(gè)EntityBean是基于//Bean-ManagedPersistence的EntityBean,用來對(duì)EnrollTBL表進(jìn)行操作//--------------------------publicArrayListgetCourseItems()throwsRemoteException;publicStringgetStudent_id()throwsRemoteException;publicvoidreplaceCourseItems(ArrayListcourseItems)throwsRemoteException;}4.2.3變量定義publicStringstudent_id;publicArrayListcourseItems;4.2.4增加數(shù)據(jù)記錄實(shí)現(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ù)學(xué)生ID,插入課程項(xiàng)。privatevoidenroll(ArrayListcourseItems)throwsSQLException{StringinsertStatement=insertintoEnrollTBLvalues(?,?);PreparedStatementps=con.prepareStatement(insertStatement);try{//------------//依次將所有的課程項(xiàng)目插入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ù)學(xué)生ID,刪除課程項(xiàng)privatevoidunenroll()throwsSQLException{StringdeleteStatement=deletefromEnrollTBL+wherestudent_id=?;PreparedStatementps=con.prepareStatement(deleteStatement);try{ps.setString(1,student_id);ps.executeUpdate();}finally{ps.close();}}5部署和運(yùn)行5.1部署程序5.1.1部署StudentEntityBean,設(shè)置事務(wù)屬性,生成部署文件。5.1.2同樣,再部署其他三個(gè)EJB組件EnrollSessionBean,CourseEntityBean,EnrollEntityBean。5.1.3部署web組件5.1.4部署整個(gè)應(yīng)用程序5.2運(yùn)行啟動(dòng)J2EE服務(wù)器,啟動(dòng)數(shù)據(jù)庫服務(wù)器,打開瀏覽器。學(xué)生登錄,即可選課。6結(jié)論組件技術(shù)使得復(fù)雜的多層結(jié)構(gòu)應(yīng)用系統(tǒng)開發(fā)變得容易。采用組件技術(shù)能提高開發(fā)人員的效率,降低軟件的開發(fā)和維護(hù)成本,提高軟件的質(zhì)量,控制所構(gòu)建系統(tǒng)的復(fù)雜性。UML設(shè)計(jì)方法的使用能提高軟件設(shè)計(jì)的效率和保證設(shè)計(jì)的規(guī)范性。參考文獻(xiàn)[1]CraigLarman.UML和模式應(yīng)用-面向?qū)ο蠓治雠c設(shè)計(jì)導(dǎo)論[M].北京機(jī)械工業(yè)出版社,2003.10-100.[2]劉特.J2EEEJB應(yīng)用編程實(shí)例[M].北京清華大學(xué)出版社,2003.90-150.[3]GeriSchneider.用例分析技術(shù)[M].北京機(jī)械工業(yè)出版社,2003.1-98.
-----------------------------------------------
謝謝請(qǐng)采納:
不能發(fā)連接啊,請(qǐng)?jiān)诎俣?/p>
搜索‘珍惜知識(shí)網(wǎng)’點(diǎn)進(jìn)去就是了[ORDA]
java怎么通過代碼登入教務(wù)系統(tǒng)
我使用幾系統(tǒng)都B/S結(jié)構(gòu)每登錄都需要輸入用戶名密碼覺非麻煩考慮其同事需求妨寫自登錄程序吧前考慮使用單點(diǎn)登錄幾經(jīng)嘗試放棄
我習(xí)慣使用Java本能始尋找Java解決Google輸入Java自登錄、Java網(wǎng)頁模擬登錄、Java Post 登錄結(jié)倒少內(nèi)容差我嘗試終究沒達(dá)我預(yù)期目標(biāo)我都知道些代碼應(yīng)該jsp頁面執(zhí)行c/s結(jié)構(gòu)程序執(zhí)行些代碼確實(shí)管用
我先析代碼
String surl = "";
URL url = new URL(surl);
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStreamWriter out=new OutputStreamWriter(conn.getOutputStream());
String str = "username=yournamepassword=123456";
out.write(str);
out.flush();
out.close();
C/S結(jié)構(gòu)且參數(shù)確程序能夠功登錄oa系統(tǒng)要看結(jié)通面代碼系統(tǒng)服務(wù)器返結(jié)System.out.println()
String sling = "";
String scontent = "";
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream(),"UTF-8"));
while ((sling = in.readLine()) != null)
scontent += in + "\r\n";
System.out.println(scontent);
C/S結(jié)構(gòu)控制臺(tái)輸返值返內(nèi)容看程序已經(jīng)功登錄要網(wǎng)址瀏覽器打重新登錄問題沒根本解決惡意注冊(cè)應(yīng)該達(dá)目
看C/S結(jié)構(gòu)容易實(shí)現(xiàn)網(wǎng)頁程序自登錄除非C/S程序內(nèi)嵌瀏覽器直接瀏覽器自訪問系統(tǒng)應(yīng)該沒別主要問題于我沒辦共享Session
便于共享Session我能瀏覽器實(shí)現(xiàn)網(wǎng)頁自登錄通面代碼jsp頁面測(cè)試達(dá)預(yù)期目標(biāo)
網(wǎng)頁自登錄希望程序自填充用戶名密碼Post式提交給登錄頁面Form所指向action頁面或我系統(tǒng)登錄頁面源代碼保存網(wǎng)頁usernamepassword文本框設(shè)置默認(rèn)值通網(wǎng)頁登錄系統(tǒng)測(cè)試發(fā)現(xiàn)行接能已經(jīng)想解決
我通url.openConnection()建立連接返scontent打印接著打印代碼:
out.println("\r\n");
原理簡單通login.jsp登錄頁面全部源代碼寫前頁面使用javascript腳本用戶名密碼值填充提交表單終于實(shí)現(xiàn)自登錄目標(biāo)現(xiàn)我通特殊網(wǎng)址例自訪問oa
能注意參數(shù)url值經(jīng)加密內(nèi)容用戶名密碼加效期即效期內(nèi)鏈接才效才實(shí)現(xiàn)自登錄
基于Java+MSSqlServer2005設(shè)計(jì)一個(gè)學(xué)生成績管理系統(tǒng),功能類似于大學(xué)的教務(wù)管理系統(tǒng)
話說。。。你這個(gè)假如別人手上沒現(xiàn)成的一般也沒時(shí)間給你做一個(gè),如果真不會(huì)還是去百度google找找差不多的然后自己改改吧
上一篇:java遮罩層代碼 java面板
欄 目:Java編程
下一篇:沒有了
本文標(biāo)題:簡易教務(wù)系統(tǒng)java代碼 簡易教務(wù)系統(tǒng)java代碼大全
本文地址:http://mengdiqiu.com.cn/a1/Javabiancheng/17337.html


閱讀排行
本欄相關(guān)
- 04-09簡易教務(wù)系統(tǒng)java代碼 簡易教務(wù)系統(tǒng)
- 04-09java遮罩層代碼 java面板
- 04-09對(duì)話框代碼java java對(duì)話框分為______和
- 04-09java堆的基本代碼 java 堆的結(jié)構(gòu)
- 04-09java計(jì)時(shí)開關(guān)代碼 java計(jì)時(shí)程序
- 04-09java代碼重構(gòu)優(yōu)化經(jīng)驗(yàn) java代碼重構(gòu)的
- 04-09java貸款利率代碼 java利率是什么數(shù)據(jù)
- 04-09安卓輔助java代碼 安卓輔助用什么開發(fā)
- 04-09俄羅斯方法java源代碼 java編寫俄羅斯
- 04-07java入門小代碼 java簡單的代碼
隨機(jī)閱讀
- 01-10C/C++ 宏詳細(xì)解析
- 01-11詳解dedecms織夢(mèng)遠(yuǎn)程圖片本地化https鏈
- 01-10pcre函數(shù)詳細(xì)解析
- 01-10詳解C++編程中表達(dá)式的語義與計(jì)算順
- 01-10關(guān)于IE8兼容:X-UA-Compatible屬性的解釋
- 01-10Unity鍵盤WASD實(shí)現(xiàn)物體移動(dòng)
- 08-05dedecms顯示所有文章列表
- 08-05dedecms織夢(mèng)獲取文章里第一張圖片
- 01-10javascript實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊生成文字特效
- 01-10Spring Security跳轉(zhuǎn)頁面失敗問題解決