版權(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ào)告</b></p><p> 課程: jsp </p><p> 學(xué)號(hào): </p><p> 姓名: </p><p> 班級(jí): </p><p>
2、 教師: </p><p> 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院</p><p><b> 課程設(shè)計(jì)任務(wù)書</b></p><p><b> 學(xué)生選課管理系統(tǒng)</b></p><p><b> 一.系統(tǒng)需求分析</b></p><p>
3、; 學(xué)生選課系統(tǒng)是一個(gè)學(xué)校不可缺少的部分,它的內(nèi)容對(duì)于學(xué)校的決策者和管理者來說都至關(guān)重要,所以學(xué)生選課系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄巍kS著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來越重要的作用。 作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)選課信息進(jìn)行管理,有著手工管理所無法比擬的優(yōu)點(diǎn)。這些優(yōu)點(diǎn)能夠極大地提高人事勞資管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化
4、管理,與世界接軌的重要條件。 因此,開發(fā)這樣一套軟件成為很有必要的事情,在下面的各章中我們將以開發(fā)一套學(xué)生選課系統(tǒng)為例,談?wù)勂溟_發(fā)過程和所涉及到的問題及解決方法。 本實(shí)驗(yàn)實(shí)現(xiàn)的學(xué)生選課管理系統(tǒng)主要包括以下功能:</p><p> 1.完成數(shù)據(jù)的錄入和修改,并提交數(shù)據(jù)庫(kù)保存。其中的數(shù)據(jù)包括:學(xué)生信息、課程設(shè)置、學(xué)生成績(jī)以及操作員信息等; 2.設(shè)計(jì)實(shí)現(xiàn)學(xué)生信息查詢,選課管理、退選管理、分?jǐn)?shù)查
5、詢,課程的瀏覽教師信息查詢、教室空閑時(shí)間查詢等JSP頁(yè)面 。 3.具備一定的安全性管理功能。包括操作員的權(quán)限設(shè)置、修改密碼設(shè)置、注銷和等功能。</p><p><b> 二.系統(tǒng)總概括</b></p><p><b> 1.系統(tǒng)的總設(shè)計(jì)</b></p><p> 本系統(tǒng)結(jié)合數(shù)據(jù)庫(kù)和JSP編程實(shí)現(xiàn)了學(xué)生選課管理
6、系統(tǒng)。學(xué)生選課管理系統(tǒng)分為三個(gè)子模塊:第一模塊是學(xué)生選課的頁(yè)面操作,包括個(gè)人信息,密碼修改,查詢成績(jī),選課,退選五個(gè)功能;第二模塊是教師操作頁(yè)面,包含個(gè)人信息,密碼修改,錄入成績(jī),查詢選課情況,查看教室信息;第三模塊是管理員,包含學(xué)生信息管理(增加、修改、刪除、查詢),教師信息管理(增加、修改、刪除、查詢),管理員信息管理(增加、修改、刪除、查詢)。</p><p> 圖1 系統(tǒng)的功能模塊圖</p>
7、;<p><b> 2.?dāng)?shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p> 2.1數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)</p><p> 本系統(tǒng)主要有三個(gè)實(shí)體,其中有學(xué)生和課程兩個(gè)實(shí)體集,一個(gè)學(xué)生可以選修若干門課程,一門課程也可以被多個(gè)學(xué)生選修,這兩個(gè)實(shí)體集之間是多對(duì)多聯(lián)系,還有教師和課程兩個(gè)實(shí)體,一個(gè)老師可以教授若干門課程,一門課程卻只能有一個(gè)老師教授,這兩個(gè)實(shí)體集之間是一對(duì)多
8、聯(lián)系。通過選課成績(jī)將老師和學(xué)生聯(lián)系在一起。為保證系統(tǒng)的安全性,設(shè)置了操作員這一實(shí)體集,用來存放合法用戶的編號(hào)、姓名、密碼。本系統(tǒng)的E-R圖如下:</p><p> 圖2 系統(tǒng)的E-R圖</p><p> 2.2數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)</p><p> 根據(jù)關(guān)系模型的轉(zhuǎn)換原則,上面的E—R圖可轉(zhuǎn)換為如下所示的關(guān)系模型:</p><p>
9、student(sId,sName,sPass,dId)</p><p> 含義分別為:學(xué)生(學(xué)號(hào),姓名,密碼,所在系的編號(hào))</p><p> stuDetail(userID,userSex,userMobil,useraddress)</p><p> 含義分別為:學(xué)生信息(學(xué)號(hào),性別,電話,地址)</p><p> teach
10、er(tId,tPame,tPass,dId)</p><p> 含義分別為:教師(學(xué)號(hào),姓名,密碼,所在系的編號(hào))</p><p> teaDetail(userID,userSex,userAge,useredu,usertitle,usersch,userhealth)</p><p> 含義分別為:教師信息(學(xué)號(hào),性別,年齡,學(xué)歷,職稱,畢業(yè)院校,健康
11、狀況)</p><p> course(cId,cName,tId,credit,period,cPlace,cNumall,cNum,dId)</p><p> 含義分別為:課程(課程號(hào),名稱,教師號(hào),學(xué)分,學(xué)時(shí),上課地點(diǎn),總?cè)藬?shù),已選人數(shù),院系號(hào))</p><p> choosecourse(cId,sId, Grade)</p><p
12、> 含義分別為:選修(學(xué)號(hào),課程代碼,成績(jī))</p><p> room(roomname,roomnum,roomtime)</p><p> 含義分別為:教室(教室名,容納人數(shù),空閑時(shí)間)</p><p> admin(aId,aPass)</p><p> 含義分別為:管理員(管理員編號(hào),姓名)</p>&
13、lt;p> department(dId,dName)</p><p> 含義分別為:院系(院系編號(hào),院系名)</p><p> 根據(jù)上面的E-R圖設(shè)計(jì)及關(guān)系模型的設(shè)計(jì),得出數(shù)據(jù)表的設(shè)計(jì),在本系統(tǒng)中主要的數(shù)據(jù)表如下:</p><p> 表1 學(xué)生表Student的表結(jié)構(gòu)</p><p> 表2 學(xué)生信息表StuDetail的表
14、結(jié)構(gòu)</p><p> 表3 教師表teacher的表結(jié)構(gòu)</p><p> 表4 教師信息表teadetail的表結(jié)構(gòu)</p><p> 表5 課程信息表Course的表結(jié)構(gòu)</p><p> 表6 選課成績(jī)表choosecourse的表結(jié)構(gòu)</p><p> 表7 教室信息表room的表結(jié)構(gòu)</p&
15、gt;<p> 表8 管理員表admin的表結(jié)構(gòu)</p><p> 表9 院系表department的表結(jié)構(gòu)</p><p> 下面在系統(tǒng)實(shí)施階段就可以物理實(shí)現(xiàn)數(shù)據(jù)庫(kù)了,本系統(tǒng)使用前面實(shí)驗(yàn)已經(jīng)建好的服務(wù)器端SQL Server數(shù)據(jù)庫(kù)—xuanke,具體創(chuàng)建方法見前面實(shí)驗(yàn)。</p><p><b> 三.系統(tǒng)實(shí)現(xiàn)</b>&l
16、t;/p><p> 本實(shí)驗(yàn)是用JSP結(jié)合數(shù)據(jù)庫(kù)實(shí)現(xiàn)的,其中包含了三個(gè)主頁(yè)面,一是學(xué)生登錄頁(yè)面,二是教師登錄頁(yè)面,三是管理員登錄頁(yè)面。其中每個(gè)頁(yè)面中都會(huì)有菜單進(jìn)行相應(yīng)的操作。</p><p> 3.1 JSP文件代表的操作</p><p><b> (1)主界面操作:</b></p><p> Index.jsp//登
17、錄界面(包含學(xué)生、教師、管理員三個(gè)選項(xiàng))</p><p> Login.jsp//密碼驗(yàn)證</p><p><b> (2)學(xué)生選課</b></p><p> (a)學(xué)生選課界面:student.jps//菜單顯示</p><p> studentIndex.html//歡迎界面</p><p
18、> studentMessage.jsp</p><p> (b)個(gè)人信息:studMessSel.jsp//個(gè)人信息的頁(yè)面顯示</p><p> (c)密碼修改:stuM.jsp//在數(shù)據(jù)庫(kù)中修改密碼</p><p> stuMessMod.jsp//修改密碼界面</p><p> stuMessModSuc.jsp//修改
19、成功</p><p> (d)成績(jī)查詢:gradeselect.jsp//相應(yīng)課程的成績(jī)查詢</p><p> (e)選課:choosecourse.jsp//所有課程顯示</p><p> choose.jsp//在數(shù)據(jù)庫(kù)中插入數(shù)據(jù)</p><p> choosesuccess.jsp//選課成功</p><p&
20、gt; (f)選課情況查詢及退選:courseselect.jsp//選課情況查詢</p><p> ccdel.jsp//數(shù)據(jù)庫(kù)中刪除選課記錄</p><p> (g)注銷: zhuxiao.jsp//注銷</p><p><b> (3)教師管理</b></p><p> (a)教師管理界面:teacher
21、.jps//菜單顯示</p><p> teacherIndex.html//歡迎界面</p><p> teacherMessage.jsp</p><p> (b)個(gè)人信息:teacherMessSel.jsp//個(gè)人信息的頁(yè)面顯示</p><p> (c)密碼修改:teacherM.jsp//在數(shù)據(jù)庫(kù)中修改密碼</p>
22、;<p> teacherMod.jsp//修改密碼界面</p><p> teaMessModSuc.jsp//修改成功</p><p> (d)提交成績(jī):grade.jsp//選課學(xué)生信息顯示</p><p> gradeIns.jsp//在數(shù)據(jù)庫(kù)中插入數(shù)據(jù)</p><p> (e)課程信息:lookcourse.
23、jsp//選課情況查詢</p><p> (f)教室信息:classroom.jsp//查看可用教室的空閑時(shí)間 </p><p> (g)注銷: zhuxiao.jsp//注銷</p><p> 3.2 數(shù)據(jù)庫(kù)的連接</p><p> 舉例:驗(yàn)證用戶類型和密碼時(shí)的數(shù)據(jù)庫(kù)連接</p><p><b>
24、; <body></b></p><p><b> <%</b></p><p> String name=(String)request.getParameter("username");</p><p> String pass=(String)request.getParamete
25、r("userpass");</p><p> String s=(String)request.getParameter("userselect");</p><p> Connection conn=null;</p><p> Statement stmt=null;</p><p> R
26、esultSet rs=null;</p><p> String loginNum="0";</p><p> session.setAttribute("lnum",loginNum);</p><p><b> try</b></p><p><b> {&
27、lt;/b></p><p> Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");</p><p> conn=DriverManager.getConnection("jdbc:odbc:xk","sa","");</p><p>
28、 if(s.equals("1"))</p><p><b> {</b></p><p> String sql="select * from student where sId='"+name+"' and sPass='"+pass+"'";<
29、;/p><p> stmt=conn.createStatement();</p><p> rs=stmt.executeQuery(sql);</p><p> if(rs.next()) </p><p><b> {</b></p><p> loginNum="1&quo
30、t;;</p><p> session.setAttribute("lnum",loginNum);</p><p> session.setAttribute("name",name);</p><p> out.print(name+"登陸成功,頁(yè)面跳轉(zhuǎn)........");</p>
31、<p> response.sendRedirect("student/studentIndex.html");</p><p><b> }</b></p><p><b> else </b></p><p><b> {</b></p>&
32、lt;p> out.print("用戶名或密碼有誤..");</p><p> response.sendRedirect("index.jsp");</p><p><b> }</b></p><p><b> }</b></p><p>
33、 if(s.equals("2"))</p><p><b> {</b></p><p> String sql="select * from teacher where tId='"+name+"' and tPass='"+pass+"'";<
34、;/p><p> stmt=conn.createStatement();</p><p> rs=stmt.executeQuery(sql);</p><p> if(rs.next()) </p><p><b> {</b></p><p> loginNum="2&quo
35、t;;</p><p> session.setAttribute("lnum",loginNum);</p><p> session.setAttribute("name",name);</p><p> out.print(name+"登陸成功,頁(yè)面跳轉(zhuǎn)........");</p>
36、<p> response.sendRedirect("teacher/teacherIndex.html");</p><p><b> }</b></p><p><b> else </b></p><p><b> {</b></p>&
37、lt;p> out.print("用戶名或密碼有誤..");</p><p> response.sendRedirect("index.jsp");</p><p><b> }</b></p><p><b> }</b></p><p>
38、 if(s.equals("3"))</p><p><b> {</b></p><p> String sql="select * from admin where aId='"+name+"' and aPass='"+pass+"'";</
39、p><p> stmt=conn.createStatement();</p><p> rs=stmt.executeQuery(sql);</p><p> if(rs.next())</p><p><b> {</b></p><p> loginNum="3";
40、</p><p> session.setAttribute("lnum",loginNum);</p><p> session.setAttribute("name",name);</p><p> out.print("管理員"+name+"登陸成功,頁(yè)面跳轉(zhuǎn)........"
41、;);</p><p> response.sendRedirect("admin/adminIndex.html");</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></
42、p><p> out.print("用戶名或密碼有誤..");</p><p> out.print("<a href=index.jsp>登陸頁(yè)面</a>");</p><p><b> }</b></p><p><b> }</b&
43、gt;</p><p><b> }</b></p><p> catch(Exception e){out.print(e);</p><p> //response.sendRedirect("index.jsp");</p><p><b> }</b></p
44、><p><b> %></b></p><p><b> </body></b></p><p><b> 3.3 具體操作</b></p><p><b> (1)學(xué)生選課操作</b></p><p>&l
45、t;b> (a)登錄頁(yè)面</b></p><p> 圖1.1 學(xué)生登錄頁(yè)面</p><p><b> 主要代碼:</b></p><p><b> <body></b></p><p> <form name="loginform"
46、method="post" action="login.jsp"></p><p><b> <br></b></p><p><b> <br></b></p><p><b> <br></b></p&g
47、t;<p><b> <br></b></p><p> <table width="500" height="150" border="0" align="center"></p><p><b> <tr></b&
48、gt;</p><p> <td align="center"><font size="5" color="#FFFFFF">歡迎您使用學(xué)生選課系統(tǒng)</font></td></p><p><b> </tr></b></p>&l
49、t;p><b> <tr></b></p><p><b> </table></b></p><p> <table width="294" border="0" align="center"></p><p>&
50、lt;b> <tr></b></p><p> <td colspan="3"> </td></p><p><b> </tr></b></p><p><b> <tr></b></p>
51、;<p> <td width="79">用戶名:</td></p><p> <td width="148"><input name="username" type="text" size="20" size="20" maxleng
52、th="30"></td></p><p> <td width="53" rowspan="2"><img src="image/logo_img.gif" width="37" height="40" onClick="loginclick()
53、"> </td></p><p><b> </tr></b></p><p><b> <tr></b></p><p> <td>密碼:</td></p><p> <td><input nam
54、e="userpass" type="password" size="20" size="20" maxlength="30"> </td></p><p><b> </tr></b></p><p><b> &
55、lt;tr></b></p><p> <td>用戶類型:</td></p><p><b> <td></b></p><p> <select name="userselect"></p><p> <option v
56、alue="1" selected>學(xué)生</option></p><p> <option value="2">教師</option></p><p> <option value="3">管理員</option></p><p>
57、</select> </td></p><p> <td> </td></p><p><b> </tr></b></p><p><b> </table></b></p><p><b&
58、gt; </form></b></p><p><b> </body></b></p><p><b> (b)菜單操作</b></p><p> 圖1.2 學(xué)生選課系統(tǒng)的界面</p><p><b> 主要代碼:</b><
59、;/p><p> <table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#000000"></p><p><b> <tr></b></p>
60、<p> <td height="40" align="center" bgcolor="#00509F"><div align="center"><font color="#FFFFFF" size="4">學(xué)生選課系統(tǒng)</font></div>
61、;</td></p><p><b> </tr></b></p><p><b> <tr></b></p><p> <td height="40" align="center" bgcolor="#FFFFFF"
62、;><div align="left"><img src="image/index_01.gif" width="20" height="17"><a href="studMessSel.jsp" target="rightFrame"><font color="
63、;#0000FF" size="3">個(gè)人信息</font></a></div></td></p><p><b> </tr></b></p><p><b> <tr></b></p><p> <t
64、d height="40" align="center" bgcolor="#FFFFFF"><div align="left"><img src="image/index_01.gif" width="20" height="17"><a href="
65、stuMessMod.jsp" target="rightFrame"><font color="#0000FF" size="3">密碼修改</font></a></div></td></p><p><b> </tr></b></p
66、><p><b> <tr></b></p><p> <td height="40" align="center" bgcolor="#FFFFFF"><div align="left"><img src="image/index_01
67、.gif" width="20" height="17"><a href="gradeSelect.jsp" target="rightFrame"><font color="#0000FF"size="3" >成績(jī)查詢</font></a></di
68、v></td></p><p><b> </tr></b></p><p><b> <tr></b></p><p> <td height="40" align="center" bgcolor="#FFFFFF&
69、quot;><div align="left"><img src="image/index_01.gif" width="20" height="17"><a href="courseSelect.jsp" target="rightFrame"><font color=
70、"#0000FF"size="3" >選課查詢以及退選</font></a></div></td></p><p><b> </tr></b></p><p><b> <tr></b></p><p&g
71、t; <td height="40" align="center" bgcolor="#FFFFFF"><div align="left"><img src="image/index_01.gif" width="20" height="17"><a hr
72、ef="choosecourse.jsp" target="rightFrame"><font color="#0000FF" size="3">選課</font></a></div></td></p><p><b> </tr></b&
73、gt;</p><p><b> <tr></b></p><p> <td height="40" align="center" bgcolor="#FFFFFF"><div align="left"><img src="image
74、/index_01.gif" width="20" height="17"><a href="zhuxiao.jsp" target="_top"><font color="#0000FF" size="3">注銷</font></a></div&g
75、t;</td></p><p><b> </tr></b></p><p><b> </table></b></p><p><b> (c)個(gè)人信息顯示</b></p><p> 學(xué)生進(jìn)入后可以在菜單里進(jìn)行相應(yīng)的操作,點(diǎn)擊個(gè)人信
76、息時(shí),就會(huì)出現(xiàn)該學(xué)生的信息.如下圖所示:</p><p> 圖1.2 學(xué)生信息顯示的界面</p><p><b> 主要代碼:</b></p><p> 從數(shù)據(jù)庫(kù)中讀出相應(yīng)的信息:</p><p><b> try</b></p><p><b> {&
77、lt;/b></p><p> Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");</p><p> conn=DriverManager.getConnection("jdbc:odbc:xk","sa","");</p><p>
78、 String sql="select * from student where student.sId='"+name+"'";</p><p> System.out.println(sql);</p><p> stmt=conn.createStatement();</p><p> rs=stm
79、t.executeQuery(sql);</p><p> if(rs.next())</p><p><b> {</b></p><p> sId=rs.getString("sId");</p><p> sName=rs.getString("sName");<
80、;/p><p> dId=rs.getString("dId");</p><p><b> }</b></p><p> String sql1="select * from stuDetail where userID ='"+name+"'";</p&
81、gt;<p> System.out.println(sql1);</p><p> stmt=conn.createStatement();</p><p> rs=stmt.executeQuery(sql1);</p><p> if(rs.next())</p><p><b> {</b>
82、;</p><p> Sex=rs.getString("userSex");</p><p> Mobil=rs.getString("userMobil");</p><p> Addr=rs.getString("userAddress");</p><p><b&
83、gt; }</b></p><p> Connection connd=null;</p><p> Statement stmtd=null;</p><p> ResultSet rsd=null;</p><p> connd=DriverManager.getConnection("jdbc:odbc:
84、xk","sa","");</p><p> stmtd=connd.createStatement();</p><p> rsd=stmtd.executeQuery("select dName from department where dId='"+dId+"'");<
85、;/p><p> if(rsd.next())</p><p><b> {</b></p><p> dName=rsd.getString("dName");</p><p><b> }</b></p><p><b> }</
86、b></p><p> catch(Exception e){out.println(e);</p><p><b> }</b></p><p><b> %></b></p><p> <form name="form1" method="
87、post"></p><p> <table width="350" border="0" align="center" cellpadding="0" cellspacing="2" class="border"> </p><p> &
88、lt;td height="25" align="center"><strong><font size="5" color="#FFFFFF" >學(xué)生個(gè)人信息</font></strong></td></p><p><b> </table>&
89、lt;/b></p><p> <table border="10" align="center" width="500" height="150"></p><p><b> <tr></b></p><p> <Td w
90、idth="60"> <fontsize="4" color="#FFFFFF">學(xué)號(hào)</font></Td><td width="100"> <fontsize="3" color="#FFFFFF"><%=sId%></font
91、></td></p><p> <td width="60"> <fontsize="4" color="#FFFFFF">姓名</font></td><td width="100"> <fontsize="3" color=
92、"#FFFFFF"><%=sName%></font></td></p><p> <td width="60"> <fontsize="4" color="#FFFFFF">性別</font></td><td width="
93、100"> <fontsize="3" color="#FFFFFF"><%=Sex%></font></td></p><p><b> </tr></b></p><p><b> <tr></b></p
94、><p> <td> <fontsize="4" color="#FFFFFF">院系</font></td><td> <fontsize="3" color="#FFFFFF"><%=dName%></font></td>&
95、lt;/p><p> <td> <fontsize="4" color="#FFFFFF">電話</font></td><td> <fontsize="3" color="#FFFFFF"><%=Mobil%></font></td
96、></p><p> <td> <fontsize="4" color="#FFFFFF">地址</font></td><td> <fontsize="3" color="#FFFFFF"><%=Addr%></font><
97、;/td></p><p><b> </tr></b></p><p><b> </table></b></p><p><b> </form></b></p><p><b> (d)密碼修改</b>
98、;</p><p><b> 舉例:</b></p><p> 將0826006學(xué)號(hào)的密碼該為:6666</p><p><b> 其顯示如下:</b></p><p><b> 圖1.3 修改密碼</b></p><p> 修改提交后數(shù)據(jù)庫(kù)中
99、的結(jié)果如下,可見密碼已修改</p><p> 圖1.4 數(shù)據(jù)庫(kù)中修改后的student表</p><p><b> 主要代碼:</b></p><p> 數(shù)據(jù)庫(kù)中修改該學(xué)生的密碼的代碼</p><p> String sPass=(String)request.getParameter("sPass&
100、quot;);</p><p> Connection conn=null;</p><p> Statement stmt=null;</p><p><b> try</b></p><p><b> {</b></p><p> Class.forName(&
101、quot;sun.jdbc.odbc.JdbcOdbcDriver");</p><p> conn=DriverManager.getConnection("jdbc:odbc:xk","sa","");</p><p> String sql2="update student set sPass=
102、9;"+sPass+"' where sId='"+name+"'";</p><p> stmt=conn.createStatement();</p><p> stmt.executeUpdate(sql2);stmt.close();</p><p> response.send
103、Redirect("stuMessModSuc.jsp");</p><p><b> }</b></p><p> function checkBig()</p><p><b> {</b></p><p> if (document.form1.sPass.valu
104、e=="")</p><p><b> {</b></p><p> alert("密碼不能為空!");</p><p> document.form1.sPass.focus();</p><p> return false;</p><p>&l
105、t;b> }</b></p><p> else if (document.form1.sPassagn.value=="")</p><p><b> {</b></p><p> alert("再次輸入密碼!");</p><p> document
106、.form1.sPassagn.focus();</p><p> return false;</p><p><b> }</b></p><p> else if (document.form1.sPass.value!=document.form1.sPassagn.value)</p><p><b&
107、gt; {</b></p><p> alert("兩次密碼不同!");</p><p> document.form1.sPass.focus();</p><p> return false;</p><p><b> }</b></p><p>&l
108、t;b> }</b></p><p> out.print("修改成功");</p><p><b> (e)成績(jī)查詢</b></p><p> 根據(jù)教授該門課的老師是否提交成績(jī),學(xué)生可以查到自己相應(yīng)課程的成績(jī),其查詢結(jié)果如下:</p><p> 圖1.5 查詢成績(jī)的頁(yè)面&
109、lt;/p><p><b> 主要代碼:</b></p><p><b> try</b></p><p><b> {</b></p><p> Statement stmtc=null;</p><p> ResultSet rsc=null;
110、</p><p> Connection connc=null;</p><p> Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");</p><p> connc=DriverManager.getConnection("jdbc:odbc:xk","sa"
111、,"");</p><p> String sqlc="select * from chooseCourse where sId='"+name+"'";</p><p> stmtc=connc.createStatement();</p><p> rsc=stmtc.execut
112、eQuery(sqlc);</p><p> while(rsc.next())</p><p><b> {</b></p><p> String coId=rsc.getString("coId");</p><p> float grade=rsc.getFloat("gra
113、de");</p><p> String grademess=null;</p><p> Statement stmt=null;</p><p> ResultSet rs=null;</p><p> Connection conn=null;</p><p> conn=DriverMan
114、ager.getConnection("jdbc:odbc:xk","sa","");</p><p> String sql="select coName from course where coId='"+coId+"'";</p><p> stmt=conn.cr
115、eateStatement();</p><p> rs=stmt.executeQuery(sql);</p><p> if(rs.next())</p><p> { if(grade>0)out.print(grade);</p><p> else out.print("未提交");}</p&
116、gt;<p><b> }</b></p><p> (f)課程查詢及退選</p><p> 可以通過對(duì)應(yīng)課程后面的退選選項(xiàng)進(jìn)行課程的退選</p><p> 圖1.6 查詢選課情況的頁(yè)面</p><p><b> 主要代碼:</b></p><p>
117、 <table width="90%" border="0" align="center" cellpadding="0" cellspacing="0"></p><p><b> <tr></b></p><p> <td alig
118、n="center" valign="top"></p><p> <p class="style8"></p><p> <%=name%>選課選擇情況</p></p><p> <table width="600" border=
119、"0" cellpadding="0" cellspacing="1" bgcolor="#000000"></p><p><b> <tr></b></p><p> <td width="100" align="center&
120、quot; bgcolor="#FFCCFF"><div align="center"><strong><font color="blue"> 課程名稱</font></strong></div></td></p><p> <td width="
121、60" align="center" bgcolor="#FFCCFF"><div align="center"><strong><font color="blue"> 學(xué)分</font></strong></div></td></p><
122、p> <td width="60" align="center" bgcolor="#FFCCFF"><div align="center"><strong><font color="blue"> 學(xué)時(shí)</font></strong></div>&
123、lt;/td></p><p> <td width="80" align="center" bgcolor="#FFCCFF"><div align="center"><strong><font color="blue"> 上課地點(diǎn)</font>
124、</strong></div></td></p><p> <td width="91" height="30" align="center" bgcolor="#FFCCFF"><div align="center"><strong><
125、;font color="blue"> 教師</font></strong></div></td></p><p> <td width="139" align="center" bgcolor="#FFCCFF"><strong><font col
126、or="blue">操作選項(xiàng)</font></strong></td></p><p><b> </tr></b></p><p> while(rsc.next())</p><p><b> {</b></p><p&
127、gt; String coId=rsc.getString("coId");</p><p> float grade=rsc.getFloat("grade");</p><p> String grademess=null;</p><p> Statement stmt=null;</p><
128、p> ResultSet rs=null;</p><p> Connection conn=null;</p><p> conn=DriverManager.getConnection("jdbc:odbc:xk","sa","");</p><p> String sql="s
129、elect * from course where coId='"+coId+"'";</p><p> stmt=conn.createStatement();</p><p> rs=stmt.executeQuery(sql);</p><p> if(rs.next())</p><p&
130、gt;<b> {</b></p><p> String coName=rs.getString(2);</p><p> String tId=rs.getString(3);</p><p> float credit=rs.getFloat(4);</p><p> float period=rs.ge
131、tFloat(5);</p><p> String cPlace=rs.getString(7);</p><p> Connection connt=null;</p><p> Statement stmtt=null;</p><p> ResultSet rst=null; connt=DriverManager.ge
132、tConnection("jdbc:odbc:xk","sa","");</p><p> String sqlt="select tName from teacher where tId='"+tId+"'";</p><p> stmtt=connt.createSt
133、atement();</p><p> rst=stmtt.executeQuery(sqlt);</p><p> if(rst.next())out.print(rst.getString(1));</p><p><b> }</b></p><p><b> }</b></p&
134、gt;<p> rsc.close();stmtc.close();</p><p><b> %> </b></p><p> </table> </td></p><p><b> </tr></b></p><p><
135、b> </table></b></p><p><b> (f)選課</b></p><p> 界面中已通過數(shù)據(jù)庫(kù)將所有的課程列出來,學(xué)生可以通過前面的選擇標(biāo)志進(jìn)行選課。</p><p> 圖1.7 選課信息的頁(yè)面及選課操作</p><p> 選課后,相應(yīng)數(shù)據(jù)庫(kù)中的chooseco
136、urse表增加了一行選課記錄</p><p> 圖1.8選課后數(shù)據(jù)庫(kù)中的chooseCourse表</p><p><b> 主要代碼:</b></p><p> <form action="choose.jsp" method="post"></p><p>
137、 <table width="90%" border="0" align="center" cellpadding="0" cellspacing="0"></p><p><b> <tr></b></p><p> <td alig
138、n="center" valign="top"><br></p><p><b> <br></b></p><p> <table width="800" border="0" cellpadding="0" cellspaci
139、ng="1" bgcolor="#000000"></p><p><b> <tr></b></p><p> <td width="40" height="30" align="center" bgcolor="#FFCCFF&
140、quot;><div align="center"><strong>選擇</strong></div></td></p><p> <td width="100" align="center" bgcolor="#FFCCFF"><div align
141、="center"><strong>課程名稱</strong></div></td></p><p> <td width="60" align="center" bgcolor="#FFCCFF"><div align="center"&g
142、t;<strong>學(xué)分</strong></div></td></p><p> <td width="60" align="center" bgcolor="#FFCCFF"><div align="center"><strong>學(xué)時(shí)</
143、strong></div></td></p><p> <td width="80" align="center" bgcolor="#FFCCFF"><div align="center"><strong>上課地點(diǎn)</strong></div>
144、;</td></p><p> <td width="91" height="30" align="center" bgcolor="#FFCCFF"><div align="center"><strong>教師</strong></div>
145、</td></p><p> <td width="70" align="center" bgcolor="#FFCCFF"><strong>剩余可選人數(shù)</strong></td></p><p><b> </tr></b><
146、;/p><p><b> <%</b></p><p> while(rs.next())</p><p><b> {</b></p><p> String coId=rs.getString(1);</p><p> String coName=rs.get
147、String(2);</p><p> String tId=rs.getString(3);</p><p> float credit=rs.getFloat(4);</p><p> float period=rs.getFloat(5);</p><p> String cPlace=rs.getString(6);</
148、p><p> int cNumAll=rs.getInt(7);</p><p> int cNum=rs.getInt(8);</p><p> int num=cNumAll-cNum;</p><p><b> %></b></p><p> <tr bgcolor=&qu
149、ot;#FFCCFF" class="tdbg"></p><p> <td width="40" height="22" bgcolor="#FFFFFF"><div align="center"></p><p> <input type
150、="radio" name="choose" value="<%=coId%>" <%</p><p> Connection connc=null;</p><p> Statement stmtc=null;</p><p> ResultSet rsc=null;</p
151、><p> connc=DriverManager.getConnection("jdbc:odbc:xk","sa","");</p><p> String sqlc="select * from chooseCourse where sId='"+name+"'";&l
152、t;/p><p> stmtc=connc.createStatement();</p><p> rsc=stmtc.executeQuery(sqlc);</p><p> if(rsc.next())out.print(" ");</p><p> else if(num<=0)out.print(&quo
溫馨提示
- 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)
- 信息管理系統(tǒng)課程設(shè)計(jì)_學(xué)生選課管理信息系統(tǒng)課程設(shè)計(jì)
- 學(xué)生學(xué)籍管理信息系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)--學(xué)生信息管理信息系統(tǒng)
- jsp醫(yī)院管理信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- jsp學(xué)生選課管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 學(xué)生管理信息系統(tǒng)課程設(shè)計(jì)報(bào)告
- 管理信息系統(tǒng)課程設(shè)計(jì)---醫(yī)藥管理信息系統(tǒng)
- 管理信息系統(tǒng)課程設(shè)計(jì)--超市管理信息系統(tǒng)
- 管理信息系統(tǒng)課程設(shè)計(jì)--教務(wù)管理信息系統(tǒng)
- 管理信息系統(tǒng)課程設(shè)計(jì)
- 管理信息系統(tǒng)課程設(shè)計(jì)
- 管理信息系統(tǒng)課程設(shè)計(jì)
- 管理信息系統(tǒng)課程設(shè)計(jì)
- 管理信息系統(tǒng)課程設(shè)計(jì)
- 管理信息系統(tǒng)課程設(shè)計(jì)
- 學(xué)生公寓管理信息系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)----學(xué)生公寓管理信息系統(tǒng)
- 學(xué)生公寓管理信息系統(tǒng)課程設(shè)計(jì)
- jsp課程設(shè)計(jì)學(xué)生在線選課系統(tǒng)
評(píng)論
0/150
提交評(píng)論