版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 綜合課程設(shè)計(jì)</b></p><p><b> ?。ㄒ唬?lt;/b></p><p> Integrated Curriculum Design(1)</p><p> 設(shè)計(jì)學(xué)生選修課程系統(tǒng)</p><p><b> 1 設(shè)計(jì)目的 </b><
2、;/p><p> 學(xué)生選修課程系統(tǒng)作為信息管理系統(tǒng)的一個(gè)分支,已逐漸成為學(xué)校信息化建設(shè)的重要組成部分,為學(xué)校管理全校的院系班級(jí)和學(xué)生提供了一個(gè)功能強(qiáng)大、安裝部署方便、使用成本低、操作簡(jiǎn)捷的學(xué)生信息查詢系統(tǒng),不僅能夠提高工作的效益,也為最終實(shí)現(xiàn)有效的“無紙化辦公”和更加廣泛的“電子事務(wù)”奠定了基礎(chǔ)</p><p><b> 2 設(shè)計(jì)思路</b></p>&
3、lt;p> 開發(fā)一個(gè)學(xué)生信息管理系統(tǒng),主要有三個(gè)部分:人事管理,課程管理,個(gè)人信息管理。</p><p> (1) 人事管理主要用于用戶信息的相關(guān)管理。主要包括添加用戶、查看用戶信息、刪除用戶三個(gè)功能。</p><p> (2) 課程管理主要用于課程的增加、刪除、更改。</p><p> (3)個(gè)人信息管理主要用于用戶個(gè)人信息的查看
4、、修改。</p><p><b> 3 開發(fā)環(huán)境 </b></p><p> Myeclipse應(yīng)用程序</p><p><b> MySQL數(shù)據(jù)庫(kù)</b></p><p><b> 4 系統(tǒng)總體設(shè)計(jì)</b></p><p> 該系統(tǒng)的設(shè)計(jì)是充
5、分考慮到學(xué)生的管理和課程的管理兩個(gè)大的方面,首先用戶需要根據(jù)自己的用戶名登陸到系統(tǒng)主界面,然后才能對(duì)該系統(tǒng)實(shí)施操作,否則不能登陸該系統(tǒng)。系統(tǒng)中主要包含的內(nèi)容有:</p><p> (1)學(xué)生管理中的增、刪、改、查等功能;</p><p> (2)課程管理中的增、刪、改、查等功能;</p><p> (3)用戶名密碼的更改等操作;</p><
6、p> (4)以上操作都直接關(guān)聯(lián)數(shù)據(jù)庫(kù);</p><p> (5)數(shù)據(jù)庫(kù)采用的是MySQL數(shù)據(jù)庫(kù);</p><p> 4.1系統(tǒng)功能結(jié)構(gòu)圖所示:</p><p> 4.2數(shù)據(jù)庫(kù)表的設(shè)計(jì)</p><p><b> 數(shù)據(jù)庫(kù)名:xsxk</b></p><p><b> 表us
7、er:</b></p><p><b> 表course:</b></p><p><b> 5詳細(xì)設(shè)計(jì)</b></p><p><b> 5.1登陸界面</b></p><p><b> 登陸實(shí)體截圖如下:</b></p>
8、<p> 設(shè)置一個(gè)用戶名、密碼和驗(yàn)證碼文本框輸入內(nèi)容。三個(gè)標(biāo)簽用戶名、密碼和驗(yàn)證碼,一個(gè)按鈕登陸</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)?"用戶名或密碼錯(cuò)誤!??!":"驗(yàn)證碼錯(cuò)誤?。?!";</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> 主界面實(shí)體截圖如下:</p><p> 主界面主要是用于對(duì)選擇相應(yīng)的功能進(jìn)行相應(yīng)的功能,主界面主要包括人事管理、課程管理和個(gè)人信息管理三大功能。在左側(cè)均有不同的鏈接用以實(shí)現(xiàn)不同的功能</p><p>&
16、lt;b> 5.3數(shù)據(jù)庫(kù)連接</b></p><p> 學(xué)生、課程的增刪改查都是建立在連接數(shù)據(jù)庫(kù)的基礎(chǔ)之上,在MySQL里建立學(xué)生表、課程表。建立JDBC數(shù)據(jù)源的連接。</p><p><b> 代碼如下:</b></p><p> import java.sql.*;</p><p> pu
17、blic class DateBaseConnection {</p><p><b> //驅(qū)動(dòng)程序名</b></p><p> private final String DbDriver = "com.mysql.jdbc.Driver";</p><p> // URL指向要訪問的數(shù)據(jù)庫(kù)名</p>
18、<p> private final String DbUrl = "jdbc:mysql://localhost:3306/xsxk";</p><p> // MySQL配置時(shí)的用戶名</p><p> private final String DbUser = "root";</p><p> // J
19、ava連接MySQL配置時(shí)的密碼</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ū)動(dòng)程序</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ù)庫(kù)中添加新的學(xué)生信息以及管理員等用戶信息。</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());//密碼默認(rèn)為學(xué)號(hào)</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> 這部分的主要功能是查看用戶信息已確認(rèn)信息是否添加正確。</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> 這部分主要功能是修改用戶相關(guān)信息</p><p><b> 實(shí)體截圖如下:</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> 實(shí)體截圖如下:</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> 實(shí)體截圖如下:</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) ? "原始密碼輸入錯(cuò)誤!!!":"兩次密碼輸入不一致!!!";</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> 課程管理也是有增刪改查四個(gè)功能,并且與學(xué)生管理相對(duì)應(yīng)的四個(gè)功能技術(shù)上基本相似,在此就不在一一贅述,在這只顯示了修改課程信息窗口(如下圖),以做示例,其它三個(gè)功能基本一樣</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設(shè)計(jì)總結(jié)與體會(huì)</b></p
71、><p> 學(xué)生選課系統(tǒng)的流程主要開始是登陸界面在接下來開始進(jìn)入學(xué)生選課管理的主界面。其中還要做數(shù)據(jù)庫(kù)的建立以及連接。 </p><p> 系統(tǒng)主要分為三大部分人事管理、課程管理和個(gè)人信息管理。其中人事管理主要包括用戶的一些信息。課程管理主要是課程的增刪改。個(gè)人信息管理主要包括學(xué)生個(gè)人信息的查看和修改。</p><p> 通過做學(xué)生管理系統(tǒng)使自己對(duì)數(shù)據(jù)庫(kù)的增加
72、刪除修改查詢等功能進(jìn)一步熟悉了解,深深體會(huì)到做一個(gè)系統(tǒng)需要整體的思路設(shè)計(jì)及構(gòu)思</p><p> 在這次實(shí)驗(yàn)中,讓我對(duì)Java學(xué)習(xí)有了進(jìn)一步的認(rèn)識(shí)與體會(huì),著實(shí)發(fā)現(xiàn)Java是一款非常不錯(cuò)的一門語言,方便,實(shí)用,美觀。在今后的學(xué)習(xí)中,我將繼續(xù)對(duì)</p><p> JAVA的學(xué)習(xí)精益求精。</p><p> 參考文獻(xiàn)(至少5篇)</p><p&g
73、t; [1].張桂珠 劉麗 陳愛國(guó) Java面向?qū)ο蟪绦蛟O(shè)計(jì)(第2版)北京郵電大學(xué)出版社</p><p> [2]畢廣吉.Java程序設(shè)計(jì)實(shí)例教程[M]. 北京:冶金工業(yè)出版社,2007年</p><p> [3].王保羅.Java面向?qū)ο蟪绦蛟O(shè)計(jì)[M]. 北京:清華大學(xué)出版社,2003年</p><p> [4].高林,周海燕.Jsp網(wǎng)上書店系統(tǒng)與案例分析
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 課程設(shè)計(jì)---學(xué)生選修課程系統(tǒng)設(shè)計(jì)
- 課程設(shè)計(jì)-----學(xué)生選修課程系統(tǒng)設(shè)計(jì)
- c語言學(xué)生選修課程系統(tǒng)設(shè)計(jì)--學(xué)生選修課程系統(tǒng)設(shè)計(jì)
- 學(xué)生選修課程系統(tǒng)設(shè)計(jì)
- 學(xué)生選修課程系統(tǒng)設(shè)計(jì)
- 課程設(shè)計(jì)報(bào)告---學(xué)生選修課程系統(tǒng)設(shè)計(jì)
- 課程設(shè)計(jì)---學(xué)生選修課管理系統(tǒng)
- 課程設(shè)計(jì)報(bào)告---學(xué)生選修課系統(tǒng)設(shè)計(jì)
- c語言課程設(shè)計(jì)--學(xué)生選修課系統(tǒng)
- c語言課程設(shè)計(jì)學(xué)生選修課系統(tǒng)
- c語言課程設(shè)計(jì)--學(xué)生選修課系統(tǒng)設(shè)計(jì)
- 課程設(shè)計(jì)報(bào)告---學(xué)生選修課系統(tǒng)設(shè)計(jì).doc
- c語言課程設(shè)計(jì)-學(xué)生選修課系統(tǒng)設(shè)計(jì)
- c++畢業(yè)課程設(shè)計(jì)--學(xué)生選修課程系統(tǒng)設(shè)計(jì)
- c++課程設(shè)計(jì)報(bào)告--學(xué)生選修課程系統(tǒng)設(shè)計(jì)
- c語言課程設(shè)計(jì)報(bào)告--學(xué)生選修課程系統(tǒng)
- c語言課程設(shè)計(jì)報(bào)告—學(xué)生選修課程系統(tǒng)設(shè)計(jì)
- c++課程設(shè)計(jì)學(xué)生選修課選課系統(tǒng)
- 課程設(shè)計(jì)報(bào)告·----學(xué)生選修課系統(tǒng)設(shè)計(jì).doc
- c語言課程設(shè)計(jì)_學(xué)生選修課系統(tǒng)設(shè)計(jì)(1)
評(píng)論
0/150
提交評(píng)論