2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩54頁(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)介

1、<p>  一、緒論- 3 -</p><p>  1.1概要描述- 3 -</p><p>  1.2 團(tuán)隊(duì)分工- 3 -</p><p>  二、 系統(tǒng)需求分析- 4 -</p><p>  2.1功能需求- 4 -</p><p>  三、系統(tǒng)設(shè)計(jì)- 6 -</p><p

2、>  3.1系統(tǒng)采用的邏輯以及物理結(jié)構(gòu)- 6 -</p><p>  3.2系統(tǒng)的開發(fā)環(huán)境選擇- 6 -</p><p>  3.3系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)(個(gè)人負(fù)責(zé)程序涉及的數(shù)據(jù)庫(kù))- 6 -</p><p>  四、系統(tǒng)實(shí)現(xiàn)及測(cè)試- 9 -</p><p>  4.1系統(tǒng)模塊功能介紹- 9 -</p><p&g

3、t;  4.2系統(tǒng)實(shí)現(xiàn)過(guò)程中遇到的主要疑難問(wèn)題和解決方案- 17 -</p><p>  4.3系統(tǒng)實(shí)現(xiàn)的特色之處(包括技術(shù)和功能)- 18 -</p><p>  4.4 系統(tǒng)測(cè)試- 18 -</p><p>  五、總結(jié)- 18 -</p><p>  5.1不足- 18 -</p><p>  5.2

4、總結(jié)- 19 -</p><p>  參考文獻(xiàn)- 19 -</p><p><b>  附錄- 20 -</b></p><p><b>  一、緒論</b></p><p><b>  1.1概要描述</b></p><p>  課程設(shè)計(jì)管理系統(tǒng)

5、,實(shí)現(xiàn)課程信息管理的電子化,減輕管理人員的負(fù)擔(dān)。管理人員能夠很好對(duì)課程進(jìn)行管理。長(zhǎng)期以來(lái),學(xué)?;径际鞘褂脗鹘y(tǒng)人工的方式管理學(xué)生課程信息,效率低、保密性差,隨著計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)的發(fā)展,使用計(jì)算機(jī)來(lái)管理課程信息已經(jīng)成為發(fā)展趨勢(shì)。這樣可以提高學(xué)生選課和成績(jī)管理工作的效率,圍繞此管理所需要的學(xué)生個(gè)人信息、課程和任課教師信息、所選課程信息進(jìn)行管理及維護(hù)。</p><p><b>  1.2 團(tuán)隊(duì)分工</b

6、></p><p><b>  二、 系統(tǒng)需求分析</b></p><p><b>  2.1功能需求</b></p><p>  系統(tǒng)整體的用例圖如下:</p><p>  圖2.1 系統(tǒng)用例圖</p><p>  管理員對(duì)課程信息進(jìn)行增加、刪除、編輯和查看;教師打印

7、選課學(xué)生名單、班級(jí)成績(jī)表、查看課程;學(xué)生可以查看自己已選課程的成績(jī)、打印班級(jí)課程表、查詢課程。需要注意的是,由于課程設(shè)計(jì)任務(wù)書表達(dá)的不明確,所以我們將管理員和教師的功能合并到教師角色中。數(shù)據(jù)流圖如下:</p><p><b>  圖2.2 數(shù)據(jù)流圖</b></p><p><b>  圖2.3 數(shù)據(jù)流圖</b></p><p&

8、gt;<b>  三、系統(tǒng)設(shè)計(jì)</b></p><p>  3.1系統(tǒng)采用的邏輯以及物理結(jié)構(gòu)</p><p><b>  圖3.1</b></p><p>  3.2系統(tǒng)的開發(fā)環(huán)境選擇</p><p> ?。?)使用web的開發(fā)環(huán)境是myeclipse 10;</p><p>

9、; ?。?)數(shù)據(jù)庫(kù)使用的是SQL sserverr 2008。</p><p>  3.3系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)(個(gè)人負(fù)責(zé)程序涉及的數(shù)據(jù)庫(kù))</p><p>  表3.1 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)</p><p>  表3.2 班級(jí)信息表class</p><p>  表3.3 教師信息表teacher</p><p>  表3.4

10、院系信息表college</p><p>  表3.5 課程信息表class</p><p>  表3.6 學(xué)生信息表student</p><p>  表3.7 選課信息表xuanke</p><p>  表3.8 選課表 xuanke</p><p>  圖3.2 E-R關(guān)系圖</p><p

11、><b>  四、系統(tǒng)實(shí)現(xiàn)及測(cè)試</b></p><p>  4.1系統(tǒng)模塊功能介紹</p><p><b>  用戶身份:教師</b></p><p>  當(dāng)用戶登錄系統(tǒng)后,如果他的身份是管理員,那么他可以對(duì)學(xué)生信息進(jìn)行增加、刪除、修改和查詢。</p><p><b>  圖4.1

12、</b></p><p>  以下代碼為循環(huán)讀出數(shù)據(jù)庫(kù)總學(xué)生信息值:</p><p><b>  <% </b></p><p>  while(rs.next()){</p><p><b>  %></b></p><p><b>  &

13、lt;tr></b></p><p>  <td><%=rs.getString("num") %></td></p><p>  <td><%=rs.getString("name") %></td></p><p>  <td&

14、gt;<%=rs.getString("sex") %></td></p><p>  <td><%=rs.getString("birth") %></td></p><p>  <td><%=rs.getString("jg") %></

15、td></p><p>  <td><%=rs.getString("mz") %></td></p><p>  <td><%=rs.getString("class") %></td></p><p>  <td><a href

16、="tea_xsgl_edit.jsp?id=<%=rs.getString("num") %>&cla=<%= rs.getString("class")%>">編輯</a>&nbsp;<a href="javascript:btnDelete('<%=rs.getString("

17、;num") %>')">刪除</a></td></p><p><b>  </tr></b></p><p><b>  <%} %></b></p><p>  當(dāng)點(diǎn)擊增加按鈕時(shí)就會(huì)出現(xiàn)增加界面,顯示出學(xué)生管理信息表中所有的字段,

18、對(duì)于存在關(guān)聯(lián)的字段的選項(xiàng)則從關(guān)聯(lián)表中讀出所有數(shù)據(jù),以下拉列表的形式或者單選框的形式顯示出來(lái),方便用戶選擇,不需要手動(dòng)寫入,直接從下拉框或單選框中獲取即可。如果不填寫課程編號(hào)或其他任何一個(gè)選項(xiàng),就點(diǎn)擊提交按鈕,就會(huì)出現(xiàn)提示框,提醒你要將信息填寫完整,否則無(wú)法提交。上方有一個(gè)功能菜單導(dǎo)航,用戶可以通過(guò)這些超鏈接直接進(jìn)入到教師角色可以進(jìn)行操作的其他界面。</p><p><b>  圖4.2</b>

19、;</p><p>  從數(shù)據(jù)庫(kù)中獲取課程種類下拉框中的值,代碼如下:</p><p><b>  <tr></b></p><p>  <td>班級(jí)</td></p><p><b>  <td></b></p><p>  

20、<select name="newclass"></p><p>  <% while(rs.next()){%></p><p>  <option><%=rs.getString("num") %></option></p><p><b>  <

21、% }%></b></p><p><b>  </select></b></p><p><b>  </td></b></p><p><b>  </tr></b></p><p><b>  圖4.3<

22、;/b></p><p>  當(dāng)用戶點(diǎn)擊圖表3右側(cè)的編輯按鈕,程序首先將這一行所對(duì)應(yīng)的課程信息的主鍵值傳給編輯處理界面,編輯頁(yè)面接受主鍵值后,根據(jù)主鍵值從student表中讀出這一列所對(duì)應(yīng)的數(shù)據(jù)顯示在如下界面中。教師可以對(duì)課程中的任意一個(gè)信息進(jìn)行更改。對(duì)于像性別、班級(jí)這些選擇可以直接從單選框和下拉框中更改,不需要手動(dòng)輸入數(shù)據(jù)。</p><p><b>  圖4.3</

23、b></p><p>  當(dāng)用戶點(diǎn)擊刪除按鈕時(shí),程序同樣將這一行對(duì)應(yīng)的主鍵值傳給刪除處理界面,同時(shí)會(huì)通過(guò)javascript彈出一個(gè)對(duì)話框,問(wèn)用戶是否確定刪除,如果點(diǎn)擊確定,則將與傳過(guò)來(lái)的主鍵相對(duì)應(yīng)的一整行刪除掉;如果點(diǎn)擊取消,就不對(duì)這一行進(jìn)行處理,原始數(shù)據(jù)保留。相關(guān)代碼如下:</p><p><b>  <script></b></p>

24、<p>  function btnDelete(id){</p><p>  if(confirm("確認(rèn)刪除該條記錄嗎?"))</p><p>  location.href="tea_xsgl_del.jsp?id="+id;</p><p><b>  }</b></p>

25、<p><b>  </script></b></p><p><b>  用戶身份:學(xué)生</b></p><p>  當(dāng)?shù)顷懙挠脩羰菍W(xué)生,他可以查詢個(gè)人信息、進(jìn)行課程信息查詢、進(jìn)行選課操作、查詢成績(jī)。</p><p><b>  圖4.4</b></p>&l

26、t;p>  當(dāng)用戶點(diǎn)擊上方選課信息時(shí),會(huì)顯示所有的課程信息,包括課程編號(hào)、課程名稱和狀態(tài)。如果該門課可選,則會(huì)在狀態(tài)列里顯示選擇按鈕,當(dāng)用戶點(diǎn)擊選擇按鈕之后則會(huì)顯示已選提醒用戶該門課已經(jīng)選擇了。顯示如下:</p><p><b>  圖4.5</b></p><p><b>  登陸頁(yè)面</b></p><p>  

27、當(dāng)用戶在進(jìn)入系統(tǒng)之前,進(jìn)入登陸界面,會(huì)看到如下頁(yè)面:</p><p><b>  圖4.6</b></p><p>  用戶需要輸入用戶名、密碼,選擇身份,才能點(diǎn)擊登陸按鈕進(jìn)行登陸,而且要求密碼長(zhǎng)度在6-10位之間。如果三個(gè)中有一個(gè)沒(méi)有輸入或者選擇,則會(huì)通過(guò)javascript彈出一個(gè)對(duì)話框,提醒用戶輸入完整。相關(guān)實(shí)現(xiàn)的代碼如下:</p><p&g

28、t;  <script language="javascript"></p><p>  function checkForm(){</p><p>  var user=document.myForm.username.value;</p><p>  if(user==""){</p><p

29、>  alert("用戶名不能為空!");</p><p>  document.myForm.username.focus();</p><p>  return false;</p><p><b>  }</b></p><p>  var pwd=document.myForm.user

30、pwd.value;</p><p>  if((pwd.length<6)||(pwd.length>10)){</p><p>  alert("密碼長(zhǎng)度在6到10位之間!");</p><p>  return false;</p><p><b>  }</b></p>

31、<p>  var sf=document.myForm.usersf;</p><p>  var flag=false;</p><p>  for(var i=0;i<sf.length;i++){</p><p>  if(sf[i].checked)</p><p>  flag=true;</p>

32、<p><b>  }</b></p><p>  if(!flag){</p><p>  alert("身份不能為空!");</p><p>  return false;</p><p><b>  }</b></p><p><

33、b>  }</b></p><p><b>  </script></b></p><p>  如果用戶全部填寫,就會(huì)將表單信息提交到服務(wù)器loginProc.jsp程序進(jìn)行相關(guān)處理。程序會(huì)根據(jù)用戶選擇的身份,進(jìn)入相關(guān)的數(shù)據(jù)庫(kù)進(jìn)行身份比對(duì),判斷用戶名和密碼是否一致。如果用戶名或密碼有一個(gè)不正確,則會(huì)跳轉(zhuǎn)到登陸錯(cuò)誤界面,如下圖:</p

34、><p><b>  圖4.7</b></p><p>  如果用戶名和密碼都正確,則會(huì)跳轉(zhuǎn)到響應(yīng)身份吧的主頁(yè)面。</p><p><b>  程序判定代碼如下:</b></p><p>  while(rs.next()){</p><p>  if(rs.getString(

35、"num").equals(name))</p><p>  flag = true;</p><p><b>  }</b></p><p><b>  if(flag){</b></p><p>  sql = "select password from stude

36、nt where num = ?";</p><p>  pstm = conn.prepareStatement(sql);</p><p>  pstm.setString(1,name);</p><p>  rs = pstm.executeQuery();</p><p>  while(rs.next()){</p

37、><p>  tpwd = rs.getString("password");</p><p><b>  }</b></p><p>  if(tpwd.equals(pwd)){</p><p>  Cookie cookie1 = new Cookie("userName",na

38、me);</p><p>  Cookie cookie2 = new Cookie("userPwd",pwd);</p><p>  cookie1.setMaxAge(60*60);</p><p>  cookie2.setMaxAge(60*60);</p><p>  response.addCookie(co

39、okie1);</p><p>  response.addCookie(cookie2);</p><p>  session.setAttribute("username",name);</p><p>  response.sendRedirect("student/student.jsp");</p>&

40、lt;p><b>  }else</b></p><p>  response.sendRedirect("error.html");</p><p>  4.2系統(tǒng)實(shí)現(xiàn)過(guò)程中遇到的主要疑難問(wèn)題和解決方案</p><p>  問(wèn)題一:課程信息管理的主模塊顯示不出來(lái)。</p><p>  解決方案

41、:sql語(yǔ)句錯(cuò)誤,沒(méi)有考慮表之間的關(guān)聯(lián),當(dāng)查詢包含外鍵的表時(shí)應(yīng)該將關(guān)  聯(lián)字段與主鍵值進(jìn)行連接。</p><p>  問(wèn)題二:在各分功能進(jìn)行刪除和編輯時(shí),因?yàn)閿?shù)據(jù)庫(kù)各表之間的關(guān)聯(lián)性,無(wú)法對(duì)其直接操作。</p><p>  解決方案:在進(jìn)行刪除和編輯前,要對(duì)其外鍵先進(jìn)行操作,再對(duì)其本身進(jìn)行操作。</p><p>  問(wèn)題三:修改課程信息時(shí),修改后的信息無(wú)法保存;<

42、;/p><p>  解決方案:PreparedStatement對(duì)象必須使用占位符,不能直接傳遞變量值。</p><p>  問(wèn)題四:進(jìn)行分頁(yè)時(shí)已經(jīng)將代碼完全拷貝進(jìn)去了,可是提交時(shí)還是出現(xiàn)“只進(jìn)結(jié)果集不支持請(qǐng)求的操作”的錯(cuò)誤:</p><p>  解決方案:Statement stm=conn.createStatement();傳遞一個(gè)參數(shù)“ResultSet.TYP

43、E_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY”,問(wèn)題就解決了。</p><p>  問(wèn)題五:界面布局不合理,不美觀;</p><p>  解決方案:熟悉diV的使用,給需要修改樣式的元素套一個(gè)diV,通過(guò)css對(duì)布局進(jìn)行修改和美化;然后借鑒合肥學(xué)院的教務(wù)管理系統(tǒng)的UI,我們對(duì)其進(jìn)行了截圖和參考,然后完善了自己的頁(yè)面布局。</p>

44、<p>  4.3系統(tǒng)實(shí)現(xiàn)的特色之處(包括技術(shù)和功能)</p><p>  系統(tǒng)的基本功能都是平時(shí)課堂中學(xué)習(xí)的內(nèi)容,主要就是添加了分頁(yè)功能。我們?cè)赨I設(shè)計(jì)上,參照了合肥學(xué)院的教務(wù)管理系統(tǒng),對(duì)于常規(guī)的界面進(jìn)行了簡(jiǎn)單的美化。</p><p><b>  4.4 系統(tǒng)測(cè)試</b></p><p>  進(jìn)行多次試驗(yàn),將數(shù)據(jù)庫(kù)中已有的信息進(jìn)

45、行修改,觀察數(shù)據(jù)庫(kù)中的值是否有改變;登陸時(shí)輸入錯(cuò)誤信息,觀察是否能登陸到頁(yè)面??傮w測(cè)試方案就是多次試驗(yàn)觀察結(jié)果?;竟δ芸梢詫?shí)現(xiàn)。</p><p><b>  五、總結(jié)</b></p><p><b>  5.1不足</b></p><p>  (1) 數(shù)據(jù)庫(kù)設(shè)計(jì)不合理,導(dǎo)致后序程序開發(fā)總是在不斷的修改,這樣可能導(dǎo)致系統(tǒng)產(chǎn)

46、生更多的安全隱患,對(duì)系統(tǒng)的整體開發(fā)很不利。</p><p>  (2) 界面功能單一,只是實(shí)現(xiàn)了課程設(shè)計(jì)中老師要求的內(nèi)容,沒(méi)有對(duì)其進(jìn)行擴(kuò)充,只是簡(jiǎn)單的增刪改查。</p><p>  (3) 因?yàn)檎n程設(shè)計(jì)任務(wù)書表達(dá)不明確,再加上我們團(tuán)隊(duì)對(duì)其理解和人物樹有出入,系統(tǒng)沒(méi)有管理員的角色,將管理員的所有功能合并到了教師角色中,可能會(huì)對(duì)用戶使用上造成不便。</p><p>&l

47、t;b>  5.2 總結(jié)</b></p><p>  作為本小組的組長(zhǎng),我較稱職的完成了我的工作,在缺少一人的情況下,我們3位成員較成功的完成了5人題。從開始的系統(tǒng)分析與功能設(shè)計(jì)到分工再到整合最后在一起調(diào)試BUG等,我們3位成員一起成長(zhǎng),雖然過(guò)程中有許多磕磕絆絆,但是在我們的努力下全都一一克服了。</p><p>  課程設(shè)計(jì)這段時(shí)間使我對(duì)web有了更深層次的了解,以前在

48、瀏覽網(wǎng)頁(yè)時(shí),覺(jué)得它是一個(gè)很神秘的東西,好像很難做出來(lái);上第一堂課時(shí),我非常不相信張老師說(shuō)的“等我們上完這學(xué)期后大家都能做出這些網(wǎng)頁(yè)”這句話。但是通過(guò)這段時(shí)間的實(shí)踐,我也可以做出這些網(wǎng)頁(yè)了,雖然我現(xiàn)在的技術(shù)不是很精細(xì),做出來(lái)的網(wǎng)頁(yè)也不夠美觀,功能可能也比較簡(jiǎn)單,但是我還是很開心,畢竟我在往前走,我在進(jìn)步。</p><p>  在課程設(shè)計(jì)中我遇到很多問(wèn)題,首先是數(shù)據(jù)庫(kù)設(shè)計(jì)的問(wèn)題。在沒(méi)有真正開始編代碼的時(shí)候,我們只是簡(jiǎn)

49、單的設(shè)計(jì)了一下數(shù)據(jù)庫(kù),并沒(méi)有深入的考慮當(dāng)我們真正開發(fā)起來(lái)那些表之間應(yīng)該有什么關(guān)系,只是按照任務(wù)書中直白的書面要求,對(duì)應(yīng)的建了十幾個(gè)表,可是當(dāng)我們實(shí)際開發(fā)時(shí),慢慢發(fā)現(xiàn)問(wèn)題很多,只能一點(diǎn)一點(diǎn)的去補(bǔ)救,所以我現(xiàn)在很明確一點(diǎn),就是以后做課程設(shè)計(jì)的時(shí)候一定要花足夠的時(shí)間設(shè)計(jì)出一個(gè)合理完善的數(shù)據(jù)庫(kù)。</p><p>  除此之外,這兩周的時(shí)間讓我對(duì)web知識(shí)理解的更深一些,因?yàn)橄到y(tǒng)需要我們將平時(shí)學(xué)到的所有知識(shí)融會(huì)貫通,同時(shí)善

50、于利用身邊的資源,有不懂的問(wèn)題可以向老師或同學(xué)請(qǐng)教,也可以通過(guò)網(wǎng)絡(luò)獲得我們想要的知識(shí)。就像這次課程設(shè)計(jì),我了解到了分頁(yè)的方法,雖然不能解釋分頁(yè)每一行代碼的意思,但是大致明白是怎么用的。</p><p>  當(dāng)然我的能力還是很有限的,通過(guò)這次的課程設(shè)計(jì),我大致明確了以后的任務(wù),要好好學(xué)習(xí)java和javaEE。對(duì)于問(wèn)題不僅要知道其然,還要知道其所以然。</p><p><b>  

51、參考文獻(xiàn)</b></p><p>  [1] 鄒建.深入淺出--SQL SERVER 2005開發(fā)、管理與應(yīng)用實(shí)例.人民郵電出版社,2008年.</p><p>  [2] 樊月華.Web技術(shù)應(yīng)用基礎(chǔ).清華大學(xué)出版社, 2013年.</p><p>  [3] 飛思科技產(chǎn)品研發(fā)著:JSP應(yīng)用開發(fā)詳解(第二版),電子工業(yè)出版社, 2004年.</p&

52、gt;<p>  [4] 張洪偉著:Tomcat Web開發(fā)及整合應(yīng)用,清華大學(xué)出版社, 2006年.</p><p>  [5] 陳剛著:Eclipse從入門到精通(第2版),清華大學(xué)出版社, 2007年.</p><p>  [6] 史濟(jì)民等著:軟件工程—原理、方法與應(yīng)用(第3版),高等教育出版社, 2013年.</p><p>  [7] 朱福喜

53、著:面向?qū)ο笈cJava程序設(shè)計(jì),清華大學(xué)出版社, 2011年.</p><p>  [8] 鄭人杰等著:軟件測(cè)試,人民郵電出版社, 2014年.</p><p>  [9] 趙彥著:JavaEE框架技術(shù)進(jìn)階式教程,清華大學(xué)出版社, 2014年.</p><p>  [10] 耿祥義著:Java課程報(bào)告,清華大學(xué)出版社, 2013年.</p><p

54、>  [11] 肖磊等著:Java實(shí)用教程,人民郵電出版社, 2013年.</p><p><b>  附錄</b></p><p>  1、index.jsp</p><p>  <%@ page language="java" import="java.util.*" pageEncodi

55、ng="UTF-8"%></p><p><b>  <%</b></p><p>  String path = request.getContextPath();</p><p>  String basePath = request.getScheme()+"://"+request.g

56、etServerName()+":"+request.getServerPort()+path+"/";</p><p><b>  %></b></p><p>  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

57、;</p><p><b>  <html></b></p><p><b>  <head></b></p><p>  <base href="<%=basePath%>"></p><p>  <title>My

58、JSP 'index.jsp' starting page</title></p><p>  <meta http-equiv="pragma" content="no-cache"></p><p>  <meta http-equiv="cache-control" conten

59、t="no-cache"></p><p>  <meta http-equiv="expires" content="0"> </p><p>  <meta http-equiv="keywords" content="keyword1,keyword2,keywor

60、d3"></p><p>  <meta http-equiv="description" content="This is my page"></p><p><b>  <!--</b></p><p>  <link rel="stylesheet&

61、quot; type="text/css" href="styles.css"></p><p><b>  --></b></p><p><b>  </head></b></p><p><b>  <body></b>

62、</p><p>  This is my JSP page. <br></p><p><b>  </body></b></p><p><b>  </html></b></p><p>  2、login.jsp</p><p> 

63、 <%@ page language="java" contentType="text/html; charset=UTF-8"</p><p>  pageEncoding="UTF-8"%></p><p>  <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01

64、 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"></p><p><b>  <html></b></p><p><b>  <head></b></p><p>  <meta http

65、-equiv="Content-Type" content="text/html; charset=UTF-8"></p><p>  <title>歡迎使用課程管理系統(tǒng)</title></p><p>  <link href="css/login.css" rel="stylesh

66、eet" /></p><p>  <script language="javascript"></p><p>  function checkForm(){</p><p>  var user=document.myForm.username.value;</p><p>  if(use

67、r==""){</p><p>  alert("用戶名不能為空!");</p><p>  document.myForm.username.focus();</p><p>  return false;</p><p><b>  }</b></p><p

68、>  var pwd=document.myForm.userpwd.value;</p><p>  if((pwd.length<6)||(pwd.length>10)){</p><p>  alert("密碼長(zhǎng)度在6到10位之間!");</p><p>  return false;</p><p&g

69、t;<b>  }</b></p><p>  var sf=document.myForm.usersf;</p><p>  var flag=false;</p><p>  for(var i=0;i<sf.length;i++){</p><p>  if(sf[i].checked)</p>

70、<p>  flag=true;</p><p><b>  }</b></p><p>  if(!flag){</p><p>  alert("身份不能為空!");</p><p>  return false;</p><p><b>  }&

71、lt;/b></p><p><b>  }</b></p><p><b>  </script></b></p><p><b>  </head></b></p><p><b>  <body></b>&l

72、t;/p><p><b>  <% </b></p><p>  String loginUserName="",loginUserPwd="";</p><p>  Cookie[] cookies = request.getCookies();</p><p>  if(co

73、okies!=null){</p><p>  int len = cookies.length;</p><p>  for(int i = 0; i<len; i++){</p><p>  Cookie cookie1 = cookies[i];</p><p>  if(cookie1.getName().equals(&quo

74、t;userName"))</p><p>  loginUserName = cookie1.getValue();</p><p>  else if(cookie1.getName().equals("userPwd"))</p><p>  loginUserPwd = cookie1.getValue();</p>

75、<p><b>  } </b></p><p><b>  } </b></p><p><b>  %></b></p><p>  <div class="outer"></p><p>  <div cl

76、ass="inner"></p><p>  <form action="loginProc.jsp" method="post" name="myForm" onsubmit="return checkForm();"></p><p><b>  <ta

77、ble></b></p><p><b>  <tr></b></p><p>  <td height="36px" class="size">用戶名:</td></p><p>  <td><input type="te

78、xt" name="username" value="<%=loginUserName%>"/></td></p><p><b>  </tr></b></p><p><b>  <tr></b></p><p> 

79、 <td height="36px" class="size">密&nbsp;&nbsp;碼:</td></p><p>  <td><input type="password" name="userpwd" value="<%=loginUserPwd%>

80、;"/></td></p><p><b>  </tr></b></p><p><b>  <tr></b></p><p>  <td height="36px" colspan="2"></p>&

81、lt;p>  <center class="size"></p><p>  <input type="radio" name="usersf" value="xs"/>學(xué)生&nbsp;</p><p>  <input type="radio"

82、name="usersf" value="js"/>教師&nbsp;</p><p><b>  </center></b></p><p><b>  </td></b></p><p><b>  </tr></b

83、></p><p><b>  <tr></b></p><p>  <td height="36px" colspan="2" align="center"></p><p>  <input type="submit" val

84、ue="" class="button1"/>&nbsp;&nbsp;&nbsp;</p><p>  <input type="reset" value="" class="button2"/></p><p><b>  </td

85、></b></p><p><b>  </tr></b></p><p><b>  </table></b></p><p><b>  </form></b></p><p><b>  </div&g

86、t;</b></p><p><b>  </div></b></p><p><b>  </body></b></p><p><b>  </html></b></p><p>  3、loginProc.jsp</p

87、><p>  <%@ page language="java" contentType="text/html; charset=UTF-8"</p><p>  pageEncoding="UTF-8" import="java.sql.*"%></p><p>  <!D

88、OCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"></p><p><b>  <html></b></p><p><b>  <head>

89、</b></p><p>  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></p><p>  <title>用戶名密碼審核</title></p><p><b>  </

90、head></b></p><p><b>  <body></b></p><p><b>  <% </b></p><p>  Connection conn = null;</p><p>  PreparedStatement pstm = null;

91、</p><p>  ResultSet rs = null;</p><p>  String tpwd = null;</p><p>  String name = request.getParameter("username");</p><p>  String pwd = request.getParamete

92、r("userpwd");</p><p>  String sf = request.getParameter("usersf");</p><p>  boolean flag = false;</p><p>  Class.forName("com.microsoft.sqlserver.jdbc.SQLSe

93、rverDriver"); </p><p>  String url = "jdbc:sqlserver://localhost:1433;databasename=kcglxt";</p><p>  conn = DriverManager.getConnection(url,"sa","123456");<

94、/p><p>  if(sf.equals("xs"))</p><p><b>  {</b></p><p>  String sql = "select num from student where num in (select studentnum from choose)";</p>

95、<p>  pstm = conn.prepareStatement(sql);</p><p>  rs = pstm.executeQuery();</p><p>  while(rs.next()){</p><p>  if(rs.getString("num").equals(name))</p><p&

96、gt;  flag = true;</p><p><b>  }</b></p><p><b>  if(flag){</b></p><p>  sql = "select password from student where num = ?";</p><p>  ps

97、tm = conn.prepareStatement(sql);</p><p>  pstm.setString(1,name);</p><p>  rs = pstm.executeQuery();</p><p>  while(rs.next()){</p><p>  tpwd = rs.getString("passw

98、ord");</p><p><b>  }</b></p><p>  if(tpwd.equals(pwd)){</p><p>  Cookie cookie1 = new Cookie("userName",name);</p><p>  Cookie cookie2 = new

99、Cookie("userPwd",pwd);</p><p>  cookie1.setMaxAge(60*60);</p><p>  cookie2.setMaxAge(60*60);</p><p>  response.addCookie(cookie1);</p><p>  response.addCookie

100、(cookie2);</p><p>  session.setAttribute("username",name);</p><p>  response.sendRedirect("student/student.jsp");</p><p><b>  }else</b></p>&l

101、t;p>  response.sendRedirect("error.html");</p><p><b>  }</b></p><p><b>  else</b></p><p>  response.sendRedirect("error.html");</p&

102、gt;<p><b>  }</b></p><p>  else if(sf.equals("js"))</p><p><b>  {</b></p><p>  String sql = "select num from teacher";</p>

103、<p>  pstm = conn.prepareStatement(sql);</p><p>  rs = pstm.executeQuery();</p><p>  while(rs.next()){</p><p>  if(rs.getString("num").equals(name))</p><p&

104、gt;  flag = true;</p><p><b>  }</b></p><p><b>  if(flag){</b></p><p>  sql = "select password from teacher where num = ?";</p><p>  ps

105、tm = conn.prepareStatement(sql);</p><p>  pstm.setString(1,name);</p><p>  rs = pstm.executeQuery();</p><p>  while(rs.next()){</p><p>  tpwd = rs.getString("passw

106、ord");</p><p><b>  }</b></p><p>  if(tpwd.equals(pwd)){</p><p>  Cookie cookie1 = new Cookie("userName",name);</p><p>  Cookie cookie2 = new

107、Cookie("userPwd",pwd);</p><p>  cookie1.setMaxAge(60*60);</p><p>  cookie2.setMaxAge(60*60);</p><p>  response.addCookie(cookie1);</p><p>  response.addCookie

108、(cookie2);</p><p>  session.setAttribute("username",name);</p><p>  response.sendRedirect("teacher/teacher.jsp");</p><p><b>  }else</b></p>&l

109、t;p>  response.sendRedirect("error.html");</p><p><b>  }else</b></p><p>  response.sendRedirect("error.html");</p><p><b>  }</b></p

110、><p><b>  %></b></p><p><b>  </body></b></p><p><b>  </html></b></p><p>  4、std_cf.jsp</p><p>  <%@ page

111、 language="java" contentType="text/html; charset=UTF-8"</p><p>  pageEncoding="UTF-8" import="java.sql.*"%></p><p>  <!DOCTYPE html PUBLIC "-//

112、W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"></p><p><b>  <html></b></p><p><b>  <head></b></p><p&

113、gt;  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></p><p>  <title>課程管理系統(tǒng)——查分</title></p><p>  <link href="../css/std.css"

114、; rel="stylesheet" /></p><p><b>  </head></b></p><p><b>  <body></b></p><p><b>  <%</b></p><p>  Connect

115、ion conn = null;</p><p>  PreparedStatement pstm = null;</p><p>  ResultSet rs = null;</p><p>  Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); </p>

116、<p>  String url = "jdbc:sqlserver://localhost:1433;databasename=kcglxt";</p><p>  conn = DriverManager.getConnection(url,"sa","123456"); </p><p>  String id =

117、 (String)session.getAttribute("username");</p><p>  String name = (String)session.getAttribute("name");</p><p>  String sql = "select course.name,grade from course,choos

118、e where studentnum = ? and coursenum = course.num";</p><p>  pstm = conn.prepareStatement(sql);</p><p>  pstm.setString(1,id);</p><p>  rs = pstm.executeQuery();</p><

119、;p><b>  %></b></p><p>  <div class="bg"></p><p>  <div class="div1"></p><p>  <table class="size"></p><p

120、><b>  <tr></b></p><p>  <td width="95px" align="center"><a href="std_grxx.jsp">個(gè)人信息</a></td></p><p>  <td width=&quo

121、t;95px" align="center"><a href="std_kcxx.jsp">課程信息</a></td></p><p>  <td width="95px" align="center"><a href="std_xk.jsp"&

122、gt;選&nbsp;&nbsp;&nbsp;課</a></td></p><p>  <td width="113px" align="center"><a href="std_cf.jsp">查&nbsp;&nbsp;&nbsp;分</a><

123、;/td></p><p>  <td width="95px" align="center"><a href="student.jsp">返回首頁(yè)</a></td></p><p><b>  </tr></b></p><

124、;p><b>  </table></b></p><p><b>  </div></b></p><p>  <div class="div2"></p><p><b>  當(dāng)前位置——查分</b></p><p&

125、gt;<b>  </div></b></p><p>  <div class="div3"></p><p>  歡迎您:<%= id%>&nbsp;<%= name%>&nbsp;<a href="../login.jsp">注銷</a>

126、;&nbsp;<a href="std_xgmm.jsp">修改密碼</a></p><p><b>  </div></b></p><p>  <div class="div4"></p><p>  <table style="

127、color:#11449E" bgcolor="#F2F6FB" border="3" cellpadding="8" cellspacing="3" bordercolor="#C8DEFC"></p><p><b>  <tr></b></p>

128、<p>  <th>課程名</th></p><p>  <th>成績(jī)</th></p><p><b>  </tr></b></p><p>  <% while(rs.next()){%></p><p><b>  <

129、;tr></b></p><p>  <td><%= rs.getString("name")%></td></p><p>  <% if(rs.getString("grade")==null){%></p><p>  <td>未錄入</

130、td></p><p>  <% }else{%></p><p>  <td><%= rs.getString("grade")%></td></p><p><b>  <% }%></b></p><p><b>  &

131、lt;/tr></b></p><p><b>  <% }%></b></p><p><b>  </table></b></p><p>  <input style="color:#11449E;background-color:#F2F6FB;border

132、:solid #99B9E2 1px;cursor:pointer;" type="button" value="打印成績(jī)" onclick="window.print();"/></p><p><b>  </div></b></p><p><b>  </d

133、iv></b></p><p><b>  <%</b></p><p>  conn.close();</p><p>  pstm.close();</p><p>  rs.close(); </p><p><b>  %></b><

134、;/p><p><b>  </body></b></p><p><b>  </html></b></p><p>  5、std_grxx.jsp</p><p>  <%@ page language="java" contentType=&qu

135、ot;text/html; charset=UTF-8"</p><p>  pageEncoding="UTF-8" import="java.sql.*"%></p><p>  <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

136、"http://www.w3.org/TR/html4/loose.dtd"></p><p><b>  <html></b></p><p><b>  <head></b></p><p>  <meta http-equiv="Content-Typ

137、e" content="text/html; charset=UTF-8"></p><p>  <title>課程管理系統(tǒng)——個(gè)人信息</title></p><p>  <link href="../css/std.css" rel="stylesheet" /></p

138、><p><b>  </head></b></p><p><b>  <body></b></p><p><b>  <%</b></p><p>  Connection conn = null;</p><p>  P

139、reparedStatement pstm1 = null;</p><p>  PreparedStatement pstm2 = null;</p><p>  ResultSet rs1 = null;</p><p>  ResultSet rs2 = null;</p><p>  Class.forName("com.m

140、icrosoft.sqlserver.jdbc.SQLServerDriver"); </p><p>  String url = "jdbc:sqlserver://localhost:1433;databasename=kcglxt";</p><p>  conn = DriverManager.getConnection(url,"sa&q

141、uot;,"123456"); </p><p>  String id = (String)session.getAttribute("username");</p><p>  String name = (String)session.getAttribute("name");</p><p>  S

142、tring sql1 = "select * from student where num = ?";</p><p>  String sql2 = "select name from class where num = (select class from student where num = ?)";</p><p>  pstm1 = co

143、nn.prepareStatement(sql1);</p><p>  pstm1.setString(1,id);</p><p>  rs1 = pstm1.executeQuery();</p><p>  pstm2 = conn.prepareStatement(sql2);</p><p>  pstm2.setString(1

144、,id);</p><p>  rs2 = pstm2.executeQuery();</p><p>  rs1.next();</p><p>  rs2.next();</p><p><b>  %></b></p><p>  <div class="bg"

溫馨提示

  • 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ù)僅提供信息存儲(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)論