1、目录目录I摘要及关键词II前言11.1设计思想11.2开发工具选择及介绍12网站总体分析和设计32.1网站系统分析32.2主页设计32.3数据库设计33具体设计43.1家长学校联络簿43.1.1功效43.1.2组成结构43.1.3数据库结构设计43.1.4界面设计和关键、难点代码设计43.2网上图书馆83.2.1功效83.2.2数据库设计83.2.3界面设计和关键代码设计93.3网上评优投票系统133.3.1功效133.3.2组成结构133.3.3界面设计和关键、难点代码设计143.4达级考试在线查分系统和计数器制作153.4.1功效153.4.2数据表设计153.4.3界面设计和关键难点代码
2、设计153.4.4页面访问计数器制作16系统使用说明和安装174.1运行环境要求174.2安装设置17参考文件18致谢19校园网站设计学生:李海龙专业:计算机网络技术指导老师:王爱华摘要及关键词摘要:利用Internet技术来实现“无纸办公”已深入人心,校园网作为学校信息化建设一个平台在完成资源共享、互联网访问、教务管理、电子备课等方面发挥了关键作用。本文着重叙述了校园网设计和建设过程中确立建设校园网目标,校园网技术方案设计,信息资源建设,软件开发,管理和安全等五个关键部分。关键词:校园网;网站系统;ASP 前言在Internet飞速发展今天,互联网成为大家快速获取、公布和传输信息关键渠道,它
3、在大家政治、经济、生活等各个方面发挥着关键作用。Internet上公布信息关键是经过网站来实现,获取信息也是要在Internet“海洋”中根据一定检索方法将所需要信息从网站上下载下来。所以网站建设在Internet应用上地位显而易见,它已成为政府、企机关信息化建设中关键组成部分,从而倍受大家重视。为了愈加好办学,提升学校著名度,特构建吉林铁道职业技术学院学校网站。1.1设计思想经过网站,全方面宣传,展示学校风采、优点和特色,公布学校重大活动安排和招生政策,增强家长和学校之间联络,在Internet上实现完成部分校务,提升办事效率。1.2开发工具选择及介绍Active Server Pages:
4、“动态服务器网页”,通常简称为“ASP”,ASP之所以能受到大家重视和使用原因,关键在于所产生实施结果全部是标准HTML格式,而且这些程序是在网络服务端中实施,使用通常浏览器(如IE 或Netscape)全部能够正确地取得ASP“实施”结果,而且将这ASP实施结果直接在浏览器中“浏览”,不像VBScript或 JavaScript是在用户端(Client)浏览器上实施,若使用VBScript来设计程序,用户端(Client)在IE浏览器中能够显示程序实施结果,可是,用户端(Client)若使用Netscape浏览器就无法显示VBScript实施结果1。任何开发工具皆可发展ASP,只要使用通常文
5、书编辑程序,如Windows记事本,就能够编辑。当然,其它网页发展工具,比如,FrontPage Express、FrontPage等也全部能够;不过还是提议你用记事原来写,既省钱又方便,若是使用那些所见即所得网页编辑来写ASP,可能会发生部分意想不到离奇状态。通吃各家浏览因为ASP程序是在网络服务器端中实施,实施结果所产生HTML文件适适用于不一样浏览器。语言相容性高:ASP和全部ActiveX Script语言全部相容,除了可结合HTML,VBScript、Java Script、Active X服务器组件来设计外,并可经由“plug-In(外挂组件模组)方法,使用其它厂商(Third P
6、arty)所提供语言。隐密安全性高:假如我们在浏览器中直接查看网页原始代码,就只能看到HTML文件,原始ASP程序代码是看不到!这是因为ASP程序先于网站服务(Web Server)端实施后,将结果转换成标准HTML文件,再传送到用户端(Client)浏览器上,所以,我们所辛劳撰写ASP程序并不会轻易地被看见进而被盗用。易于操控数据库:ASP能够轻易地经过ODBC(Open Database Connectivity)驱动程序连接多种不一样数据库,比如:Acess、Foxpro、dBase、Oracle等等,另外,ASP亦可将“文本文件”或是”Excel” 文件当成数据库用。面向对象学习轻易:
7、ASP含有有面向对象(Object-Oriented)功效,学习轻易,ASP提供了五种方便能力强大内建对象:Request、Response、Sever、Application和Session,同时,若使用ASP内建“Application”对象或”Session”对象所撰写出来ASP程序能够在多个网页之间临时保留必需信息2。ASP六大内部对象:对象名称 功效描述RequestResponseServerSessionApplicationObjectContext 从用户端取得信息将信息送给用户端提供部分Web服务器工具储存在一个Session内用户信息,该信息仅可被该用户访问在一个ASP-
8、Application中让不一样用户端共享信息能够用来配合Microsoft Transaction 服务器进行分布式事务处理。所以我选择了ASP结合Frontpage架构XXX学校网站3。2网站总体分析和设计2.1网站系统分析依据前面设计思想进行分析,根据系统开发基础见解对网站进行分解,从内容上可对网站作以下划分:1.学校风采经过学校概括、老师风采、校园之星及部分图片等内容来展现。2.优点特色经过新闻、生动活泼教育教学栏目来展现。3.信息公布经过公告栏、信息查询等栏目来实现,内容有招生政策、活动安排等。4.部分校务依据校务公开程度和参与人数多少,特选择图书管理、评优、考试查分、家校联络四大校
9、务在网上实现。2.2主页设计网站主页采取静、动相结合方法,即静态主画面和动态图片相结合,表现学校勃勃生气,静态主页方法介绍学校风采、优点特色、信息公布,对于四大校务,就得利用ASP和数据库结合技术建立数据库查询管理系统,采取交互式动态web画面来实现。2.3数据库设计采取数据库是Microsoft Access ,拟建立teach.mdb库文件,包含以下多个表文件:allmessage 留言信息表Libbooks 图书信息表Libcategories 图书类别信息表Libemps 图书馆用户信息表;stud 学生信息表3具体设计3.1家长学校联络簿3.1.1功效利用SQL语法过滤特定家长留言意
10、见,让老师能够针对某位特定学生家长所发表意见作出独立回复,同时,家长在发表个人意见时,若认为意见内容包含敏感话题或是意见内容包含私人隐私,全部可用“悄悄话”方法讲话,这些“悄悄话”将不会被显示出来让大家看到,当然,老师拥有管理能力,只要以密码登录管理模式,就能够进行各个学生家长单独意见回复,而且还能看到家长们所留下“悄悄话”。3.1.2组成结构共分成六大部分:1意见留言结果网页guest.asp用来显示家长讲话和老师回复内容,同时还含有通常模式和管理模式两种显示方法。2家长讲话表单网页addmsg.asp让学生家长填写讲话内容并选择讲话性质。3家长讲话数据处理ASP程序add.asp处理家长发
11、表意见数据,同时将这些意见数据统计起来并将网页显示转向至意见留言结果网页。4老师回复表单网页teachans.asp让老师针对某位特定学生家长所发表意见作出独立回复。5老师回复数据处理ASP程序anssave.asp处理老师回复数据内容,同时将这些意见数据起来并将网页显示转向至意见留言结果网页。6数据表文件allmessage用来储存家长讲话数据和老师回复数据Access类型数据库文件。“数据表文件”负责存放家长讲话数据和老师回复内容数据统计,为Access类型库文件,将它定名为:“message.mdb”。3.1.3数据库结构设计数据库文件”teach.mdb“中数据表” allmessag
12、e“栏目设置,字段名 字段类型。3.1.4界面设计和关键、难点代码设计数据库和留言显示程序网页家长讲话和老师回复内容数据全部储存在数据库中,要在网页中显示现在家长讲话和老师回复数据,必需优异行数据库链接和打开,要链接数据库我们必需使用ADO对象群Connection对象;而要打开数据库则必需使用ADO对象群Recordset对象,程序:set cn=server.createobject(adodb.connection) cn.open filedsn=c:program filescommon filesodbcdata sourcesms access database.dsnset r
13、s=server.createobject(adodb.recordset)sql=select * from allmessage order by 留言时间 descrs.open sql,cn,1,1Recordset对象是负责浏览和操作从数据库取出来数据,Connection对象只负责和数据库进行链接动作,并不能使用数据库内数据,所以必需建立一个能够存取数据库数据Recordset对象,使用RS.Open方法存取”teach.mdb”数据库RS.Open SQL,CN,1,1使用open方法来打开数据表或实施Select指令参数设置以下:1参数一(SOURCE):为欲打开数据表或SQL
14、指令。2参数二(ActionConnection):指定一个已打开数据库对象,将此参数设为链接我们已经建立好Connection对象“CN”。3参数三( CursorType):指定Recordset打开类型,1为可读写且可自由移动。4参数四(LockType):指定锁定类型,1为只读。数据排序和SQL指令1Select 指令筛选语句:格式: SelectFrom在SQL语言中:“Select”数据表“中选择一些“栏位”数据.2假如要选择数据表数据包含了一个以上栏位,则我们能够利用“,”逗号来栏位名称隔开。3假如要选择数据表数据包含了全部栏位,则能够利用万用字符“*”来代表全部栏位。可排序数据
15、Select指令1当我们期望被选择出来数据统计数据能够依据某个或某多个栏位内容来排序时,只要将这些排序依据栏位摆放在“Order By“保留字以后,然后将这处排序语句连接在”SelectFrom“后面就行了。2“Order By“默认排序方法是“由小排到大”,但若是期望排序方法是“由大排到小”,则我们可在栏位名称后再加上“Desc“保留字!将排序方法改为”由大排到小“。在“显示留言意见”网页中打开数据库ASP程序中语句:SELECT*From allmessage order by 留言日期 Desc功效为:从数据表“allmessage“中取出全部栏位数据,并将取出数据统计内容依据”留言日期
16、“栏位使用”由大排到小“排序方法进行排序。留言显示网页管理模式“显示留言意见”网页就必需含有显示模式选择功效,当显示模式在通常情况时要能显示家长们通常性讲话,同时还得将“悄悄话“讲话隐藏起来。当老师以密码登录成为管理模式时,则必需将通常性讲话和悄悄话讲话数据全部显示出来,同时还得让老师们能够针对某位特定学生家长所发表意见作出独立回复。这两个情况是经过密码登录管理模式ASP程序实现: 密码:   在这段网页语句中,利用Session对象来统计现在工作模式。当我们第一次进入“显示留言意见”网页时候,我们所见网页画面一定是通常!因为Session还未被建立,所以它“变量”值一定不会是
17、“yes”,所以网页中会出现一个输入密码进入“老师管理”模式栏位,只有当我们输入密码按下“老师管理”按钮组织上发ASP程序中进入管理模式语句后,Session对象才会被建立,同时,“checkedit“Session对象变量值被设置为“yes“,所以我们就进入了能将通常性讲话和悄悄话讲话数据全部显示出来,同时还让老师们能够针对某位特定学生家长所发表意见作出独立回复管理模式页面。留言显示网页分页当家长讲话和老师回复数据笔数太多时,一次要将全部数据内容显示在网页中,等候网页下载时间太长了,所以采取固定笔数分页浏览方法来显示网页。要进行分页显示,得先知道现在有多少笔留言数据,而留言数据笔数能够经过R
18、ecordset对象“Recordcount“(统计个数)属性得悉,我们将每10笔数据为一单位分页显示:count=rs.recordcountif count/10(count10) thentotalpage=(count10)+1else totalpage=(count10)end if“/”为浮点数除法,“”为整数除法。跳页选择ASP程序语句全部讲话数据采取固定笔数分页浏览方法来显示后,还要提供一个跳页链接显示功效,让浏览者能够选择期望浏览页次进得浏览,ASP程序语句:pagecount=0rs.movefirstif request.querystring(topage) then
19、 pagecount=cint(request.querystring(topage)if pagecounttotalpage then pagecount=totalpagers.move(pagecount-1)*10讲话表单网页制作inse tu3表单参数表单Action参数:Action参数是用来指定Server端处理此一表单数据内容程序,此处表单处理ASP程序为“add.asp“,表单Mothed参数:要将表单传送至Server端方法有两种,设置值分别为GET及POST,若设置为POST,则浏览器会等Server端来读取数据,若设置为GET,则当我们按下送出按钮时,浏览器会立即将表
20、单中数据内传送出去。利用POST方法,在传送数据上将不受限制,利用GET方法传送数据量则大约只有2K左右。留言处理程序要将家长讲话数据作后续处理及将这些数据内容存入数据库,须利用添加数据统计Insert Into 指令,然后再写入数据库文件中:Inset into 指令语句格式:Insert into 数据表名 (栏目名) values(栏目值)sql=insert into allmessage(家长姓名,留言专题,联络信箱,留言内容,私人公开,留言时间,班级) values(sql=sql& parent&,sql=sql&subject&,sql=sql&email&,sql=sql&m
21、emo&,sql=sql&personal&,sql=sql&now&,sql=sql&bj&)cn.execute sql回复表单程序网页必需让老师们能够针对某位特定学生家长所发表意见作出独立回复,使用SelectFromWhere筛选语句sql=select * from allmessage where(编号=&ID&)rs.open sql,cn,1,3然后将特定家长讲话数据放在表单,方法是将数据库中数据取出来,然后放在表单栏位中:“家长姓名“栏位网页语句标签“留言专题“栏位网页语句标签“留言内容“栏位网页语句标签老师在回复栏位中所填入数据,必需送给处理老师回复数据ASP程序”anss
22、ave.asp”来统计和处理这些回复数据。当老师填写好回复讲话数据后按下“送出回复”按钮后,表单中数据内容就会以“POST”方法由SEVER端读取,然后将数据内容交由处理老师回复数据ASP程序“anssave.asp”来将数据内容写入数据库。3.2网上图书馆网上图书馆将学校图书馆图书放到网络上供人借阅,这么不仅方便了校内学生和教职职员使用图书馆资源,还为图书馆管理员提供了一个简便地管理图书馆方法。3.2.1功效网上图书馆系统能够进行图书出借和归还.还能够在系统中根据多个字段对图书进行查找,还能够浏览某个种类全部图书.该应用程序也为图书馆管理员提供了部分功效,如添加、编辑和删除图书等,或在分类层
23、次结构中添加新种类。3.2.2数据库设计本系统共使用3个数据表:LibBooks表包含和图书相关全部数据。该表中字段内容图书通用信息。另外,对于已经出借图书,该表中还包含借阅该图书用户ID号,和图书状态。表视图以下:字段名 意义 字段类型 字段名 意义 字段类型bookid 书号(主键) 数字 (no null) status 状态 文本title 书名 文本 checkedoutto 用户id 数字author 著者 文本 reservedby 用户学号 数字Subject 专题 文本 description 描述 文本Isbn Isbn号 文本 keywords 关键字 文本LibCate
24、gories 表包含Library中全部类别,在访问者浏览图书列表时将会用到这些类别。每个类别全部能够作为另外类别父类别。有一个特殊类别,Top-Level,没有出现在类别列表中,不过能够作为其它任何类别父类别。字段名 意义 字段类型Categoryname 类别 文本(noll)parentcategory 父类别 文本(noll)LibEmps表包含能够访问图书馆网站用户信息。该表包含部分通用信息字段,比如用于进入图书馆用户密码等。字段名 意义 字段类型 字段名 意义 字段类型empid 用户id (主键no null) 数字 password 用户密码 文本Empname 用户姓名 文本
25、 manager 管理员代号 数字emailaddress 用户邮箱 文本 图书馆数据库,其中表LibEmps和表Lib Categories和表LibBooks之间全部是一对多关系。每个雇员全部能够借阅多本图书,每个类别全部能够包含多本图书。3.2.3界面设计和关键代码设计网上图书馆系统有两种用户,一是管理员。另一个是只许可使用图书馆系统,而没有管理功效通常见户。访问者进入网站,首先要进行登录,以下图所表示。登录页面(index.asp)访问者输入Email地址和密码来登录,然后单击“登录”按钮。输入数据提交后和数据库中用户表进行匹配。须创建一个统计来保留基于访问者登录用户信息set RSF
26、indEmp = conn.Execute(select EmpID, Manager from LibEmps where _& EmailAddress = & Request.Form(EmailAddress) & and _& Password = & Request.Form(Password) & )if RSFindEmp.EOF thenTheMessage = 密码或email地址不对.elseSession(EmpID) = RSFindEmp(EmpID)Session(Manager) = RSFindEmp(Manager)Response.Redirect ./y
27、k.htmend if表单域EmailAddress和Password 用于Where了句中来获取一个统计。假如访问者输入了一个无效用户名,则统计集中将不会返回匹配统计。我们能够经过查看EOF标识来判定一个统计集是否为空。为空,则访问者将被拒绝进入该系统。不为空,则访问者EmpID值和Manager值将从统计集中返回。写入Session 变量,变量将在整个网站全部网页中全部是有效。这些变量存在是否及其取值将用于确定是否许可进入一个特定网页,同时也用于访问者进行书目标归还和借阅操作。图书馆菜单页面图书馆菜单页面包含指向其它4个页面链接:管理页面、搜索页面、图书列表页面和主页面。还有一个可显示用户
28、所借书籍按纽。假如访问者是图书馆管理员,则菜单界面图所表示。假如访问者不是图书馆管理员,则看到图所表示界面。非管理员访问者界面上没有指向管理员菜单页面链接。实现措施:访问者登录时在登录页面上创建会话变量Session 用于从数据库中获取访问者相关信息,表示它是否是管理员。假如值为1,就表明访问者是一个管理员,则用以下代码写入一个指向管理员页面链接:管理员菜单经过按纽B1是否为空来判定要不要显示用户所借图书,利用一个统计集来获取访问者已经借出了全部图书列表。if NOT isempty(Request.Form(B1) thenset RSBooks = conn.Execute (select
29、 BookID, Title from LibBooks where _& CheckedOutTo = & Session(EmpID)end if 再用循环语句将所借书以表格形式显示出来。 循环将遍历Rsbooks统计集中每个统计,直到该统计集结束:该网站中全部页面全部会在访问者访问之前对其进行登录检验。这么就能够避免访问者经过输入某个页面地址然后在没有登录情况下直接进入该页面情况发生。另外,每个管理页面全部要确定访问者是管理员。管理菜单页面管理菜单页面有一个HTML表单,依据选择按钮不一样,能够进行5种不一样操作:图书归还、图书编辑、图书删除、图书添加和类别添加。不管选择了哪一个按钮,该
30、表单全部提交人其本身进行处理。要进行图书归还、图书编辑、图书删除三种操作,须优异行搜索,找到该书后,由图书Book.asp返回一个链接:A HREF=./html/management_menu.asp?title=&BOOKID=管理员菜单 而管理者页面经过下列语句inputzztype=hidden name=BOOKID1value=这么就将所找到书书号BookID、书名Title传输管理者页面。再进行所须操作。共有3个不一样铵纽,能够进行3种操作。若单击“修改”钮:则重定向到编辑图书页面,同时把Bookid 传输给该页面。Response.Redirect ./edit_book.as
31、p?BOOKID=&request(BOOKID1)将其它情况需要建立到数据库连接:set conn = server.createobject (adodb.connection)Conn.Open(FILEDSN=c:Program FilesCommon FilesODBCData Sourcesms access database.dsn)if NOT isempty(Request.Form(Delete) and request(BOOKID1) thenconn.Execute delete from LibBooks where BOOKID =&request(BOOKID1
32、)end ifif (NOT isempty(Request.Form(checkin) and request(BOOKID1) thenconn.Execute update LibBooks set checkedoutto= 0, status= Available where BookID=&Request(BOOKID1)end if页面中添加新种类部分包含一个文本控件和一个选择控件。其中选择控件是用全部已经存在类别列表进行填充,包含特殊类别 Top level ,该类别表明目前类别是处于类别层次结构中最顶层。代码以下:先用一个统计集来填充父类别选择控件:set RSCategor
33、ies = conn.Execute(select CategoryName from LibCategories order by CategoryName)再用下列循环语句: OPTION VALUE= 遍历RSCategories统计集中每个统计,并作为一个选项添加到列表中,而统计集中CategoryName 同时作为显示值和传输值:本页面还包含一个指向添加图书页面链接。搜索结果页面搜索页面代码获取和访问者查找规则相匹配图书,然后将这些图书显示给访问者。搜索页面上表单包含一个选择控件和一个文本控件。选择控件中选项是用可搜索 字段填充:需要用一个统计集来保留和访问者查找规则相匹配统计:se
34、t RSBooks = conn.Execute(select BookID, Author, Title, Subject from LibBooks where _& Request.Form(SearchField) & Like % & Request.Form(SearchCriteria) & %)注意:,符号%表示是一个广义搜索。这一点类似于ACCESS中符号*。然后将所找到书以表格形式显示出来。代码以下: 书名: A HREF=./html/book.asp?BookID= 著者: 专题: 图书页面:图书页面代码显示图书相关信息,和管理图书出借操作。该页面经过Querystri
35、ng 传输BookIDif isempty(Request.QueryString(BookID) thenResponse.Redirect ./search.htmlend if假如其中不存在,则访问者将被重定向到搜索页面:假如同时传输表单中包含变量Action不为空,则表明访问者正借阅该图书:if Not isempty(Request.QueryString(Action) then在这种情况下,需要将图书状态改为 Checkout, 同时需要将Checkedoutto 字段修改为该访问者:conn.Execute update LibBooks set Status = Checke
36、d Out, _& CheckedOutTo = & Session(EmpID) & where BookID = _& Request.QueryString(BookID)Response.Redirect ./library_menu.aspend if然后将该访问者重定到图书馆菜单页面:下一步,利用图书状态来确定不一样链接未借出时链接以下:if RSBooks(status) = Available thenLinkText = 借这本书假如图书已经借出,就创建一个不一样消息,并将链接设置为指向Library menu 页面:LinkText = 图书已出借,返回主菜单。最终依据是否
37、是管理员,显示管理员菜单链接。A HREF=./html/management_menu.asp?title=&BOOKID=管理员菜单 3.3网上评优投票系统3.3.1功效能实现全校性评选,快捷、公平,且有效,不许可做票。3.3.2组成结构这个系统由3个部分组成投票页面vote.htm ,处理投票结果脚本,显示投票页面 。3.3.3界面设计和关键、难点代码设计投票页面:该页面是一个纯HTML文件,它让用户选择自己想选举候选人,并填写自己具体资料,以确定投票有效性。表单处理脚本:在vote.htm中各项数据全部填写完成后,单击确定投票按钮,表单数据就被提交,此次评优共有4个候选人,但只能选两个
38、。故用复选框。投票有效性经过是否是本校学生,且是否投过票来判定。if request(passno) thensql=select * from stud where password=&request(passno)& &and yitu=0set rs=cn.execute(sql)if rs.eof then%本设计许可少选,不允很多选。经过判定Vote投票界面传输过来复选按纽值长度看是否多选。vo=request(cand)if len(vo)4 then%然后依据所投票将对应候选人投票结果字段加1,同时将该投票人已投字段置为1。sqq=update stud set yitu=1 w
39、here password=&request(passno)&cn.execute(sqq)if instr(vo,1) thencn.execute(update stud set result=result+1 where name=李宁)end ifif instr(vo,2) thencn.execute(update stud set result=result+1 where name=杨兰)end ifif instr(vo,3) thencn.execute(update stud set result=result+1 where name=江道明)end ifif instr(vo,4) thencn.execute(update stud set result=result+1 where name=段启文)end if%显示目前投票情况show.asp因为投票处理页面已经完成了绝大部分工作,所以 显示结果页面就很简单了,其功效是从 Stud表文件中读取候选人所得票数,显示在页面上。值得注意代码关键有以下几处:该页面有自动刷新功效,使在线用户能够立即看到最新选举情况。我们这里设定每隔30秒钟自动刷新一次。meta http-equiv=refresh conten