网络开发课程设计.docx
《网络开发课程设计.docx》由会员分享,可在线阅读,更多相关《网络开发课程设计.docx(18页珍藏版)》请在冰豆网上搜索。
网络开发课程设计
网络开发课程设计
1课程设计背景
网络开发技术是一门涉及计算机科学、网络技术、数据库技术、管理信息系统、信息安全等多方面知识的综合性课程。
网络开发技术本质上是研究在网络环境下开发管理信息系统,管理信息系统就是人们常说的MIS(ManagementInformationSystem),在强调管理、强调信息的现代社会中它越来越得到普及。
MIS是一门新的学科,它跨越了若干个领域,比如管理科学、系统科学,运筹学、统计学以及计算机科学。
在这些学科的基础上,在这些学科的基础上,形成信息收集和加工的方法,从而形成一个纵横交织的系统;在网络环境下管理信息系统的开发技术中,Microsoft公司的ASP(ActiveServerPages)被广为使用。
ASP实际上是将标准的HTML文件拓展了一些附加特征,为编写人员提供了在服务器端运行脚本的环境,使编写人员可以利用VBScript和JavaScript或其他的第三方脚本语言来创建ASP,实现过去需要编写发杂的CGI程序才能实现的有动态内容的网页,如计数器等。
ASP提供了一些内置对象和组件,允许用户从浏览器中接收和发送信息。
ASP可以和诸如ACCESS、SQLServer这样的数据库进行连接,进而完成数据的交换与更新。
网络开发技术课程设计就是在网络环境中开发诸如网络新闻系统、网络购物系统、网络考试系统等管理信息系统。
2课程设计目的
通过网络开发课程设计,使我们掌握浏览器/服务器架构的原理,掌握网络管理信息系统的组成和动态网页的工作机制,掌握各种动态内容的实现技术,掌握网络信息系统开发环境配置,包括IIS中站点的创建和属性设置、Dreamweaver8.0的特点、本地站点设置、测试服务器以及文件管理等内容;通过对网络留言板管理信息系统的需求分析、系统功能划分、数据库的概念设计、逻辑设计,掌握数据库的设计,掌握如何在ASP中实现对数据库的访问,掌握如何使用记录集对象来访问数据库并在页面上显示数据库,掌握通过页面实现对数据库数据的维护方法,包括添加更新和删除记录等。
3设计思路
网络留言板系统可以分为两部分:
第一部分是普通用户浏览,此部分要完成显示留言内容,以及发布留言;
第二部分是管理员管理部分,管理员进入管理页面后,可以对留言进行回复,删除,还可以对页面进行基本的设置。
4课程设计准备
一、在本地计算机上搭建服务器环境
基于ASP技术的Web应用程序的服务器端开发环境需要ASP应用程序服务器,以及能够访问数据库的数据库驱动程序。
在windowsXP中内置了能同时作为Web服务器和应用程序服务器的IIS(MicrosoftInternetInformationServer),因此是开发ASP技术的Web应用程序的首选。
本机开发环境:
MicrosoftDreamweaver8.0
二、建立Web站点
建立一个Web站点,提供服务器端的开发环境,用来调试应用程序的每一个页面和试运行整个应用程序。
构建当前站点的虚拟目录。
启动IIS,单击“默认Web”站点,执行命令“新建—虚拟目录”,打开虚拟目录创建向导。
在虚拟目标别名栏中输入liuyanban,单击“下一步”。
输入真实磁盘路径,单击“下一步”。
默认选择允许“读取”和允许“运行脚本”两项,单击“下一步”,完成虚拟目录的创建。
三、创建数据库连接
新建conn.asp,代码输入。
使用OLEDB提供的程序访问数据库notes.mdb。
<%
Dimdatabase,conn,connstr
database="notes.mdb"
Setconn=server.createobject("ADODB.Connection")
connstr="provider=Microsoft.Jet.OLEDB.4.0;DataSource="&Server.MapPath(database)
conn.Openconnstr
%>
四、创建记录集
Recordset是用来封装一组数据源记录的对象。
Recordset对象在某一时刻只能代表一个记录集合,ADO的核心。
部分记录集创建:
'从数据库中查询所有记录并按照id降序排列
Setrs=Server.CreateObject("adodb.Recordset")
sql="select*fromnote_commentorderbyiddesc"
rs.pagesize=msg_per_page
rs.opensql,conn,1,3
'从数据库中查询id列的值为id的记录
setrs=server.createobject("adodb.recordset")
sql="select*fromnote_commentwhereID="&id
rs.opensql,conn,1,3
'显示详细资料
setrs=server.createobject("adodb.recordset")
sql="select*fromnote_commentwhereID="&id
rs.opensql,conn,1,1
5、课程设计过程
一、数据库设计
Note_admin数据表设计:
Notes_comment数据表设计:
Web数据表设计:
二、留言发布页面设计(book_write.asp)
username=trim(request.form("username"))'读取表单传递过来的姓名数据
usermail=trim(request.form("usermail"))'读取表单传递过来的用户邮箱数据
用户姓名或留言主题或留言内容没有填写
ifusername=""orrequest.form("Comments")=""orrequest.form("subject")=""then
response.write""
response.end
endif
邮箱为必填时检查邮箱是否合法
填写的邮箱地址中不存在字符"."或"@",或者邮箱长度小于10或大于50都是非法邮箱地址
ifmailyes=0then
ifInstr(usermail,".")<=0orInstr(usermail,"@")<=0orlen(usermail)<10orlen(usermail)>50then
response.write""
response.end
endif
endif
留言主题长度大于要求的长度
iflen(request.form("subject"))>subjectmaxlengththen
response.write""
response.end
endif
留言内容长度大于要求的长度
iflen(request.form("Comments"))>maxlengththen
response.write""
response.end
endif
setrs=Server.CreateObject("ADODB.RecordSet")'将留言保存到数据库中
rs.Addnew'添加一条记录
rs("Name")=Request.Form("username")'姓名
rs("Comment")=Request.Form("comments")'留言内容
rs("Email")=Request.Form("usermail")'邮箱地址
rs("url")=Request.Form("url")'主页
rs("Communication")=Request.Form("communication")'其他联系方式
rs("IP")=Request.serverVariables("REMOTE_ADDR")'IP地址
rs("PostDate")=now()'留言提交时间
rs("Subject")=Request.Form("subject")'留言主题
rs.Update'更新数据库
rs.close'关闭RecordSet对象
提交成功,给出提示,并返回到留言查看界面
response.write""
response.end
三、留言显示页面(index.asp)
<%
setrs=Server.CreateObject("ADODB.RecordSet")'创建RecordSet对象
rs.open"select*fromnote_commentorderbyiddesc",conn,1,3'从数据库中读取留言,并保存在rs中
ifrs.eofandrs.bofthen'不存在留言记录
response.redirect"book_write.asp"'转到撰写留言页面
else'存在记录
ifcounts=0orcounts=""thencounts=10'每页留言条数
rs.pageSize=counts'每页记录数
allpages=rs.pageCount'总页数
page=Request("page")'从浏览器取得当前页
IfnotisNumeric(page)thenpage=1'page不是数字
ifisEmpty(page)orCint(page)<1then'page为空或小于1
page=1
elseifCint(page)>=allPagesthen'page值大于总页数
page=allPages
endif
rs.AbsolutePage=page'转到某页头部
DoWhileNotrs.eof
UserName=rs("Name")'用户名
Comments=rs("Comment")'内容
Reply=rs("Reply")'回复
Usermail=rs("Email")'邮件
url=rs("Url")'主页
replyname=rs("ReplyName")'回复人姓名
I=I+1'序号
temp=RS.RecordCount-(page-1)*rs.pageSize-I+1
%>
四、管理员登录页面(admin_login.asp)
<%
ifrequest.QueryString("act")="login"then'管理员登陆
user=Request.Form("username")'读取从表单传递过来的用户名数据
pass=Request.Form("password")'读取从表单传递过来的密码数据
SetNArs=Server.CreateObject("Adodb.RecordSet")'建立RecordSet对象
'从数据库中查找Admin列的值为user,pwd列的值为pass的记录
sql="Select*fromnote_adminwhereAdmin='"&user&"'andpwd='"&pass&"'"
'执行查询操作,并将结果保存在NArs中
NArs.opensql,conn,1,1
Ifnot(NArs.bofandNArs.eof)Then'存在满足条件的记录,则登录成功
Session("login")="ok"'将Session变量login置为ok
Session("user")=NArs("Admin")'将当前登录管理员的用户名赋给Session变量user
Session("id")=NArs("id")'将当前登录管理员的id赋给Session变量id
Response.Redirect"admin_main.asp?
action=main"'页面转到留言管理界面
Else
Response.Write("")
Response.End
EndIf
NArs.Close'关闭RecordSet对象
SetNArs=nothing
EndIf
%>
五、登录失败(admin_loginout.asp)
<%
'退出管理,返回留言首页
Session("login")=""'清除Session变量login中的值
Session("id")=""'清除Session变量id中的值
Session("user")=""'清除Session变量user中的值
Response.Redirect("index.asp")'页面转到留言查看界面
%>
六、登录成功,管理页面(admin_loginmain.asp)
<%
dimrs,msg_per_page
dimsql
msg_per_page=10'每页显示记录数
Setrs=Server.CreateObject("ADODB.Recordset")'创建RecordSet对象
sql="select*fromnote_commentorderbyiddesc"'从数据库中查询所有记录并按照id降序排列
rs.pagesize=msg_per_page'每页显示记录数
rs.opensql,conn,1,3'执行查询操作
ifrs.eofandrs.bofthen'数据库中不存在记录
response.write"
暂时没有留言
|
"
endif
ifnot(rs.eofandrs.bof)then'检测记录集是否为空
totalrec=RS.RecordCount'总记录条数
ifrs.recordcountmodmsg_per_page=0then'计算总页数,recordcount:
数据的总记录数
n=rs.recordcount\msg_per_page'n:
总页数
else
n=rs.recordcount\msg_per_page+1'n:
总页数
endif
currentpage=request("page")'currentpage:
当前页
Ifcurrentpage<>""then'currentpage值存在
currentpage=cint(currentpage)'cint函数将currentpage转换为整数
ifcurrentpage<1then'currentpage值小于1
currentpage=1
endif
iferr.number<>0then'产生某种错误
err.clear'清除错误信息
currentpage=1
endif
else'currentpage值为空
currentpage=1
Endif
ifcurrentpage*msg_per_page>totalrecandnot((currentpage-1)*msg_per_pagecurrentPage=1'当前页大于总页数
endif
rs.absolutepage=currentpage'absolutepage:
设置指针指向某页开头
rowcount=rs.pagesize'pagesize:
设置每一页的数据记录数
dimi
dimk
Dowhilenotrs.eofandrowcount>0'循环显示所有的记录
content=rs("Comment")'留言内容
subject=rs("Subject")'留言主题
reply=rs("reply")'回复内容
UserName=rs("Name")'留言者姓名
'使用Response对象的write方法在网页上显示复选框、留言者姓名、留言主题、留言内容、留言日期和留言状态
Response.write"
"Response.write"
"&UserName&" | " 'Response.writelleft(server.htmlencode(subject),50) Response.writesubject '建立到管理员回复留言的超级链接 Response.write" | action=reply&id="&rs("ID")&"'>" 'Response.writelleft(server.htmlencode(content),50) Response.writecontent Response.write" | "&rs("Postdate")&""ifIsnull(Reply)then'没有留言回复
response.write"新留言"
else'管理员已经回复留言
response.write"已回复"
endif
rowcount=rowcount-1'显示一条记录后,将每页未显示的记录数减1
rs.movenext'指向下一条记录
loop
endif
rs.close'关闭RecordSet对象
setrs=nothing
%>
<%
endsub
subdelfeedback()'留言删除
ifdelid=""orisnull(delid)then'要删除的记录id为空
'则给出提示
response.write""response.redirect"admin_main.asp"'返回到留言管理界面
response.end
else'id存在
'执行数据库中的删除操作,删除数据库中id列的值在delid数组中的记录
conn.Execute("delete*fromnote_commentwhereIDin("&delid&")")
'删除成功,给出提示
response.write""
response.redirect"admin_main.asp"'返回到留言管理界面
response.end
endif
endsub
subdetailfeedback()'留言回复
ifid=""then'要回复的留言id为空
'给出提示
response.write""
response.redirect"admin_main.asp"'返回到留言管理界面
response.end
endif
'修改留言资料
ifrequest("send")="ok"then'提交留言回复内容
setrs=server.createobject("adodb.recordset")'创建RecordSet对象
sql="select*fromnote_commentwhereID="&id'从数据库中查询id列的值为id的记录
rs.opensql,conn,1,3'执行查询,并将结果保存在rs中
ifnot(rs.eofandrs.bof)t
展开阅读全文
相关搜索
资源标签