版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、軟 件 學 院課程設計報告書課程名稱 java web 程序設計教程課程設計 設計題目 學生個人成績管理系統(tǒng) 專業(yè)班級 學 號 姓 名 指導教師 2011年 12 月目錄1 設計時間:12 設計目的13設計任務14 設計內容14.11需求分析14.12系統(tǒng)功能圖24.13數(shù)據(jù)庫設計24.2詳細設計34.21各子系統(tǒng)的詳細設計34.22抽象數(shù)據(jù)類型的定義4運行界面5主要代碼75總結期望19參考文獻21成績評定211 設計時間:2011-12-122011-12-162 設計目的JavaEE課程設計是對所學JavaEE與中間件課程的小結,是提高學生對所學知識綜合應用能力的一種方式,是集中實踐性環(huán)節(jié)
2、之一。要求同學們對課程中所學習到的知識綜合運用,開發(fā)有一定規(guī)模的Java Web程序。3設計任務設計一個學生個人成績管理系統(tǒng)包括以下功能:(1)用戶以合法身份登錄系統(tǒng)后,才能進行所有操作;用戶可以添加、查看、修改和刪除自己的成績信息;計算各課程的平均分。(2)添加學生成績:學生添加成績信息(包括學號、姓名、課程名稱、成績);(3)查看學生成績:查看所有課程的成績;(4)刪除成績:學生可以刪除自己的成績;(5)計算成績平均分:計算出所有成績的平均分4 設計內容4.1概要設計4.11需求分析 成績管理成為學校教學管理中十分重要又相當復雜的管理工作之一,單純的采用傳統(tǒng)的手工處理已經(jīng)不符合教育和管理的
3、要求,而計算機具有運算速度快,處理能力強等特點,很自然地進入到這一應用領域中。因此為了保證學校的信息流暢,工作高效,有必要設計一個學生成績管理系統(tǒng)。這不但能使教務人員從復雜的成績管理中解脫出來,而且對于推動教學的發(fā)展也起到了非常重要的作用。隨著學校規(guī)模的不斷擴大,專業(yè),班級,學生的數(shù)量急劇增加,有關學生成績的各種信息量也成倍增長,而目前許多高校的學生成績管理仍停留在復雜的人工操作上,重復工作較多,工作量大,效率低,因此,迫切需要開發(fā)基于互聯(lián)網(wǎng)的個人成績管理系統(tǒng)。此次課程設計為設計一個就是設計一個這樣的學生個人成績管理系統(tǒng),該系統(tǒng)要求用戶以合法身份登錄后才能進行所有操作。該用戶可以添加、查看、修
4、改和刪除自己的學生成績信息及計算各成績的平均分。4.1.2系統(tǒng)功能圖: 學生個人信息管理系統(tǒng)用戶以合法身份登錄添加學生成績查看學生成績刪除學生成績計算平均成績修改學生成績4.1.3數(shù)據(jù)庫設計:在數(shù)據(jù)庫中建立Scores表包括:(字段名稱,數(shù)據(jù)類型,長度,字段描述)。Scores表: 表1-1字段名稱數(shù)據(jù)類型長度字段描述idint4主鍵,自增長snoint4學號snamevarchar50姓名cnamevarchar50課程名gradeint4成績 4.2詳細設計程序流程圖:NY開始用戶登錄是否成功查看學生成績刪除學生成績添加學生成績計算平均成績結束4.2.1各子系統(tǒng)的詳細設計1.登錄子系統(tǒng)“i
5、ndex.jsp”用于用戶登錄,輸入用戶名和密碼登錄失敗時跳轉到“error.jsp”頁面,重新輸入用戶名和密碼。登錄成功進入“success.jsp”頁面,點擊相應按鈕進行相應操作。2.查詢子系統(tǒng)“showAllScore.jsp”用于顯示所有成績信息包括:學號,姓名,課程名,成績。建立超鏈接到其他三個子系統(tǒng)的頁面。3.刪除子系統(tǒng)“delete.jsp”用于刪除成績,輸入要刪除的學號點擊刪除。4.添加子系統(tǒng)Add.jsp用于填加成績,輸入要添加的數(shù)據(jù),點擊添加。5.計算平均成績子系統(tǒng) “acc.jsp”用于計算平均成績,點擊進入所對應的servlet進行處理。4.2.2 抽象數(shù)據(jù)類型的定義所
6、需要導入的包及建立的包表4-1 包定義表包名類名功能scores .Dao.java增加信息顯示信息刪除信息平均成績信息com.scores.domainscores.java成績屬性User.java用戶屬性com.scores .serviceScores Service.java成績服務UserService.java用戶服務com. scores.servletAcctServlet.java計算平均成績控制層DeleteServlet.java刪除成績控制層UpdateServlet.java修改成績控制層LoginServlet.java登錄控制層AddServlet.java添加
7、成績控制層表4-2 頁面定義表頁面名稱作用add.jsp添加頁面delete.jsp刪除頁面update,jsp修改頁面error.jsp登陸失敗頁面,返回登錄界面index.jsp用戶界面Sava.jsp操作頁面ShowAllCost.jsp顯示頁面success.jsp登陸成功頁面,跳轉至用戶界面acci.jsp計算平均成績頁面4.2.3運行界面登錄界面如下 登錄成功和失敗的頁面如下: 增刪改查操作的成績表格:添加后表為:刪除掉張思成績后表格如下:將李四的成績改為99后表格如下:4.2.4主要代碼1.登錄的JSP代碼:<form action="servlet/LoginS
8、ervlet" method="get"> 用戶名<inputtype="text" name="username"/> 密 碼<input type="password" name="password"/><br> <input type="submit" value="登錄"/>登錄失敗進入error.jsp頁面重新輸入用戶名和密碼,登錄成功進入success.jsp頁面,進行相關操作。2
9、.SERVLET控制層代碼:添加成績代碼: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&q
10、uot;, list); request.getRequestDispatcher("/add.jsp").forward(request, response);刪除成績代碼:public class DeleteServlet extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException ScoreService scoreservice=new ScoreService(
11、); List list=scoreservice.getDeleteScores(); request.setAttribute("allscores", list); request.getRequestDispatcher("/delete.jsp").forward(request, response);修改成績代碼public class UpdateServlet extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse resp
12、onse)throws ServletException, IOException ScoreService scoreservice=new ScoreService(); List list=scoreservice.getAddScores(); request.setAttribute("allscores", list); request.getRequestDispatcher("/update.jsp").forward(request, response);查詢成績代碼:public class ScoreServlet extends
13、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("/show
14、AllScores.jsp").forward(request, response);計算平均成績代碼:public class ScoreServlet extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException ScoreService scoreservice=new ScoreService(); List list=scoreservice.getAllScores();
15、request.setAttribute("allscores", list); request.getRequestDispatcher("/acc.jsp").forward(request, response);3.DAO層代碼:DAO類的類名為“ScoreDao”,該類使用JDBC技術實現(xiàn),用于和數(shù)據(jù)庫交互,進行相關的增、刪、改、查操作,它的實現(xiàn)代碼如下:public class ScoreDAO private static Score scores;public static List getAllScores()Connection con
16、=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.s
17、etCname(rs.getString("cname"); score.setGrade(rs.getInt("grade"); list.add(score);mit();return list; catch(SQLException e) e.printStackTrace(); return null;public static List getAddScores() throws SQLExceptionConnection con=DBConnection.getConnection(); tryList list=new ArrayList
18、();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.getStr
19、ing("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.prepareStatem
20、ent("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");
21、 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=?");Re
22、sultSet 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
23、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
24、(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
25、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() Sc
26、oreDAO 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.實體類代碼:Score實體: User實體:public class Sc
27、ore 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ù)庫代碼:public class DBConnection public static Connection getConnection() final String driverName="com.microsoft.jdbc.s
28、qlserver.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.setAutoCom
29、mit(false); System.out.println(con); return con; catch(SQLException e) e.printStackTrace(); return null; 7. JSP頁面:showAllScores.jsp:<body> <table border=1> <tr> <td>學號</td> <td>姓名</td> <td>課程名</td> <td>成績</td> </tr> <% List l
30、ist=(List) request.getAttribute("allscores"); if(list!=null) for(Iterator it=list.iterator();it.hasNext();) Score score=(Score)it.next(); %> <tr> <td><%=score.getSno() %></td> <td><%=score.getSname() %></td> <td><%=score.getCname() %>
31、;</td> <td><%=score.getGrade() %></td> <tr> <% %> <a href="add.jsp">添加成績</a> <a href="delete.jsp">刪除成績</a> <a href="update.jsp">修改成績</a> <a href="acc.jsp">計算平均成績</a> </body&
32、gt;Save.jsp:<body> <form action="servlet/servlet?arg=3" method="get"> <table border=1> <tr><td>學號</td><td> <input type="text" name="sno" ></td></tr> <tr><td>姓名</td><td> <inp
33、ut type="text" name="sname"></td></tr> <tr><td>課程名</td><td><input type="text" name="cname"></tr> <tr><td>成績</td><td><input type="text" name="grade"></td>
34、</tr> </table> <input type="submit" name="submit" value="提交"> </body>增刪改查操作jsp頁面:<table border=1> <tr> <th>學號</th> <th>姓名</th> <th>課程</th> <th>成績</th> </tr> <% List list=(List)
35、request.getAttribute("allscores"); if(list!=null) for(Iterator it=list.iterator();it.hasNext();) Score score=(Score)it.next(); %> <tr> <td><%=score.getSno()%></td> <td><%=score.getSname()%></td> <td><%=score.getCname()%></td> &
36、lt;td><%=score.getGrade()%></td> </tr> <% %>配置文件WEB.XML<servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>LoginServle
37、t</servlet-name> <servlet-class>com.scores.servlet.LoginServlet</servlet-class></servlet><servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name>
38、<servlet-name>AddServlet</servlet-name> <servlet-class>com.scores.servlet.AddServlet</servlet-class></servlet><servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE comp
39、onent</display-name> <servlet-name>DeleteServlet</servlet-name> <servlet-class>com.scores.servlet.DeleteServlet</servlet-class></servlet><servlet> <description>This is the description of my J2EE component</description> <display-name>This is
40、 the display name of my J2EE component</display-name> <servlet-name>ScoreServlet</servlet-name> <servlet-class>com.scores.servlet.ScoreServlet</servlet-class></servlet><servlet> <description>This is the description of my J2EE component</description&
41、gt; <display-name>This is the display name of my J2EE component</display-name> <servlet-name>UpdateServlet</servlet-name> <servlet-class>com.scores.servlet.UpdateServlet</servlet-class></servlet><servlet> <description>This is the description of m
42、y J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>AccServlet</servlet-name> <servlet-class>com.scores.servlet.AccServlet</servlet-class></servlet><servlet-mapping> <servlet-
43、name>LoginServlet</servlet-name> <url-pattern>/servlet/LoginServlet</url-pattern></servlet-mapping><servlet-mapping> <servlet-name>AddServlet</servlet-name> <url-pattern>/servlet/AddServlet</url-pattern></servlet-mapping><servlet-mapp
44、ing> <servlet-name>DeleteServlet</servlet-name> <url-pattern>/servlet/DeleteServlet</url-pattern></servlet-mapping><servlet-mapping> <servlet-name>ScoreServlet</servlet-name> <url-pattern>/servlet/ScoreServlet</url-pattern></servlet-mapping><servlet-mapping> <servlet-name>UpdateServlet</servlet-name> <url-pattern>/servlet/UpdateServlet&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年防火卷簾門技術服務與維護合同
- 四年級體育之旅回顧
- 雙十一家居營銷攻略
- 2024年知識產(chǎn)權產(chǎn)學研多方合作協(xié)議范本版B版
- 勞動力量成就未來
- 媒體變革與轉型
- 外賣代運營合同(2篇)
- 大學生就業(yè)服務平臺就業(yè)協(xié)議書范本(2篇)
- 2024無錫市房產(chǎn)買賣交易合同范本3篇
- 2024水電暖改造與清包施工合同2篇
- 向女朋友認錯保證書范文
- 五分數(shù)加法和減法(課件)-數(shù)學五年級下冊
- 2024午托承包合同-校園內學生午休服務協(xié)議3篇
- 2025年醫(yī)院支部工作總結及工作計劃范文
- 茶歇合同范例
- DB37T 3329-2018 建筑陶瓷制品制造行業(yè)企業(yè)安全生產(chǎn)風險分級管控體系實施指南
- 2024年四川省綿陽市中考語文試卷(附真題答案)
- 小紅書種草營銷師(初級)認證考試真題試題庫(含答案)
- 中學學校裝修改造工程施工組織設計方案
- 幼兒園反恐防暴技能培訓內容
- 食品企業(yè)質檢員聘用合同
評論
0/150
提交評論