javaEE學(xué)生個(gè)人成績(jī)管理系統(tǒng).doc
《javaEE學(xué)生個(gè)人成績(jī)管理系統(tǒng).doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《javaEE學(xué)生個(gè)人成績(jī)管理系統(tǒng).doc(24頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
軟 件 學(xué) 院課程設(shè)計(jì)報(bào)告書課程名稱 java web 程序設(shè)計(jì)教程課程設(shè)計(jì) 設(shè)計(jì)題目 學(xué)生個(gè)人成績(jī)管理系統(tǒng) 專業(yè)班級(jí) 學(xué) 號(hào) 姓 名 指導(dǎo)教師 2011年 12 月目錄1 設(shè)計(jì)時(shí)間:12 設(shè)計(jì)目的13設(shè)計(jì)任務(wù)14 設(shè)計(jì)內(nèi)容14.11需求分析14.12系統(tǒng)功能圖24.13數(shù)據(jù)庫(kù)設(shè)計(jì)24.2詳細(xì)設(shè)計(jì)34.21各子系統(tǒng)的詳細(xì)設(shè)計(jì)34.22抽象數(shù)據(jù)類型的定義44.2.3運(yùn)行界面54.2.4主要代碼75總結(jié)期望19參考文獻(xiàn)21成績(jī)?cè)u(píng)定211 設(shè)計(jì)時(shí)間:2011-12-122011-12-162 設(shè)計(jì)目的JavaEE課程設(shè)計(jì)是對(duì)所學(xué)JavaEE與中間件課程的小結(jié),是提高學(xué)生對(duì)所學(xué)知識(shí)綜合應(yīng)用能力的一種方式,是集中實(shí)踐性環(huán)節(jié)之一。要求同學(xué)們對(duì)課程中所學(xué)習(xí)到的知識(shí)綜合運(yùn)用,開發(fā)有一定規(guī)模的Java Web程序。3設(shè)計(jì)任務(wù)設(shè)計(jì)一個(gè)學(xué)生個(gè)人成績(jī)管理系統(tǒng)包括以下功能:(1)用戶以合法身份登錄系統(tǒng)后,才能進(jìn)行所有操作;用戶可以添加、查看、修改和刪除自己的成績(jī)信息;計(jì)算各課程的平均分。(2)添加學(xué)生成績(jī):學(xué)生添加成績(jī)信息(包括學(xué)號(hào)、姓名、課程名稱、成績(jī));(3)查看學(xué)生成績(jī):查看所有課程的成績(jī);(4)刪除成績(jī):學(xué)生可以刪除自己的成績(jī);(5)計(jì)算成績(jī)平均分:計(jì)算出所有成績(jī)的平均分4 設(shè)計(jì)內(nèi)容4.1概要設(shè)計(jì)4.11需求分析 成績(jī)管理成為學(xué)校教學(xué)管理中十分重要又相當(dāng)復(fù)雜的管理工作之一,單純的采用傳統(tǒng)的手工處理已經(jīng)不符合教育和管理的要求,而計(jì)算機(jī)具有運(yùn)算速度快,處理能力強(qiáng)等特點(diǎn),很自然地進(jìn)入到這一應(yīng)用領(lǐng)域中。因此為了保證學(xué)校的信息流暢,工作高效,有必要設(shè)計(jì)一個(gè)學(xué)生成績(jī)管理系統(tǒng)。這不但能使教務(wù)人員從復(fù)雜的成績(jī)管理中解脫出來(lái),而且對(duì)于推動(dòng)教學(xué)的發(fā)展也起到了非常重要的作用。隨著學(xué)校規(guī)模的不斷擴(kuò)大,專業(yè),班級(jí),學(xué)生的數(shù)量急劇增加,有關(guān)學(xué)生成績(jī)的各種信息量也成倍增長(zhǎng),而目前許多高校的學(xué)生成績(jī)管理仍停留在復(fù)雜的人工操作上,重復(fù)工作較多,工作量大,效率低,因此,迫切需要開發(fā)基于互聯(lián)網(wǎng)的個(gè)人成績(jī)管理系統(tǒng)。此次課程設(shè)計(jì)為設(shè)計(jì)一個(gè)就是設(shè)計(jì)一個(gè)這樣的學(xué)生個(gè)人成績(jī)管理系統(tǒng),該系統(tǒng)要求用戶以合法身份登錄后才能進(jìn)行所有操作。該用戶可以添加、查看、修改和刪除自己的學(xué)生成績(jī)信息及計(jì)算各成績(jī)的平均分。4.1.2系統(tǒng)功能圖: 學(xué)生個(gè)人信息管理系統(tǒng)用戶以合法身份登錄添加學(xué)生成績(jī)查看學(xué)生成績(jī)刪除學(xué)生成績(jī)計(jì)算平均成績(jī)修改學(xué)生成績(jī)4.1.3數(shù)據(jù)庫(kù)設(shè)計(jì):在數(shù)據(jù)庫(kù)中建立Scores表包括:(字段名稱,數(shù)據(jù)類型,長(zhǎng)度,字段描述)。Scores表: 表1-1字段名稱數(shù)據(jù)類型長(zhǎng)度字段描述idint4主鍵,自增長(zhǎng)snoint4學(xué)號(hào)snamevarchar50姓名cnamevarchar50課程名gradeint4成績(jī) 4.2詳細(xì)設(shè)計(jì)程序流程圖:NY開始用戶登錄是否成功查看學(xué)生成績(jī)刪除學(xué)生成績(jī)添加學(xué)生成績(jī)計(jì)算平均成績(jī)結(jié)束4.2.1各子系統(tǒng)的詳細(xì)設(shè)計(jì)1.登錄子系統(tǒng)“index.jsp”用于用戶登錄,輸入用戶名和密碼登錄失敗時(shí)跳轉(zhuǎn)到“error.jsp”頁(yè)面,重新輸入用戶名和密碼。登錄成功進(jìn)入“success.jsp”頁(yè)面,點(diǎn)擊相應(yīng)按鈕進(jìn)行相應(yīng)操作。2.查詢子系統(tǒng)“showAllScore.jsp”用于顯示所有成績(jī)信息包括:學(xué)號(hào),姓名,課程名,成績(jī)。建立超鏈接到其他三個(gè)子系統(tǒng)的頁(yè)面。3.刪除子系統(tǒng)“delete.jsp”用于刪除成績(jī),輸入要?jiǎng)h除的學(xué)號(hào)點(diǎn)擊刪除。4.添加子系統(tǒng)Add.jsp用于填加成績(jī),輸入要添加的數(shù)據(jù),點(diǎn)擊添加。5.計(jì)算平均成績(jī)子系統(tǒng) “acc.jsp”用于計(jì)算平均成績(jī),點(diǎn)擊進(jìn)入所對(duì)應(yīng)的servlet進(jìn)行處理。4.2.2 抽象數(shù)據(jù)類型的定義所需要導(dǎo)入的包及建立的包表4-1 包定義表包名類名功能com.scores.daoscores .Dao.java增加信息顯示信息刪除信息平均成績(jī)信息com.scores.domainscores.java成績(jī)屬性User.java用戶屬性com.scores .serviceScores Service.java成績(jī)服務(wù)UserService.java用戶服務(wù)com. scores.servletAcctServlet.java計(jì)算平均成績(jī)控制層DeleteServlet.java刪除成績(jī)控制層UpdateServlet.java修改成績(jī)控制層LoginServlet.java登錄控制層AddServlet.java添加成績(jī)控制層表4-2 頁(yè)面定義表頁(yè)面名稱作用add.jsp添加頁(yè)面delete.jsp刪除頁(yè)面update,jsp修改頁(yè)面error.jsp登陸失敗頁(yè)面,返回登錄界面index.jsp用戶界面Sava.jsp操作頁(yè)面ShowAllCost.jsp顯示頁(yè)面success.jsp登陸成功頁(yè)面,跳轉(zhuǎn)至用戶界面acci.jsp計(jì)算平均成績(jī)頁(yè)面4.2.3運(yùn)行界面登錄界面如下 登錄成功和失敗的頁(yè)面如下: 增刪改查操作的成績(jī)表格:添加后表為:刪除掉張思成績(jī)后表格如下:將李四的成績(jī)改為99后表格如下:4.2.4主要代碼1.登錄的JSP代碼: 用戶名 密 碼 登錄失敗進(jìn)入error.jsp頁(yè)面重新輸入用戶名和密碼,登錄成功進(jìn)入success.jsp頁(yè)面,進(jìn)行相關(guān)操作。2.SERVLET控制層代碼:添加成績(jī)代碼:public class AddServlet extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException ScoreService scoreservice=new ScoreService(); List list=scoreservice.getAddScores(); request.setAttribute(allscores, list); request.getRequestDispatcher(/add.jsp).forward(request, response);刪除成績(jī)代碼:public class DeleteServlet extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException ScoreService scoreservice=new ScoreService(); List list=scoreservice.getDeleteScores(); request.setAttribute(allscores, list); request.getRequestDispatcher(/delete.jsp).forward(request, response);修改成績(jī)代碼public class UpdateServlet extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException ScoreService scoreservice=new ScoreService(); List list=scoreservice.getAddScores(); request.setAttribute(allscores, list); request.getRequestDispatcher(/update.jsp).forward(request, response);查詢成績(jī)代碼:public class ScoreServlet extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException ScoreService scoreservice=new ScoreService(); List list=scoreservice.getAllScores(); request.setAttribute(allscores, list); request.getRequestDispatcher(/showAllScores.jsp).forward(request, response);計(jì)算平均成績(jī)代碼:public class ScoreServlet extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException ScoreService scoreservice=new ScoreService(); List list=scoreservice.getAllScores(); request.setAttribute(allscores, list); request.getRequestDispatcher(/acc.jsp).forward(request, response);3.DAO層代碼:DAO類的類名為“ScoreDao”,該類使用JDBC技術(shù)實(shí)現(xiàn),用于和數(shù)據(jù)庫(kù)交互,進(jìn)行相關(guān)的增、刪、改、查操作,它的實(shí)現(xiàn)代碼如下:public class ScoreDAO private static Score scores;public static List getAllScores()Connection con=DBConnection.getConnection();tryList list=new ArrayList();PreparedStatement ps=con.prepareStatement(select*from scores);ResultSet rs=ps.executeQuery();while(rs.next() Score score=new Score(); score.setSno(rs.getInt(sno); score.setSname(rs.getString(sname);score.setCname(rs.getString(cname); score.setGrade(rs.getInt(grade); list.add(score);con.commit();return list; catch(SQLException e) e.printStackTrace(); return null;public static List getAddScores() throws SQLExceptionConnection con=DBConnection.getConnection(); tryList list=new ArrayList();PreparedStatement ps=con.prepareStatement(insert into scores(sno,sname,cname,grade)values(?,?,?,?);ResultSet rs=ps.executeQuery();while(rs.next() Score score=new Score(); score.setSno(rs.getInt(sno); score.setSname(rs.getString(sname); score.setCname(rs.getString(cname); score.setGrade(rs.getInt(grade); list.add(score);return list; catch(SQLException e) e.printStackTrace(); return null;public static List getDeleteScores()Connection con=DBConnection.getConnection();tryList list=new ArrayList();PreparedStatement ps=con.prepareStatement(delete*from scores where id=?);ResultSet rs=ps.executeQuery();while(rs.next() Score score=new Score(); score.setSno(rs.getInt(sno); score.setSname(rs.getString(sname); score.setCname(rs.getString(cname); score.setGrade(rs.getInt(grade); list.add( score);return list; catch(SQLException e) e.printStackTrace(); return null;public static List getUpdateScores()Connection con=DBConnection.getConnection();tryList list=new ArrayList();PreparedStatement ps=con.prepareStatement(update*scores set sno=? sname=? cname=? grade=?);ResultSet rs=ps.executeQuery();while(rs.next() Score score=new Score(); score.setSno(rs.getInt(sno); score.setSname(rs.getString(sname); score.setCname(rs.getString(cname); score.setGrade(rs.getInt(grade); list.add(score);return list; catch(SQLException e) e.printStackTrace(); return null;public static List getAccScores()Connection con=DBConnection.getConnection();tryList list=new ArrayList();PreparedStatement ps=con.prepareStatement(select*from scores);ResultSet rs=ps.executeQuery();while(rs.next() Score score=new Score(); score.setSno(rs.getInt(sno); score.setSname(rs.getString(sname); score.setCname(rs.getString(cname); score.setGrade(rs.getInt(grade); list.add(score);return list; catch(SQLException e) e.printStackTrace(); return null;4.SERVICE層代碼:public class ScoreService public List getAllScores()ScoreDAO soreDAO=new ScoreDAO(); return ScoreDAO.getAllScores();public List getAddScores()ScoreDAO soreDAO=new ScoreDAO();return ScoreDAO.getAddScores();public List getDeleteScores()ScoreDAO soreDAO=new ScoreDAO(); return ScoreDAO.getDeleteScores();public List getUpdateScores() ScoreDAO soreDAO=new ScoreDAO(); return ScoreDAO.getUpdateScores();public class UserService public static boolean CheckLogin(User user)if(user.getUsername().equals(admain)&user.getPassword().equals(123456)return true;return false;5.實(shí)體類代碼:Score實(shí)體: User實(shí)體:public class Score public class User private int sno; private String username;private String sname; private String password; /生成set和get方法private String cname;private int grade;/生成set和get方法6.連接數(shù)據(jù)庫(kù)代碼:public class DBConnection public static Connection getConnection() final String driverName=com.microsoft.jdbc.sqlserver.SQLServerDriver; final String url=jdbc:microsoft:sqlserver:/localhost:1433;databasename=mydb; try Class.forName(driverName); catch(ClassNotFoundException e) e.printStackTrace(); try Connection con=DriverManager.getConnection(url,sa,sa); con.setAutoCommit(false); System.out.println(con); return con; catch(SQLException e) e.printStackTrace(); return null; 7. JSP頁(yè)面:showAllScores.jsp: 學(xué)號(hào) 姓名 課程名 成績(jī) 添加成績(jī) 刪除成績(jī) 修改成績(jī) 計(jì)算平均成績(jī) Save.jsp: 學(xué)號(hào) 姓名 課程名 成績(jī) 增刪改查操作jsp頁(yè)面: 學(xué)號(hào) 姓名 課程 成績(jī) 配置文件WEB.XML This is the description of my J2EE component This is the display name of my J2EE component LoginServlet com.scores.servlet.LoginServlet This is the description of my J2EE component This is the display name of my J2EE component AddServlet com.scores.servlet.AddServlet This is the description of my J2EE component This is the display name of my J2EE component DeleteServlet com.scores.servlet.DeleteServlet This is the description of my J2EE component This is the display name of my J2EE component ScoreServlet com.scores.servlet.ScoreServlet This is the description of my J2EE component This is the display name of my J2EE component UpdateServlet com.scores.servlet.UpdateServlet This is the description of my J2EE component This is the display name of my J2EE component AccServlet com.scores.servlet.AccServlet LoginServlet /servlet/LoginServlet AddServlet /servlet/AddServlet DeleteServlet /servlet/DeleteServlet ScoreServlet /servlet/ScoreServlet UpdateServlet /servlet/UpdateServlet AccServlet /servlet/AccServlet index.jsp 5 總結(jié)與展望經(jīng)歷了一周的javaEE課程設(shè)計(jì),我收獲了很多,也感悟了很多。第一,在樂(lè)趣中學(xué)習(xí),在學(xué)習(xí)中尋找樂(lè)趣。學(xué)習(xí)任何東西時(shí),興趣是最好的老師,如果你每天只是把寫程序當(dāng)作謀生的手段的話,那樣你學(xué)習(xí)起來(lái)也會(huì)很枯燥無(wú)味,也會(huì)學(xué)的很累。第二,在實(shí)踐中體會(huì)理論,在理論中理解實(shí)踐。上課的時(shí)候認(rèn)真聽(tīng)老師講解,一些概念知識(shí)慢慢去理解,課后多做練習(xí),熟能生巧,哪怕是你的記性再好,課后不去強(qiáng)化練習(xí)也沒(méi)用,只有多練了,當(dāng)你在做項(xiàng)目時(shí)你才能很熟練的寫出你想要代碼。平日在練習(xí)時(shí)若遇到不會(huì)的題目或是在項(xiàng)目中遇到解決不了的問(wèn)題,首先不要急著去問(wèn)老師,或是急著上百度搜答案,那樣即使你得到了正確答案,以后在其它地方遇到同樣的問(wèn)題,你還是不知道怎么解決!所以說(shuō),在遇到問(wèn)題時(shí),自己先想想要怎么解決,回顧一下老師上課的內(nèi)容,如果自己還是想不出什么好方法的話,也可以向同學(xué)請(qǐng)教請(qǐng)教,自己不懂的地方其他同學(xué)可能知道。如果還是沒(méi)能解決,那只有問(wèn)老師或是上網(wǎng)搜索查找相應(yīng)的解決方法了。好好理解其解決思路。第三,在操作中尋找不足,在更改中進(jìn)步。不要滿足于現(xiàn)狀,要不斷完善自己的知識(shí)體系,善于總結(jié)實(shí)踐經(jīng)驗(yàn)。要端正自己的學(xué)習(xí)態(tài)度,是主動(dòng)去學(xué),而不是被動(dòng)!提高自學(xué)能力。學(xué)習(xí)編程的秘訣是:編程、編程、再編程。不僅要多實(shí)踐,而且要快實(shí)踐。我們?cè)诳磿臅r(shí)候,不要等到你完全理解了才動(dòng)手敲,而是應(yīng)該在看書的同時(shí)敲,程序運(yùn)行的各種情況可以讓你更快更牢固的掌握知識(shí)點(diǎn)。程序代碼是軟件開發(fā)最重要的成果之一,其中滲透了程序員的思想與靈魂。第四,總結(jié)收獲和感悟??傮w上來(lái)講,在本次課程設(shè)計(jì)的過(guò)程中,我收獲了很多知識(shí)以外的東西,對(duì)javaEE有了進(jìn)一步了解。做事情要主動(dòng)尋找其中樂(lè)趣,還要多多開動(dòng)腦筋,積極思考,不怕犯錯(cuò),只有正視錯(cuò)誤,才能在一次次的不斷修改錯(cuò)誤,不斷運(yùn)行中,嘗試中得到進(jìn)步,從而獲得根本性的提高。今后,我會(huì)更加努力學(xué)習(xí),爭(zhēng)取將所學(xué)知識(shí)與時(shí)間操作完美的結(jié)合起來(lái),真正做到理論與實(shí)踐兼?zhèn)涞娜耍屪约翰粩嗵岣吆屯晟?。參考文獻(xiàn)1 屈輝立,陳可明,石武信.JSP網(wǎng)站編程教程M.第1版, 北京:北京希望電子出版社,2005 2 白勇.用B/S模式構(gòu)建在線考試系統(tǒng)J,重慶電力高等??茖W(xué)校學(xué)報(bào),2003,10(4): 100130. 3 Jiang Guo,Yuehong Liao,Behzad Parviz.A Survey of J2EE Application Performance Management SystemsJ,Proceedings of the IEEE International Conference on Web Services (ICWS04),2004.6(5):1732.4 javaEE管理范例:http:/www.vbnew.net/down/2j.asp?id=14&cid=23EB/OL 成績(jī)?cè)u(píng)定 成績(jī) 教師簽字- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- javaEE 學(xué)生 個(gè)人 成績(jī)管理系統(tǒng)
鏈接地址:http://www.szxfmmzy.com/p-6594707.html