包含3個(gè)JAVA學(xué)生系統(tǒng)的課程設(shè)計(jì)_第1頁(yè)
包含3個(gè)JAVA學(xué)生系統(tǒng)的課程設(shè)計(jì)_第2頁(yè)
包含3個(gè)JAVA學(xué)生系統(tǒng)的課程設(shè)計(jì)_第3頁(yè)
包含3個(gè)JAVA學(xué)生系統(tǒng)的課程設(shè)計(jì)_第4頁(yè)
包含3個(gè)JAVA學(xué)生系統(tǒng)的課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩93頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

98-/NUMPAGES98JAVA程序設(shè)計(jì)——包含多個(gè)實(shí)例(讓你更加容易學(xué)習(xí)知識(shí)、找到自己想要的東西)第一個(gè):學(xué)生成績(jī)治理系統(tǒng)目錄目錄 1一、引言 21.1課程設(shè)計(jì)目的 21.2題目講明 21.3開(kāi)發(fā)工具介紹 2二、總體設(shè)計(jì) 32.1系統(tǒng)開(kāi)發(fā)平臺(tái) 32.2系統(tǒng)流程圖 42.3功能結(jié)構(gòu)圖 42.4數(shù)據(jù)庫(kù)設(shè)計(jì) 4三、詳細(xì)講明 43.1系統(tǒng)實(shí)施 5四、系統(tǒng)的調(diào)試和運(yùn)行 9五、課程設(shè)計(jì)總結(jié) 9六、參考文獻(xiàn) 9附錄(源程序代碼) 10一、引言1.1課程設(shè)計(jì)目的1)復(fù)習(xí),鞏固Java語(yǔ)言的基礎(chǔ)知識(shí),進(jìn)一步加深對(duì)Java語(yǔ)言的理解和掌握;2)課程設(shè)計(jì)為學(xué)生提供了一個(gè)既動(dòng)手又動(dòng)腦,獨(dú)立實(shí)踐的機(jī)會(huì),將課本上的理論知識(shí)和實(shí)際有機(jī)的結(jié)合起來(lái),鍛煉學(xué)生的分析解決實(shí)際問(wèn)題的能力,提高學(xué)生適應(yīng)實(shí)際,實(shí)踐編程的能力;3)培養(yǎng)學(xué)生在項(xiàng)目開(kāi)發(fā)中團(tuán)隊(duì)合作精神,創(chuàng)新意識(shí)及能力。1.2題目講明課題:學(xué)生成績(jī)治理功能要求:1、輸入十個(gè)同學(xué)的學(xué)號(hào),姓名,四科成績(jī)(應(yīng)用數(shù)學(xué),大學(xué)英語(yǔ),Java程序設(shè)計(jì),計(jì)算機(jī)應(yīng)用基礎(chǔ))。2、計(jì)算出平均成績(jī),以平均成績(jī)降序輸出成績(jī)表。3、輸入學(xué)號(hào)查詢學(xué)生信息。4、輸出全組各科平均分。5、統(tǒng)計(jì)各分?jǐn)?shù)段人數(shù)6、刪除記錄7、輸出各科最高分和最低分。8、退出。界面要示:用字符界面實(shí)現(xiàn),也可用圖形界面實(shí)現(xiàn)。開(kāi)發(fā)工具介紹Eclipse是一種可擴(kuò)展的開(kāi)放源代碼IDE。2001年11月,IBM公司捐出價(jià)值4,000萬(wàn)美元的源代碼組建了Eclipse聯(lián)盟,并由該聯(lián)盟負(fù)責(zé)這種工具的后續(xù)開(kāi)發(fā)。集成開(kāi)發(fā)環(huán)境(IDE)經(jīng)常將其應(yīng)用范圍限定在“開(kāi)發(fā)、構(gòu)建和調(diào)試”的周期之中。為了關(guān)心集成開(kāi)發(fā)環(huán)境(IDE)克服目前的局限性,業(yè)界廠商合作創(chuàng)建了Eclipse平臺(tái)。Eclipse同意在同一IDE中集成來(lái)自不同供應(yīng)商的工具,并實(shí)現(xiàn)了工具之間的互操作性,從而顯著改變了項(xiàng)目工作流程,使開(kāi)發(fā)者能夠?qū)W⒃趯?shí)際的嵌入式目標(biāo)上。利用Eclipse,我們能夠?qū)⒏呒?jí)設(shè)計(jì)(也許是采納UML)與低級(jí)開(kāi)發(fā)工具(如應(yīng)用調(diào)試器等)結(jié)合在一起。假如這些互相補(bǔ)充的獨(dú)立工具采納Eclipse擴(kuò)展點(diǎn)彼此連接,那么當(dāng)我們用調(diào)試器逐一檢查應(yīng)用時(shí),UML對(duì)話框能夠突出顯示我們正在關(guān)注的器件。事實(shí)上,由于Eclipse并不了解開(kāi)發(fā)語(yǔ)言,因此不管Java語(yǔ)言調(diào)試器、C/C++調(diào)試器依舊匯編調(diào)試器差不多上有效的,并能夠在相同的框架內(nèi)同時(shí)瞄準(zhǔn)不同的進(jìn)程或節(jié)點(diǎn)。Eclipse的最大特點(diǎn)是它能同意由Java開(kāi)發(fā)者自己編寫的開(kāi)放源代碼插件,這類似微軟公司的VisualStudio和Sun微系統(tǒng)公司的NetBeans平臺(tái)。Eclipse為工具開(kāi)發(fā)商提供了更好的靈活性,使他們能更好地操縱自己的軟件技術(shù)。Eclipse聯(lián)盟差不多宣布將在2004年中期公布其3.0版軟件。這是一款特不受歡迎的java開(kāi)發(fā)工具,這國(guó)內(nèi)的用戶越來(lái)越多,實(shí)際上有用它java開(kāi)發(fā)人員是最多的。缺點(diǎn)確實(shí)是較復(fù)雜,對(duì)初學(xué)者來(lái)講,理解起來(lái)較困難。二、總體設(shè)計(jì)2.1系統(tǒng)開(kāi)發(fā)平臺(tái)前斷使用JAVA設(shè)計(jì)事件學(xué)生成績(jī)排序、統(tǒng)計(jì)、刪除治理系統(tǒng)學(xué)生成績(jī)差不多信息成績(jī)統(tǒng)計(jì)、排序、刪除生成程序?qū)W生信息及各科成績(jī)主文件2事件學(xué)生成績(jī)排序、統(tǒng)計(jì)、刪除治理系統(tǒng)學(xué)生成績(jī)差不多信息成績(jī)統(tǒng)計(jì)、排序、刪除生成程序?qū)W生信息及各科成績(jī)主文件學(xué)生成績(jī)統(tǒng)計(jì)、排序、刪除信息報(bào)告學(xué)生成績(jī)統(tǒng)計(jì)、排序、刪除信息報(bào)告2.3功能結(jié)構(gòu)圖輸入記錄輸入記錄學(xué)生姓名、學(xué)號(hào)學(xué)生成績(jī)學(xué)生登陸退出退出輸出記錄學(xué)生姓名學(xué)生成績(jī)學(xué)生平均分學(xué)生學(xué)號(hào)輸出名次排序及查找按學(xué)號(hào)查找三、詳細(xì)講明該學(xué)生成績(jī)治理系統(tǒng)具備輸入、輸出學(xué)生信息(包括學(xué)生姓名、學(xué)號(hào)、各科成績(jī)、平均分、總分),并按平均分排序,輸入學(xué)號(hào)進(jìn)行查詢學(xué)生信息,統(tǒng)計(jì)各分?jǐn)?shù)段人數(shù),計(jì)算各科平均分并輸出最高、最低平均分,刪除記錄。具體功能的詳細(xì)描述如下:1、當(dāng)進(jìn)入“學(xué)生成績(jī)治理系統(tǒng)”界面時(shí),依照提示按“1”將進(jìn)入“輸入記錄”界面,現(xiàn)在輸入“2”時(shí)將看到學(xué)生的差不多信息。輸入“3”對(duì)此學(xué)生的平均分進(jìn)行排序。輸入“4”再輸入學(xué)生學(xué)號(hào)如“01”將查找出此學(xué)生信息,并顯示在屏幕上。輸入“5”將統(tǒng)計(jì)每個(gè)分?jǐn)?shù)段的人數(shù)。輸入“6”再輸入學(xué)號(hào)如“02”將刪除此學(xué)生的相關(guān)信息,再輸入“2”既將顯示刪除后的學(xué)生信息。輸入“7”則將各科平均分清晰的顯示出。輸入“8”則將其中最高與最低分顯示出來(lái)。輸入“0”將推出此系統(tǒng)。2、算出每人平均分分?jǐn)?shù)段的人數(shù)。3、調(diào)用方法action7來(lái)輸出各科成績(jī)的平均分。4、調(diào)用方法action8來(lái)輸出各科成績(jī)的最高分和最低分。5、方法clrscr來(lái)進(jìn)行換行輸出。3.1系統(tǒng)實(shí)施第一部分:importjava.io.*;publicclassProgram{ publicstaticvoidmain(String[]args){ { while(true) { Menu.paint(); intctrlTag=Console.readInt(); switch(ctrlTag) { case1: { Menu.action1(); break; } case2: { Menu.action2(); break; } case3: { Menu.action3(); break; } case4: { Menu.action4(); break; } case5: { Menu.action5(); break; } case6: { Menu.action6(); break; } case7: { Menu.action7(); break; } case8: { Menu.action8(); break; } case0: { System.exit(0); break; } } } } }}第二部分:publicstaticintstat(intmin,intmax) { intsum=0; for(inti=0;i<len;i++) { if((data[i].getAverage()>=min)&&(data[i].getAverage()<=max)) { sum++; } } returnsum; }第三部分(如圖1):publicstaticvoidaction7() { clrscr(); System.out.println("*英語(yǔ)平均分:"+Student.l/5); System.out.println("*數(shù)學(xué)平均分:"+Student.m/5); System.out.println("*java平均分:"+Student.s/5); System.out.println("*計(jì)算機(jī)平均分:"+Student.o/5); }(圖1)第四部分(如圖2):publicstaticvoidaction8() { clrscr(); System.out.println("英語(yǔ)最高分:"+Student.a1+"英語(yǔ)最低分:"+Student.a2); System.out.println("數(shù)學(xué)最高分:"+Student.b1+"數(shù)學(xué)最低分:"+Student.b2); System.out.println("java最高分:"+Student.c1+"java最低分:"+Student.c2); System.out.println("計(jì)算機(jī)最高分:"+Student.d1+"計(jì)算機(jī)最低分:"+Student.d2); } (圖2)第五部分:publicstaticvoidclrscr() {//tempfunction System.out.println(); System.out.println(); }四、系統(tǒng)的調(diào)試和運(yùn)行1、因小組成員都參與程序編寫,故結(jié)合在一起時(shí),出現(xiàn)了不匹配。在通過(guò)多次調(diào)試和修改后,成功運(yùn)行了程序。2、在編寫類方法時(shí),方法名后面忘加“()”,導(dǎo)致編譯錯(cuò)誤。3、在輸程序過(guò)程中,由于不斷的有中英文切換,致使一些標(biāo)點(diǎn)符號(hào)不合法。在復(fù)檢程序時(shí)也特不注意了此環(huán)節(jié)。五、課程設(shè)計(jì)總結(jié)本次課程設(shè)計(jì),讓我獲益匪淺,不僅更深入的了解Java這門學(xué)科,更使自己有了接著探究的興趣。于個(gè)人而言,在程序設(shè)計(jì)的過(guò)程中,我深感“認(rèn)真嚴(yán)謹(jǐn)”那個(gè)詞的重要性,一點(diǎn)點(diǎn)小的馬虎,便會(huì)導(dǎo)致整個(gè)程序不能正常運(yùn)行。在今后的學(xué)習(xí)中,我定將“認(rèn)真嚴(yán)謹(jǐn)時(shí)刻作為自的謹(jǐn)言。與此同時(shí),本小組成員的互幫互助,讓我體會(huì)到了團(tuán)結(jié)的力量,而更讓人難以忘懷的是在熱烈討論問(wèn)題時(shí),那激情橫溢的場(chǎng)面??傊舜握n程設(shè)計(jì)在我的學(xué)生生涯中啟上了至關(guān)重要的作用。最后,真誠(chéng)的感謝陳珂、顧成喜老師的指導(dǎo)和教誨。六、參考文獻(xiàn)按照以下格式書寫[1]權(quán)明富,齊佳音,舒華英.客戶價(jià)值評(píng)價(jià)指標(biāo)體系設(shè)計(jì)[J].南開(kāi)治理評(píng)論,2004,7(3):17-18.[2]劉小洪,鄒鵬.商業(yè)銀行客戶關(guān)系價(jià)值治理模型研究[J].治理科學(xué),2005,18(3):57-60.附錄(源程序代碼)importjava.io.*;publicclassProgram{ publicstaticvoidmain(String[]args){ { while(true) { Menu.paint(); intctrlTag=Console.readInt(); switch(ctrlTag) { case1: { Menu.action1(); break; } case2: { Menu.action2(); break; } case3: { Menu.action3(); break; } case4: { Menu.action4(); break; } case5: { Menu.action5(); break; } case6: { Menu.action6(); break; } case7: { Menu.action7(); break; } case8: { Menu.action8(); break; } case0: { System.exit(0); break; } } } } }}classStudent{ privateintnumber; privateStringname; privateintenglish; privateintmath; privateintjava; privateintcomputer; privateintaverage; privateinttotal; staticintl,m,s,o; staticinta1,b1,c1,d1,a2=100,b2=100,c2=100,d2=100; publicStudent(intnumber,Stringname,intenglish,intmath,intjava,intcomputer) { this.number=number; =name; this.english=english; this.math=math; this.java=java; puter=computer; l+=english; m+=math; s+=java; o+=computer; if(english>a1)a1=english; if(math>b1)b1=math; if(java>c1)c1=java; if(computer>d1)d1=computer; if(english<a2)a2=english; if(math<b2)b2=math; if(java<c2)c2=java; if(computer<d2)d2=computer; total=english+math+java+computer; average=total/4; } publicintgetNumber() { returnnumber; } publicStringgetName() { returnname; } publicintgetEnglish() { returnenglish; } publicintgetMath() { returnmath; } publicintgetJava() { returnjava; } publicintgetComputer() { returncomputer; } publicintgetAverage() { returnaverage; } publicintgetTotal() { returntotal; } publicintgetL() { returnl; } publicintgetM() { returnm; } publicintgetS() { returns; } publicintgetO() { returno; } publicintgetA1() { returna1; } publicintgetB1() { returnb1; } publicintgetC1() { returnc1; } publicintgetD1() { returnd1; } publicintgetA2() { returna2; } publicintgetB2() { returnb2; } publicintgetC2() { returnc2; } publicintgetD2() { returnd2; }}classStudentSet{ privatestaticfinalintmaxLen=5; privatestaticintlen=0; privatestaticStudent[]data=newStudent[maxLen]; publicstaticintgetMaxLen() { returnmaxLen; } publicstaticintgetLen() { returnlen; } publicstaticStudentgetData(intindex) { returndata[index]; } publicstaticintaddData(StudentnewData) { if(len<maxLen) { data[len]=newData; len++; return0; }else { return-1; } } publicstaticvoidsortData() { for(inti=0;i<len-1;i++) { intminIndex=i; for(intj=i+1;j<len;j++) { if(data[minIndex].getAverage()>data[j].getAverage()) { minIndex=j; } } if(minIndex!=i) { Studenttemp=data[i]; data[i]=data[minIndex]; data[minIndex]=temp; } } } publicstaticintsearch(intnumber) { for(inti=0;i<len;i++) { if(data[i].getNumber()==number) { returni; } } return-1; } publicstaticintdelete(intnumber) { for(inti=0;i<len;i++) { if(data[i].getNumber()==number) { for(intj=i+1;j<len;j++) { data[j-1]=data[j]; } len--; return0; } } return-1; } publicstaticintstat(intmin,intmax) { intsum=0; for(inti=0;i<len;i++) { if((data[i].getAverage()>=min)&&(data[i].getAverage()<=max)) { sum++; } } returnsum; }}classConsole{ publicstaticintreadInt() { intresult=0; try{ Stringtemp=newBufferedReader(newInputStreamReader(System.in)).readLine(); result=Integer.parseInt(temp); }catch(Exceptione) { System.out.println("Error:"+e); } returnresult; } publicstaticStringreadSting() { Stringresult=null; try{ result=newBufferedReader(newInputStreamReader(System.in)).readLine(); }catch(Exceptione) { System.out.println("Error:"+e); } returnresult; }}classMenu{ publicstaticvoidpaint() { clrscr(); for(inti=0;i<80;i++) { System.out.print('='); } System.out.println(); System.out.println("學(xué)生成績(jī)治理系統(tǒng)"); System.out.println(); System.out.println("1輸入記錄2輸出所有記錄"); System.out.println("3按平均成績(jī)排序并輸出4查找記錄"); System.out.println("5統(tǒng)計(jì)各分?jǐn)?shù)段人數(shù)6刪除記錄"); System.out.println("7各科平均分8各科最高最低分"); System.out.println("0退出"); for(inti=0;i<80;i++) { System.out.print('='); } System.out.println(); System.out.print("請(qǐng)輸入命令:"); } publicstaticintaction1() { while(true) { clrscr(); System.out.print("待輸入記錄的學(xué)號(hào)(輸入“-1” intnumber=Console.readInt(); if(number!=-1) { System.out.print("*姓名:"); Stringname=Console.readSting(); System.out.print("*英語(yǔ):"); intenglish=Console.readInt(); System.out.print("*數(shù)學(xué):"); intmath=Console.readInt(); System.out.print("*java:"); intjava=Console.readInt(); System.out.print("*計(jì)算機(jī):"); intcomputer=Console.readInt(); StudentnewData=newStudent(number,name,english,math,java,computer); if(StudentSet.addData(newData)==-1) { System.out.println("數(shù)據(jù)溢出!"); return-2; } }else { return-1; } } } publicstaticvoidaction2() { clrscr(); if(StudentSet.getLen()==0) { System.out.println("沒(méi)有記錄!"); }else { System.out.println("數(shù)學(xué)|英語(yǔ)|java|計(jì)算機(jī)|平均|總計(jì)"); for(inti=0;i<StudentSet.getLen();i++) { System.out.println("學(xué)號(hào):"+StudentSet.getData(i).getNumber()+"姓名:"+StudentSet.getData(i).getName()); System.out.println(""+StudentSet.getData(i).getMath()+""+StudentSet.getData(i).getEnglish()+""+StudentSet.getData(i).getJava()+ ""+StudentSet.getData(i).getComputer()+""+StudentSet.getData(i).getAverage()+""+StudentSet.getData(i).getTotal()); } } } publicstaticvoidaction3() { StudentSet.sortData(); action2(); } publicstaticvoidaction4() { clrscr(); System.out.print("請(qǐng)輸入要查找記錄的學(xué)號(hào):"); intnumber=Console.readInt(); inti; if((i=StudentSet.search(number))!=-1) { clrscr(); System.out.println("數(shù)學(xué)|英語(yǔ)|java|計(jì)算機(jī)|平均|總計(jì)"); System.out.println("學(xué)號(hào):"+StudentSet.getData(i).getNumber()+"姓名:"+StudentSet.getData(i).getName()); System.out.println(""+StudentSet.getData(i).getMath()+""+StudentSet.getData(i).getEnglish()+""+StudentSet.getData(i).getJava()+ ""+StudentSet.getData(i).getComputer()+""+StudentSet.getData(i).getAverage()+""+StudentSet.getData(i).getTotal()); }else { System.out.println("沒(méi)有找到相應(yīng)的記錄!"); } } publicstaticvoidaction5() { clrscr(); System.out.println("90-100:"+StudentSet.stat(90,100)+"人"); System.out.println("80-89:"+StudentSet.stat(80,89)+"人"); System.out.println("70-79:"+StudentSet.stat(70,79)+"人"); System.out.println("60-69:"+StudentSet.stat(60,69)+"人"); System.out.println("0-59:"+StudentSet.stat(0,59)+"人"); } publicstaticvoidaction6() { while(true) { clrscr(); System.out.print("請(qǐng)輸入要?jiǎng)h除記錄的學(xué)號(hào)(輸入“-1” intnumber=Console.readInt(); if(number!=-1) { if(StudentSet.delete(number)==-1) { System.out.println("沒(méi)有找到相應(yīng)的記錄!"); return; }else { System.out.println("刪除記錄成功!"); } }else { return; } } } publicstaticvoidaction7() { clrscr(); System.out.println("*英語(yǔ)平均分:"+Student.l/3); System.out.println("*數(shù)學(xué)平均分:"+Student.m/3); System.out.println("*java平均分:"+Student.s/3); System.out.println("*計(jì)算機(jī)平均分:"+Student.o/3); } publicstaticvoidaction8() { clrscr(); System.out.println("英語(yǔ)最高分:"+Student.a1+"英語(yǔ)最低分:"+Student.a2); System.out.println("數(shù)學(xué)最高分:"+Student.b1+"數(shù)學(xué)最低分:"+Student.b2); System.out.println("java最高分:"+Student.c1+"java最低分:"+Student.c2); System.out.println("計(jì)算機(jī)最高分:"+Student.d1+"計(jì)算機(jī)最低分:"+Student.d2); } publicstaticvoidclrscr() {//tempfunction System.out.println(); System.out.println(); }}第二個(gè):學(xué)生成績(jī)治理系統(tǒng)一、實(shí)驗(yàn)題目基于JSP/Servlet設(shè)計(jì)、實(shí)現(xiàn)一個(gè)課程治理Web應(yīng)用程序,該程序?qū)崿F(xiàn)如下功能。有登錄頁(yè)面,登錄用帳號(hào)密碼保存在數(shù)據(jù)庫(kù)中,合法登錄后進(jìn)入學(xué)習(xí)成績(jī)治理頁(yè)面。否則給出錯(cuò)誤提示。在學(xué)習(xí)成績(jī)治理頁(yè)面可添加一門課程的成績(jī),添加內(nèi)容包括:課程編號(hào)、課程名稱、學(xué)生姓名、課程成績(jī)等內(nèi)容。添加后信息保存在數(shù)據(jù)庫(kù)中。可依照課程名稱和學(xué)生姓名進(jìn)行查詢??蓜h除和修改課程信息的內(nèi)容。(即刪除一條課程記錄或修改課程記錄中的某一字段)。二、程序設(shè)計(jì)1.數(shù)據(jù)庫(kù)設(shè)計(jì):通過(guò)分析可知,改程序要緊有如下的實(shí)體對(duì)象,用戶、課程、學(xué)生三個(gè)實(shí)體對(duì)象。因此該數(shù)據(jù)庫(kù)要緊有四張表,分不如下:連接數(shù)據(jù)庫(kù)的類設(shè)計(jì)如下:packagedatabase;importjava.sql.Connection;importjava.sql.DriverManager;publicclassDataBaseConnection{ publicstaticConnectioncreateDBConn(){ try{ Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); Connectionconn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=Student_system","supiyun","supiyun1989828"); returnconn; }catch(Exceptione){ e.printStackTrace(); returnnull; } } }2.程序界面設(shè)計(jì):通過(guò)程序的要求可知該程序有jsp頁(yè)面或Html頁(yè)面以及servlet組成。Jsp要緊負(fù)責(zé)與用戶的交互實(shí)現(xiàn)視圖頁(yè)面的功能,而servlet要緊負(fù)責(zé)頁(yè)面跳轉(zhuǎn)操縱以及數(shù)據(jù)處理的功能。由實(shí)驗(yàn)的要求具體的實(shí)驗(yàn)設(shè)計(jì)如下:A、用戶通過(guò)一個(gè)登陸頁(yè)面,輸入用戶名、密碼,然后該jsp頁(yè)面將請(qǐng)求發(fā)送給處理用戶身份驗(yàn)證的servlet,該servlet獵取數(shù)據(jù)庫(kù)的信息進(jìn)行校驗(yàn),假如用戶的身份合法則跳轉(zhuǎn)到應(yīng)用程序的主界面,否則給出錯(cuò)誤的提示信息,同時(shí)要求用戶重新輸入用戶名和密碼重新登陸。登陸頁(yè)面的設(shè)計(jì)圖如下所示:B、關(guān)于程序的主界面要緊實(shí)現(xiàn)關(guān)于用戶需要的導(dǎo)航功能以及實(shí)現(xiàn)具體的操作功能。該程序的主界面要緊有三個(gè)Html的Framset構(gòu)成,分不為topFrame,leftFrame,mainFrame組成,leftFrame要緊實(shí)現(xiàn)程序的導(dǎo)航,而mainFrame具體的實(shí)現(xiàn)程序的功能。主界面設(shè)計(jì)界面如下:C、具體的功能設(shè)計(jì)如下<1>學(xué)生個(gè)人成績(jī)查詢:學(xué)生通過(guò)輸入學(xué)號(hào)能夠查詢學(xué)生所學(xué)科目的因此成績(jī)。<2>課程治理:該模塊要緊實(shí)現(xiàn)對(duì)課程的新增、已有課程的查詢以及對(duì)每門課程成績(jī)的錄入功能的導(dǎo)航。課程的新增:如有新的課程需要新增,則用戶通過(guò)提示輸入課程編號(hào)、課程名稱、授課教師名字實(shí)現(xiàn)課程的新增。科目成績(jī)治理:通過(guò)該功能,用戶能夠?qū)崿F(xiàn)對(duì)指定的科目的成績(jī)治理,修改或者新增功能。用戶能夠查詢對(duì)應(yīng)的科目增加或修改成績(jī)。查看已有課程:通過(guò)查看已有的科目能夠?qū)崿F(xiàn)對(duì)已有科目的信息的修改、刪除以及學(xué)生成績(jī)添加、修改的功能。<3>學(xué)生信息治理:通過(guò)該模塊能夠?qū)崿F(xiàn)對(duì)學(xué)生個(gè)人信息的查詢、新增、修改的功能。學(xué)生個(gè)人信息查詢:輸入學(xué)號(hào)或姓名能夠查看學(xué)生的差不多信息。學(xué)生個(gè)人信息添加:依照提示輸入學(xué)生的各項(xiàng)差不多,提交添加學(xué)生信息。學(xué)生信息修改:輸入學(xué)生學(xué)號(hào)或姓名查找到學(xué)生信息,對(duì)學(xué)生信息進(jìn)行修改提交。<4>退出登錄:結(jié)束會(huì)話,返回至登錄頁(yè)面。3.servlet設(shè)計(jì):Servlet要緊負(fù)責(zé)對(duì)頁(yè)面請(qǐng)求的跳轉(zhuǎn)和對(duì)數(shù)據(jù)庫(kù)的操作功能。該程序要緊有如下的servlet,分不為:1.AddCourse_Serverlet:添加課程packageservlet;importjava.io.IOException;importjava.io.PrintWriter;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importdatabase.DataBaseConnection;importjava.sql.*;publicclassAddCourse_ServerletextendsHttpServlet{ publicAddCourse_Serverlet(){ super(); } publicvoiddestroy(){ super.destroy();//Justputs"destroy"stringinlog //Putyourcodehere } publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ this.doPost(request,response); } publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ Connectionconn=DataBaseConnection.createDBConn(); PrintWriterout=response.getWriter(); Statementst=null; try{st=conn.createStatement(); }catch(SQLExceptione){ e.printStackTrace(); } Stringnumber; Stringname; Stringteacher; number=request.getParameter("number"); name=request.getParameter("name"); teacher=request.getParameter("teacher_name"); if(number!=null&&number.length()!=0){ number=newString(number.trim().getBytes("ISO-8859-1"),"utf-8"); } if(name!=null&&name.length()!=0){ name=newString(name.trim().getBytes("ISO-8859-1"),"utf-8"); } if(teacher!=null&&teacher.length()!=0){ teacher=newString(teacher.trim().getBytes("ISO-8859-1"),"utf-8"); } try{ st.executeUpdate("insertintoCourse(Course_NO,Course_Name,Teacher_Name)values('"+number+"','"+name+"','"+teacher+"')"); }catch(SQLExceptione){ e.printStackTrace(); } out.println("success!"); } publicvoidinit()throwsServletException{ //Putyourcodehere }}2.addStudentInformation:添加課程信息packageservlet;importjava.io.IOException;importjava.io.PrintWriter;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjava.sql.*;importdatabase.DataBaseConnection;publicclassaddStudentInformationextendsHttpServlet{ publicaddStudentInformation(){ super(); } /** *Destructionoftheservlet.<br> */ publicvoiddestroy(){ super.destroy();//Justputs"destroy"stringinlog //Putyourcodehere } publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ this.doPost(request,response); } publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ Connectionconn=DataBaseConnection.createDBConn(); PrintWriterout=response.getWriter(); Statementst=null; try{st=conn.createStatement(); }catch(SQLExceptione){ e.printStackTrace(); } Stringnumber=null; Stringname=null; Stringsclass=null; Stringsex=null; Stringacademy=null; Stringprofessional=null; Stringtime=null; number=request.getParameter("number"); name=request.getParameter("name"); sclass=request.getParameter("sclass"); sex=request.getParameter("sex"); academy=request.getParameter("academy"); professional=request.getParameter("professional"); time=request.getParameter("time"); if(number!=null&&number.length()!=0){ number=newString(number.trim().getBytes("ISO-8859-1"),"utf-8"); } if(name!=null&&name.length()!=0){ name=newString(name.trim().getBytes("ISO-8859-1"),"utf-8"); } if(sclass!=null&&sclass.length()!=0){ sclass=newString(sclass.trim().getBytes("ISO-8859-1"),"utf-8"); } if(sex!=null&&sex.length()!=0){ sex=newString(sex.trim().getBytes("ISO-8859-1"),"utf-8"); } if(academy!=null&&academy.length()!=0){ academy=newString(academy.trim().getBytes("ISO-8859-1"),"utf-8"); } if(professional!=null&&professional.length()!=0){ professional=newString(professional.trim().getBytes("ISO-8859-1"),"utf-8"); } if(time!=null&&time.length()!=0){ time=newString(time.trim().getBytes("ISO-8859-1"),"utf-8"); } try{ st.executeUpdate("insertintoStudentvalues('"+number+"','"+name+"','"+sclass+"','"+sex+"','"+academy+"','"+professional+"','"+time+"')"); }catch(SQLExceptione){ e.printStackTrace(); } out.println("success!"); } publicvoidinit()throwsServletException{ //Putyourcodehere }}3.CourseManagement:課程操作操縱packageservlet;importjava.io.IOException;importjava.io.PrintWriter;importjava.sql.Connection;importjava.sql.SQLException;importjava.sql.Statement;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importdatabase.DataBaseConnection;publicclassCourseManagementextendsHttpServlet{ publicCourseManagement(){ super(); } publicvoiddestroy(){ super.destroy();//Justputs"destroy"stringinlog //Putyourcodehere } publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ this.doPost(request,response); } publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ Stringoperation; StringID; Stringnumber; Stringname; Stringteacher_name; response.setContentType("text/html"); Connectionconn=DataBaseConnection.createDBConn(); PrintWriterout=response.getWriter(); Statementst=null; try{st=conn.createStatement(); }catch(SQLExceptione){ e.printStackTrace(); } operation=request.getParameter("operation"); ID=request.getParameter("id"); number=request.getParameter("number"); name=request.getParameter("name"); teacher_name=request.getParameter("teacher_name"); if(ID!=null&&ID.length()!=0){ ID=newString(ID.getBytes("ISO-8859-1"),"utf-8"); } if(number!=null&&number.length()!=0){ number=newString(number.getBytes("ISO-8859-1"),"utf-8"); } if(name!=null&&name.length()!=0){ name=newString(name.getBytes("ISO-8859-1"),"utf-8"); } if(teacher_name!=null&&teacher_name.length()!=0){ teacher_name=newString(teacher_name.getBytes("ISO-8859-1"),"utf-8"); } if(operation.equals("delete")){ try{ st.execute("deletefromCoursewhereCourse_NO='"+ID+"'"); }catch(SQLExceptione){ e.printStackTrace(); out.print("deletefail!"); } } if(operation.equals("edit")){ response.sendRedirect("CourseEdit.jsp?id="+ID+""); } if(operation.equals("update")){ try{st.executeUpdate("updateCoursesetCourse_Name='"+name+"',Teacher_Name='"+teacher_name+"'whereCourse_No='"+number+"'"); }catch(Exceptione){ e.printStackTrace(); } } } publicvoidinit()throwsServletException{ //Putyourcodehere }}4.Login_control:登錄操縱packageservlet;importjava.io.IOException;importjava.io.PrintWriter;importjava.sql.Connection;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjavax.servlet.http.HttpSession;importdatabase.DataBaseConnection;publicclassLogin_controlextendsHttpServlet{ publicLogin_control(){ super(); } publicvoiddestroy(){ super.destroy();//Justputs"destroy"stringinlog //Putyourcodehere } publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{this.doPost(request,response); } publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ response.setContentType("text/html;charset=utf-8"); inttimes=0; Stringtemp=null; finalPrintWriterout=response.getWriter(); finalConnectionconn=DataBaseConnection.createDBConn();HttpSessionsession=request.getSession(); Statementselect; ResultSetrs=null; Stringname=request.getParameter("Name"); if(name!=null&&name.length()!=0){ name=newString(name.getBytes("ISO-8859-1"),"utf-8"); } Stringpassword=request.getParameter("Password"); if(password!=null&&password.length()!=0){ password=newString(password.getBytes("ISO-8859-1"),"utf-8"); } try{ select=conn.createStatement(); rs=select.executeQuery("selectPasswordfromUserswhereU_Name='"+name+"'"); }catch(finalExceptione){ e.printStackTrace(); select=null; } try{ while(rs.next()){ temp=rs.getString("Password"); times++; } }catch(finalSQLExceptione){ } if(times==1&&temp.equals(password)){ session.setAttribute(name,"Name"); response.sendRedirect("Main.html"); try{ conn.close(); }catch(finalSQLExceptione){ e.printStackTrace(); } } else{ out.println("密碼輸入錯(cuò)誤"); out.println("<ahref=Login.jsp>返回登錄頁(yè)面</a>"); } } publicvoidinit()throwsServletException{ //Putyourcodehere }}三、程序?qū)崿F(xiàn)1.登錄:用戶名或密碼輸入有誤:登錄成功顯示主界面:成績(jī)查詢:(輸入學(xué)號(hào)200710405223查詢結(jié)果)課程治理:課程治理分類導(dǎo)航:添加課程:添加成功:編輯成績(jī):該模塊實(shí)現(xiàn)對(duì)課程的信息的修改以及增加該門課程的學(xué)生成績(jī).查看已有課程(輸入上一步添加的課程編號(hào):200710進(jìn)行查詢)學(xué)生信息治理:學(xué)生信息治理導(dǎo)航界面:學(xué)生個(gè)人信息查詢:(輸入學(xué)號(hào)200710405223進(jìn)行查詢)學(xué)生個(gè)人信息添加:四、總結(jié)本次試驗(yàn)是在自己看書查看相關(guān)資料完成的,盡管程序簡(jiǎn)單,實(shí)現(xiàn)功能不多,然而通過(guò)本次試驗(yàn)我真正的認(rèn)識(shí)了web開(kāi)發(fā)。該學(xué)生成績(jī)治理系統(tǒng),要緊實(shí)現(xiàn)了學(xué)生信息治理、課程治理以及學(xué)生成績(jī)治理。每一個(gè)模塊實(shí)現(xiàn)的功能簡(jiǎn)單,要緊為查詢、修改、新增。Jsp頁(yè)面要緊實(shí)現(xiàn)頁(yè)面展示的功能,而servlet則負(fù)責(zé)頁(yè)面請(qǐng)求的跳轉(zhuǎn)以及對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)的更新操作。本程序依舊存在設(shè)計(jì)和實(shí)現(xiàn)上的問(wèn)題,關(guān)于jsp頁(yè)面與Java代碼的分離,處理的不是專門好,關(guān)于一些需求與數(shù)據(jù)庫(kù)交互的頁(yè)面依舊在頁(yè)面中插入了大量的Java代碼。而關(guān)于數(shù)據(jù)庫(kù)的查詢和更新功能,依舊通過(guò)具體的sql語(yǔ)句實(shí)現(xiàn),未實(shí)現(xiàn)在對(duì)象的操作中獵取和更改數(shù)據(jù)未體現(xiàn)面相對(duì)象的設(shè)計(jì)思想。同時(shí)通過(guò)測(cè)試可知程序在效率方面做得專門差,關(guān)于數(shù)據(jù)的查詢和頁(yè)面加載方面需要一定的等待時(shí)刻,需要在頁(yè)面設(shè)計(jì)和數(shù)據(jù)庫(kù)的操作方面做處理。同時(shí)關(guān)于數(shù)據(jù)庫(kù)未使用存儲(chǔ)過(guò)程等數(shù)據(jù)庫(kù)方面的知識(shí)來(lái)改進(jìn)效率。因此程序中依舊有專門大的不足,望老師加以批判和指正。第三個(gè):學(xué)生成績(jī)治理系統(tǒng)importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;classMyPanelextendsJPanel{Imageimg=Toolkit.getDefaultToolkit().getImage("c:/a.jpg");publicvoidpaint(Graphicsg){g.drawImage(img,0,0,this);}}publicclassMainFormextendsJFrameimplementsActionListener{JMenumSystem=newJMenu("系統(tǒng)");JMenuItemmExit=newJMenuItem("退出");JMenumOperate=newJMenu("數(shù)據(jù)操作");JMenuItemmAdd=newJMenuItem("添加");JMenuItemmDel=newJMenuItem("刪除");JMenuItemmModify=newJMenuItem("修改");JMenuItemmBrowse=newJMenuItem("掃瞄");JMenumQuery=newJMenu("查詢");JMenuItemmNumber=newJMenuItem("按學(xué)號(hào)查詢");JMenuItemmScore=newJMenuItem("按成績(jī)查詢");JMenumHelp=newJMenu("關(guān)心");JMenuItemmAbout=newJMenuItem("關(guān)于");JMenuBarmBar=newJMenuBar();MainForm(){super("學(xué)生成績(jī)治理系統(tǒng)");setSize(700,630);setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);mSystem.add(mExit);mOperate.add(mAdd);mOperate.add(mDel);mOperate.add(mModify);mOperate.add(mBrowse);mQuery.add(mNumber);mQuery.add(mScore);

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論