一、实验目的1.掌握HTML语言书写表单页面2.编写JSP网页获取用户通过表单提交数据3.编写JSP网页获取超链传递的数据二、实验环境eclipse+jdk+tomcat+数据库三、实验内容四、实验步骤4.1业务流程分析4.1.1用户登录页面(index.asp)<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>选课系统首页-登录页面</title></head><body><table width="98%" height="215" border="0"><tr><td height="48"><div align="center"><p> </p><p><font color="#9900FF" size="7" face="华文新魏">校园网选<fontcolor="#9900CC">课系统</font></font></p><hr size="10" color="#FF0000"><p><font color="#0000FF" size="7" face="华文新魏"></font></p></div></td></tr><tr><td><div align="center"><form action="login.asp" method="post" name="frmLogin" id="frmLogin"> <p> </p><p>用户名:<input name="Username" type="text" id="Username"></p><p>密 码:<input name="Password" type="password" id="Password"></p><p> </p><p><input type="submit" name="Submit" value="登录"> <input type="reset" name="Submit2" value="重填"></p><p> </p></form></div></td></tr></table></body></html>4.1.2信息录入页面(insert.asp)<%@LANGUAGE="VBSCRIPT"%><!--#include file="adovbs.inc"--><!--#include file=connection.asp --><%'判断是否具有教务员权限If Session("UserLevel")<>"Admin" ThenResponse.Redirect "illegal.asp"End IfSet rsTest=Server.CreateObject("ADODB.RecordSet")rsTest.Open "Teacher",Conn,adOpenStatic,adLockReadOnly%><html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>输入课程信息</title></head><body><table ><tr><td width="804" height="55" valign="top"><div align="center"><font color="#990033" size="7" face="华文新魏">输入课程信息</font></div></td> </tr><tr><td height="504" valign="top"><form action="insertCourse.asp" method="POST" name="frmInsertCourse" id="frmInsertCourse"><div align="center"><pre><font color="#0000FF" size="4">课程号:</font><input name="txtCourseno" type="text" id="txtCourseno"><font color="#0000FF" size="4">学分:</font><select name="selCredit" id="selCredit"><option value="1">一分</option><option value="2">二分</option><option value="3">三分</option><option value="4" selected>四分</option><option value="5">五分</option></select></pre></div><div align="center"><pre align="center"><font color="#0000FF" size="4">课程名称:<input name="txtName" type="text" id="txtName" size="60"></font></pre><pre align="center"><font color="#0000FF" size="4">课程描述:<textarea name="txtDescription" cols="80" id="txtDescription"></textarea></font></pre><div align="left"><pre align="center"><font color="#0000FF" size="4">最大选课人数:<input name="txtMaximumNum" type="text" id="txtMaximumNum">教师:<select name="selTeacherno" id="selTeacherno"><% While (NOT rsTest.EOF) %><optionvalue="<%=(rsTest.Fields.Item("Teacherno").Value)%>" <%If (Not isNull((rsTest_first))) Then If (CStr(rsTest.Fields.Item("Teacherno").Value) = CStr((rsTest_first))) Then Response.Write("SELECTED") : Response.Write("")%>><%=(rsTest.Fields.Item("Name").Value)%></option><%rsTest.MoveNext()WendIf (rsTest.CursorType > 0) ThenrsTest.MoveFirstElsersTest.RequeryEnd If%></select></font></pre></div><pre><font color="#0000FF" size="4"><input name="btnInsert" type="submit" id="btnInsert" value="保存输入"><input name="btnClear" type="reset" id="btnClear" value="清除重填"></font></pre></div><p align="center"><a href="main.asp"><font size="5" face="华文新魏">返回</font></a></p><font color="#0000FF" size="4"></font><pre><font color="#0000FF" size="4"></font></pre><p> </p></td></tr><tr><td height="42"> </td></tr></table><%rsTest.CloseConn.CloseSet rsTest = NothingSet Conn=Nothing%></body></html>4.1.3选择要修改课程页面(modifycourse.asp)<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%><!--#include file="adovbs.inc"--><!--#include file=connection.asp --><%'判断是否具有教务员权限If Session("UserLevel")<>"Admin" ThenResponse.Redirect "illegal.asp"End IfSet rstCourse=Server.CreateObject("ADODB.RecordSet")rstCourse.Open "Course",Conn,adOpenStatic,adLockReadOnly%><html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>修改课程信息</title></head><body><table width="741" border="0" cellpadding="0" cellspacing="0"><tr><td width="124" height="41"> </td><td width="498"> </td><td width="119"> </td></tr><tr><td height="91"></td><td valign="top"><div align="center"><font color="#CC6600" size="+7" face="华文新魏">修改课程信息</font></div></td><td> </td><tr><td height="158"></td><td valign="top"><form action="modifycourse1.asp" method="post" name="ModifyCourse" id="ModifyCourse"><p align="center"> </p><p align="center"><font color="#0000FF" size="4">请选择要修改的课程号:<select name="selCourseno" id="selCourseno"><%While (NOT rstCourse.EOF)%><option value="<%=(rstCourse.Fields.Item("Courseno").Value)%>" <%If (Not isNull((rstCourse_first))) Then If (CStr(rstCourse.Fields.Item("Courseno").Value) = CStr((rstCourse_first))) Then Response.Write("SELECTED") : Response.Write("")%>><%=(rstCourse.Fields.Item("Courseno").Value)%></option> <%rstCourse.MoveNext()WendIf (rstCourse.CursorType > 0) ThenrstCourse.MoveFirstElserstCourse.RequeryEnd If%></select></font></p><p align="center"><font color="#0000FF" size="4"><input name="btnNext" type="submit" id="btnNext" value="下一步"></font></p></form></td><td></td></tr><tr><td height="75"></td><td></td><td></td></tr></table></body></html><%rstCourse.Close()Set rstCourse = Nothing%>4.1.4浏览课程信息页面(CourseList.asp)<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%><%Option ExplicitResponse.Expires=0%><!--#include file=adovbs.inc --><!--#include file=connection.asp --><%Dim RecordPerPage,absPageNUm,TotalPages,absRecordNUm,rsTest,StrSQL'absPageNum-当前页数,TotalPages-总页数,absRecordNum-当前页中某一条记录的序号RecordPerPage=4 '每页显示的记录数absPageNum=CInt(Request.Form("PressPageNum"))'若返回的是"上一页",则页数减一,若是"下一页",则页数加一If Request.Form("Submit")="上一页" ThenabsPageNum=absPageNum-1ElseIf Request.Form("Submit")="下一页" ThenabsPageNum=absPageNum+1End IfStrSQL="Select *From Course"Set rsTest=Server.CreateObject("ADODB.RecordSet")rsTest.CacheSize=RecordPerPage '设置这个属性选项会提高性能rsTest.Open StrSQL,Conn,adOpenStatic,adLockReadOnly,adCmdText'设置RecordSet对象的每一页数据记录条数rsTest.PageSize=RecordPerPageIf rsTest.RecordCount=0 ThenResponse.Redirect "selectedlisterror.asp"End IfIf absPageNum=0 ThenabsPageNum=1End IfIf Not rsTest.EOF ThenrsTest.AbsolutePage=absPageNumEnd IfTotalPages=rsTest.PageCount%><Html><Head><Meta http-equiv="Content-Type" content="text/html; charset=gb2312"><Title>浏览课程信息</Title></Head><Body><P> </P><Table width="99%" align="center" border="0"><Tr><Td height="49"><Div align="center"><Font color="#009900" size="7" face="华文新魏">课程信息一览表</Font></Div></Td></Tr><Tr><Td height="100"><Table width="100%" height="90" border="1" bordercolor="#0000FF"><Tr><Td width="8%" height="38"><Div align="center"><Font color="#CC6600" size="4" face="华文隶书">课程号</Font> </Div></Td><Td width="27%"><Div align="center"><Font color="#CC6600" size="4" face="华文隶书">课程名称</Font> </Div></Td><Td width="7%"><Div align="center"><Font color="#CC6600" size="4" face="华文隶书">学分</Font> </Div></Td><Td width="9%"><Div align="center"><Font color="#CC6600" size="4" face="华文隶书">最大选课人数</Font></Div></Td><Td width="9%"><Div align="center"><Font color="#CC6600" size="4" face="华文隶书">目前选课人数</Font></Div></Td><Td width="8%"><Div align="center"><Font color="#CC6600" size="4" face="华文隶书">教师号</Font> </Div></Td><Td width="41%"><Div align="center"><Font color="#CC6600" size="4" face="华文隶书">课程描述</Font> </Div></Td></Tr><%For absRecordNum=1 to rsTest.PageSizeResponse.Write "<Tr valign=middle>"'将每条记录的各个字段输出Response.Write "<Td>"&rsTest("Courseno").Value&"</Td>"Response.Write "<Td>"&rsTest("Name").Value&"</Td>"Response.Write "<Td>"&rsTest("Credit").Value&"</Td>"Response.Write "<Td>"&rsTest("Maximumnum").Value&"</Td>"Response.Write "<Td>"&rsTest("Currentnum").Value&"</Td>"Response.Write "<Td>"&rsTest("Teacherno").Value&"</Td>"Response.Write "<Td>"&rsTest("Description").Value&"</Td>"Response.Write "</Tr>"rsTest.MoveNextIf rsTest.EOF ThenExit For '若到记录尾,退出-如当最后一页数据不满页时。