版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 綜合課程設計</b></p><p><b> (一)</b></p><p> Integrated Curriculum Design(1)</p><p> 設計學生選修課程系統(tǒng)</p><p><b> 1 設計目的 </b><
2、;/p><p> 學生選修課程系統(tǒng)作為信息管理系統(tǒng)的一個分支,已逐漸成為學校信息化建設的重要組成部分,為學校管理全校的院系班級和學生提供了一個功能強大、安裝部署方便、使用成本低、操作簡捷的學生信息查詢系統(tǒng),不僅能夠提高工作的效益,也為最終實現(xiàn)有效的“無紙化辦公”和更加廣泛的“電子事務”奠定了基礎</p><p><b> 2 設計思路</b></p>&
3、lt;p> 開發(fā)一個學生信息管理系統(tǒng),主要有三個部分:人事管理,課程管理,個人信息管理。</p><p> (1) 人事管理主要用于用戶信息的相關管理。主要包括添加用戶、查看用戶信息、刪除用戶三個功能。</p><p> (2) 課程管理主要用于課程的增加、刪除、更改。</p><p> (3)個人信息管理主要用于用戶個人信息的查看
4、、修改。</p><p><b> 3 開發(fā)環(huán)境 </b></p><p> Myeclipse應用程序</p><p><b> MySQL數(shù)據(jù)庫</b></p><p><b> 4 系統(tǒng)總體設計</b></p><p> 該系統(tǒng)的設計是充
5、分考慮到學生的管理和課程的管理兩個大的方面,首先用戶需要根據(jù)自己的用戶名登陸到系統(tǒng)主界面,然后才能對該系統(tǒng)實施操作,否則不能登陸該系統(tǒng)。系統(tǒng)中主要包含的內(nèi)容有:</p><p> (1)學生管理中的增、刪、改、查等功能;</p><p> (2)課程管理中的增、刪、改、查等功能;</p><p> (3)用戶名密碼的更改等操作;</p><
6、p> (4)以上操作都直接關聯(lián)數(shù)據(jù)庫;</p><p> (5)數(shù)據(jù)庫采用的是MySQL數(shù)據(jù)庫;</p><p> 4.1系統(tǒng)功能結(jié)構(gòu)圖所示:</p><p> 4.2數(shù)據(jù)庫表的設計</p><p><b> 數(shù)據(jù)庫名:xsxk</b></p><p><b> 表us
7、er:</b></p><p><b> 表course:</b></p><p><b> 5詳細設計</b></p><p><b> 5.1登陸界面</b></p><p><b> 登陸實體截圖如下:</b></p>
8、<p> 設置一個用戶名、密碼和驗證碼文本框輸入內(nèi)容。三個標簽用戶名、密碼和驗證碼,一個按鈕登陸</p><p> public void login(){</p><p> String rand = null;</p><p> String rands = null;</p><p> if(req.getPar
9、ameter("rand") != null){</p><p> rand = req.getParameter("rand");</p><p> rands=(String)req.getSession().getAttribute("rands");</p><p><b> }&l
10、t;/b></p><p> User user = buildVO();</p><p><b> try {</b></p><p> if(udao.login(user) && rands.equals(rand)){</p><p> session.setAttribute(&q
11、uot;user", udao.query(user));</p><p> Page page = PageUtil.createPage(size, currentpage, cdao.alltotal());</p><p> session.setAttribute("course_list", cdao.queryAll(page.getBegi
12、nindex(), size));</p><p> session.setAttribute("page", page);</p><p> path = "base/main.jsp";</p><p><b> }else{</b></p><p> path = &
13、quot;base/login.jsp";</p><p> String mes = rands.equals(rand)?"用戶名或密碼錯誤!?。?quot;:"驗證碼錯誤?。?!";</p><p> req.setAttribute("mes", mes);</p><p><b>
14、}</b></p><p> } catch (Exception e) {</p><p> // TODO Auto-generated catch block</p><p> e.printStackTrace();</p><p><b> }</b></p><p>
15、;<b> }</b></p><p><b> 5.2主界面</b></p><p> 主界面實體截圖如下:</p><p> 主界面主要是用于對選擇相應的功能進行相應的功能,主界面主要包括人事管理、課程管理和個人信息管理三大功能。在左側(cè)均有不同的鏈接用以實現(xiàn)不同的功能</p><p>&
16、lt;b> 5.3數(shù)據(jù)庫連接</b></p><p> 學生、課程的增刪改查都是建立在連接數(shù)據(jù)庫的基礎之上,在MySQL里建立學生表、課程表。建立JDBC數(shù)據(jù)源的連接。</p><p><b> 代碼如下:</b></p><p> import java.sql.*;</p><p> pu
17、blic class DateBaseConnection {</p><p><b> //驅(qū)動程序名</b></p><p> private final String DbDriver = "com.mysql.jdbc.Driver";</p><p> // URL指向要訪問的數(shù)據(jù)庫名</p>
18、<p> private final String DbUrl = "jdbc:mysql://localhost:3306/xsxk";</p><p> // MySQL配置時的用戶名</p><p> private final String DbUser = "root";</p><p> // J
19、ava連接MySQL配置時的密碼</p><p> private final String DbPassword = "hjj";</p><p> private Connection conn = null;</p><p> public DateBaseConnection(){</p><p><b
20、> try {</b></p><p> Class.forName(DbDriver);// 加載驅(qū)動程序</p><p> conn = DriverManager.getConnection(DbUrl, DbUser, DbPassword);</p><p> } catch (Exception e) {</p>
21、<p> e.printStackTrace();</p><p><b> }</b></p><p><b> }</b></p><p> public Connection getConnection(){</p><p> return this.conn;</p
22、><p><b> }</b></p><p> public void close(){</p><p><b> try {</b></p><p> this.conn.close();</p><p> } catch (Exception e) {</p
23、><p> e.printStackTrace();</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> 5.4添加用戶信息</b><
24、;/p><p> 這部分的主要功能是向數(shù)據(jù)庫中添加新的學生信息以及管理員等用戶信息。</p><p> 添加用戶界面截圖如下:</p><p> 添加用戶信息重要代碼:</p><p> public void insert(){</p><p><b> try {</b></p&g
25、t;<p> User user = buildVO();</p><p> udao.insert(user);</p><p> } catch (Exception e) {</p><p> // TODO Auto-generated catch block</p><p> e.printStackTrac
26、e();</p><p><b> }</b></p><p><b> }</b></p><p> public void insert(User user) throws Exception{</p><p> sql = "insert into user(name,IDc
27、ard,s_number,password,permission) values (?,?,?,?,?)";</p><p><b> try {</b></p><p> psmt = dbc.getConnection().prepareStatement(sql);</p><p> psmt.setString(1, u
28、ser.getName());</p><p> psmt.setString(2, user.getIDcard());</p><p> psmt.setString(3, user.getS_number());</p><p> psmt.setString(4, user.getS_number());//密碼默認為學號</p><
29、;p> psmt.setInt(5, user.getPermission());</p><p> psmt.executeUpdate();</p><p> psmt.close();</p><p> } catch (Exception e) {</p><p> e.printStackTrace();</p
30、><p><b> }</b></p><p><b> }</b></p><p><b> 5.5查看用戶信息</b></p><p> 這部分的主要功能是查看用戶信息已確認信息是否添加正確。</p><p> 查看用戶信息截圖如下:</
31、p><p><b> 重要代碼如下:</b></p><p> public void preview(){</p><p><b> try {</b></p><p> int id = Integer.parseInt(req.getParameter("id"));&
32、lt;/p><p> req.setAttribute("user", udao.queryById(id));</p><p> } catch (Exception e) {</p><p> // TODO Auto-generated catch block</p><p> e.printStackTrace
33、();</p><p><b> }</b></p><p> path = "back/user/view.jsp";</p><p><b> }</b></p><p><b> //單挑查詢</b></p><p>
34、 public User queryById(int id) throws Exception{</p><p> sql = "select * from user where id=?";</p><p> User user = null;</p><p><b> try {</b></p>&l
35、t;p> psmt=dbc.getConnection().prepareStatement(sql);</p><p> psmt.setInt(1,id);</p><p> ResultSet rs = psmt.executeQuery();</p><p> while (rs.next()) {</p><p>
36、user = new User();</p><p> user.initFormRs(rs);</p><p><b> }</b></p><p> rs.close();</p><p> psmt.close();</p><p> } catch (Exception e) {
37、</p><p> e.printStackTrace();</p><p><b> }</b></p><p> return user;</p><p><b> }</b></p><p><b> 5.6更新用戶信息</b></
38、p><p> 這部分主要功能是修改用戶相關信息</p><p><b> 實體截圖如下:</b></p><p><b> 重要代碼:</b></p><p> public void update(){</p><p><b> try {</b>
39、;</p><p> User user = buildVO();</p><p> udao.update(user);</p><p> } catch (Exception e) {</p><p> // TODO Auto-generated catch block</p><p> e.print
40、StackTrace();</p><p><b> }</b></p><p><b> }</b></p><p><b> //更新用戶信息</b></p><p> public void update(User user) throws Exception{&
41、lt;/p><p> sql = "update user set name=?,IDcard=?,s_number=?,c_number=?,credit=? where id=?";</p><p><b> try{</b></p><p> psmt=dbc.getConnection().prepareState
42、ment(sql);</p><p> psmt.setString(1, user.getName());</p><p> psmt.setString(2, user.getIDcard());</p><p> psmt.setString(3, user.getS_number());</p><p> psmt.setSt
43、ring(4, user.getCourse());</p><p> psmt.setInt(5, user.getCredit());</p><p> psmt.setInt(6, user.getId());</p><p> psmt.executeUpdate();</p><p> psmt.close();</p
44、><p> }catch(Exception e){</p><p> e.printStackTrace();</p><p><b> }</b></p><p><b> }</b></p><p><b> 5.7刪除用戶</b></
45、p><p><b> 主要功能是刪除用戶</b></p><p><b> 實體截圖如下:</b></p><p><b> 重要代碼如下:</b></p><p> public void delete(){</p><p><b>
46、try {</b></p><p> int id = Integer.parseInt(req.getParameter("id"));</p><p> udao.delete(id);</p><p> } catch (Exception e) {</p><p> // TODO Auto-g
47、enerated catch block</p><p> e.printStackTrace();</p><p><b> }</b></p><p><b> }</b></p><p><b> //刪除單挑記錄</b></p><p>
48、 public void delete(int id) throws Exception {</p><p> sql = "delete from user where id=?";</p><p><b> try {</b></p><p> psmt=dbc.getConnection().prepareSt
49、atement(sql);</p><p> psmt.setInt(1, id);</p><p> psmt.executeUpdate();</p><p> psmt.close();</p><p> } catch (Exception e) {</p><p> e.printStackTrac
50、e();</p><p><b> }</b></p><p><b> }</b></p><p><b> 5.8密碼修改</b></p><p> 這部分的主要功能是用于用戶自己修改自己的登陸密碼,以保障賬戶安全。</p><p><
51、b> 實體截圖如下:</b></p><p><b> 重要代碼:</b></p><p> public void password(){</p><p> String name = ((User)session.getAttribute("user")).getName();</p>
52、;<p> int id = ((User)session.getAttribute("user")).getId();</p><p> String old_p = req.getParameter("old_p");</p><p> String new_p = req.getParameter("passwor
53、d");</p><p> String repeat_p = req.getParameter("password2");</p><p> String p = ((User)session.getAttribute("user")).getPassword();</p><p> if(old_p.equ
54、als(p) && (new_p.equals(repeat_p))){</p><p><b> try {</b></p><p> udao.update(name, new_p, id);</p><p> } catch (Exception e) {</p><p> // TODO
55、Auto-generated catch block</p><p> e.printStackTrace();</p><p><b> }</b></p><p> req.setAttribute("msg","密碼修改成功!!!");</p><p><b>
56、; } else {</b></p><p> String msg = new_p.equals(repeat_p) ? "原始密碼輸入錯誤!!!":"兩次密碼輸入不一致!!!";</p><p> req.setAttribute("msg",msg);</p><p><b&g
57、t; }</b></p><p> path = "back/user/password.jsp";</p><p><b> }</b></p><p><b> //更新用戶密碼</b></p><p> public void update(Strin
58、g name, String new_p, int id) throws Exception {</p><p> sql = "update user set name = ?, password = ? where id=?";</p><p><b> try {</b></p><p> psmt = dbc.
59、getConnection().prepareStatement(sql);</p><p> psmt.setString(1, name);</p><p> psmt.setString(2, new_p);</p><p> psmt.setInt(3, id);</p><p> psmt.executeUpdate();&
60、lt;/p><p> psmt.close();</p><p> } catch (Exception e) {</p><p> // TODO: handle exception</p><p> e.printStackTrace();</p><p><b> }</b></
61、p><p><b> }</b></p><p><b> 5.9課程管理</b></p><p> 課程管理也是有增刪改查四個功能,并且與學生管理相對應的四個功能技術上基本相似,在此就不在一一贅述,在這只顯示了修改課程信息窗口(如下圖),以做示例,其它三個功能基本一樣</p><p><b
62、> 重要代碼:</b></p><p> public void update(){</p><p><b> try {</b></p><p> Course course = buildVO();</p><p> cdao.update(course);</p><
63、p> } catch (Exception e) {</p><p> // TODO Auto-generated catch block</p><p> e.printStackTrace();</p><p><b> }</b></p><p><b> }</b><
64、/p><p><b> //更新課程信息</b></p><p> public void update(Course course) throws Exception{</p><p> sql = "update course set name=?,c_number=?,teacher=?,schooltime=?,locati
65、on=?,credit=?,totalhours=?,property=?,capacity=?,selected=?,college=?,testtime=? where id=?";</p><p><b> try{</b></p><p> psmt=dbc.getConnection().prepareStatement(sql);</p
66、><p> psmt.setString(1, course.getName());</p><p> psmt.setString(2, course.getC_number());</p><p> psmt.setString(3, course.getTeacher());</p><p> psmt.setString(4, c
67、ourse.getSchooltime());</p><p> psmt.setString(5, course.getLocation());</p><p> psmt.setInt(6, course.getCredit());</p><p> psmt.setInt(7, course.getTotalhours());</p>&l
68、t;p> psmt.setString(8, course.getProperty());</p><p> psmt.setInt(9, course.getCapacity());</p><p> psmt.setInt(10, course.getSelected());</p><p> psmt.setString(11, course.g
69、etCollege());</p><p> psmt.setString(12, course.getTesttime());</p><p> psmt.setInt(13, course.getId());</p><p> psmt.executeUpdate();</p><p> psmt.close();</p&g
70、t;<p> }catch(Exception e){</p><p> e.printStackTrace();</p><p><b> }</b></p><p><b> }</b></p><p><b> 6設計總結(jié)與體會</b></p
71、><p> 學生選課系統(tǒng)的流程主要開始是登陸界面在接下來開始進入學生選課管理的主界面。其中還要做數(shù)據(jù)庫的建立以及連接。 </p><p> 系統(tǒng)主要分為三大部分人事管理、課程管理和個人信息管理。其中人事管理主要包括用戶的一些信息。課程管理主要是課程的增刪改。個人信息管理主要包括學生個人信息的查看和修改。</p><p> 通過做學生管理系統(tǒng)使自己對數(shù)據(jù)庫的增加
72、刪除修改查詢等功能進一步熟悉了解,深深體會到做一個系統(tǒng)需要整體的思路設計及構(gòu)思</p><p> 在這次實驗中,讓我對Java學習有了進一步的認識與體會,著實發(fā)現(xiàn)Java是一款非常不錯的一門語言,方便,實用,美觀。在今后的學習中,我將繼續(xù)對</p><p> JAVA的學習精益求精。</p><p> 參考文獻(至少5篇)</p><p&g
73、t; [1].張桂珠 劉麗 陳愛國 Java面向?qū)ο蟪绦蛟O計(第2版)北京郵電大學出版社</p><p> [2]畢廣吉.Java程序設計實例教程[M]. 北京:冶金工業(yè)出版社,2007年</p><p> [3].王保羅.Java面向?qū)ο蟪绦蛟O計[M]. 北京:清華大學出版社,2003年</p><p> [4].高林,周海燕.Jsp網(wǎng)上書店系統(tǒng)與案例分析
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課程設計---學生選修課程系統(tǒng)設計
- 課程設計-----學生選修課程系統(tǒng)設計
- c語言學生選修課程系統(tǒng)設計--學生選修課程系統(tǒng)設計
- 學生選修課程系統(tǒng)設計
- 學生選修課程系統(tǒng)設計
- 課程設計報告---學生選修課程系統(tǒng)設計
- 課程設計---學生選修課管理系統(tǒng)
- 課程設計報告---學生選修課系統(tǒng)設計
- c語言課程設計--學生選修課系統(tǒng)
- c語言課程設計學生選修課系統(tǒng)
- c語言課程設計--學生選修課系統(tǒng)設計
- 課程設計報告---學生選修課系統(tǒng)設計.doc
- c語言課程設計-學生選修課系統(tǒng)設計
- c++畢業(yè)課程設計--學生選修課程系統(tǒng)設計
- c++課程設計報告--學生選修課程系統(tǒng)設計
- c語言課程設計報告--學生選修課程系統(tǒng)
- c語言課程設計報告—學生選修課程系統(tǒng)設計
- c++課程設計學生選修課選課系統(tǒng)
- 課程設計報告·----學生選修課系統(tǒng)設計.doc
- c語言課程設計_學生選修課系統(tǒng)設計(1)
評論
0/150
提交評論