第二章 编程环境基础知识
2.1 ASP简介
A S P Microsoft Active Server Pages (ASP)实际上是将标准的H T M L文件拓展了一些附加特征, A S P像标准的H T M L文件一样包含H T M L语句并且在一个浏览器上解释并显示。但它为H T M L编写人员提供了在服务器端运行脚本的环境,使H T M L编写人员可以利用V B S c r i p t和J S c r i p t或其他第三方脚本语言来创建A S P,实现过去需要编写复杂的C G I程序才能实现的有动态内容的网页,如计数器等。一个A S P文件的后缀为. a s p,其中包含实现动态功能的V B S c r i p t或J S c r i p t语句,如果去掉那些V B S c r i p t或J S c r i p t语句,它和标准的H T M L文件没有任何区别。A S P提供了一些内建对象 。利用这些内建对象,你可以使脚本更加强大;这些对象会允许从浏览器中接收和发送信息。例如,利用r e q u e s t对象,你可以接收用户的H T M L表单中的信息并加以处理。A S P包含标准的A c t i v e X组件 ,这些组件可以实现一些复杂的功能,如使用数据库等. A S P就是由服务器端脚本、对象以及组件拓展过的标准网页并为其提供了运行的环境。而它的网页并不是在建立初期存在的,而是当某个浏览器向它提出请求时,它才根据需要产生所需要的标准网页,这克服了过去H T M L编写的网页的静态缺点,从而使网页上可以有许多动态的信息存在。如:当前的计算机时间、计数器的计数值等。
A S P是一套服务器端的脚本运行环境,当用户从浏览器向We b服务器请求.asp 文件时, ASP 脚本开始运行,然后Web 服务器调用A S P,A S P全面读取请求的文件,执行所有的脚本命令,并将标准的Web 页传送给浏览器,而并不包含你所写的脚本命令。A S P的每一个命令都首先被用来生成H T M L文件, A S P允许生成动态内容.下载对于Web 服务器来说, A S P与H T M L有着本质的区别, H T M L不经任何处理送回给浏览器另一方面,对于浏览器来说, A S P和H T M L几乎是没有区别的,仅仅是后缀为. a s p和. h t m的区别,当我们在客户端提出对A S P的申请后,我们的浏览器接受的是H T M L格式的文件。因此它根据以上特性,我们用A S P可以方便地实现诸如表格信息收集、计数器、留言簿、公告板、A S P还可以轻松地实现对页面内容的动态控制,为不同的浏览者定制不同的页面内容 .
ASP的内部对象特点:ASP提供了6个功能强大的内部对象,每个对象具有各自的属性(Property)、方法(Method),有的还拥有数据集合(Collection)与事件(Event),它们共同完成Web中的一些重要工作。这6个对象及其功能描述如下表所示:
ASP 内部6大对象及其功能
对象名称 功能描述
Request 从客户端取得信息
Response 将信息送给客户端
Server 提供一些Web服务器工具
Session 储存在一个Session内的用户信息,该信息仅可被该用户访问
Application 在一个ASP-Application中让不同的客户端共享信息
ObjectContext 配合Microsoft Transaction服务器进行分布式事务处理
合理地运用这些对象可以使原本复杂,烦琐的工作变得简捷而条理清晰。
2.2IIS简介
Wsb服务器是Web应用程序的心脏。IIS(Internet Information Server)是微软推出的Windows NT Option Pack的主要成员,作为Win2000server的扩展,自推出以来已经有了很大发展,其体系结构是当今市场上最受关注的Web服务器之一。新推出的IIS4.0版本增强了系统安全性,具有服务器端脚本开发调试,内容管理和站点分析,崩溃防护,内置JAVA虚拟机及全面支持ASP等强大功能。
2.3数据库系统简介
2.3.1数据库
数据库是存储在计算机内、有组织、可共享的数据集合。数据库中的数据按一定的数据模型组、描述和存储,具有较少的数据冗余度,较高的数据独立性和可扩展性,并且数据库中的数据可为各种合法用户共享。
2.3.2数据库管理系统
数据库管理系统(Data Manipluation Language,DML)是一个软件系统,主要用来定义和管理数据库,处理数据库与应用等程序之间的联系。数据库管理系统是数据库系统的核心组成部分。它建立在操作系统之上,对数据库进行统一的管理和控制。
2.3.3数据模型
数据模型是对数据的特点及数据之间的和种抽象表示,它包括数据结构、数据操作和完整性约束3部分。主要的数据模型有:网状模型、层次模型和关系模型。
5.1.5程序的设计与实现
<table border="1">
<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Open "Dbq=" & Server.Mappath("db/info.mdb") &
";Driver={Micosoft Access Driver (*.mdb)}"
StrSql="Select content from teacherinfo order by puttime desc"
for i=1 to 5
If rs.Eof then Exit For End If
response.Write("<tr><td><img src='image/more.gif,’20' height='20'>"
& rs("content"))
rs.MoveNext
Next
%>
</table>
<table border="1">
<%
strSql1="select needcontent from studentinfo order by puttime desc"
Set rs1=conn.Execute(strSql1)
For i=1 to 5
If rs.Eof then Exit For End If
response.Write("<tr><td><img src='image/01.gif' width='20' height='20'>"
& rs1("content"))
rs.MoveNext
Next
%>
</table>
<form name="form1" method="post" action="">
<table width="243" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="243"><div align="center"><font size="4"><strong>登录区</strong></font></div></td>
</tr>
<tr>
<td> <div align="center">
<input type="radio" name="rd" value="家教">
家教
<input type="radio" name="rd" value="学生">
学生</div></td>
</tr>
<tr>
<td><div align="center">用户:
<input type="text" name="user">
</div></td>
</tr>
<tr>
<td><div align="center">密码:
<input type="password" name="pw">
</div></td>
</tr>
<tr>
<td> <div align="center">
<input type="submit" name="login" value="登录">
<input type="submit" name="reset" value="重置">
</div></td>
</tr>
</table>
</form>
<%
If Request.Form("login")<>"" then
user=Request.Form("user")
pw=Request.Form("pw")
rd=Request.Form("rd")
Set conn=Server.CreateObject(ADODB.Connection)
conn.Open "Dbq=" & Server.Mappath("db/info.mdb") &
";Driver={Micosoft Access Driver (*.mdb)}"
if rd="家教" then
strSql="select * from teacherreg where nick='" & user & "'
and pass='" & pw &"'
Set rs=conn.Execute(strSql)
if rs.EOF then
Response.Write("用户名或密码输入错误!")
else
Session("teacher")=user
Response.Redirect("teacheralter.asp")
end if
Else
strSql="select * from studentreg where snick= ‘" & user &
"’and spass=‘" & pw & ’""
Set rs=conn.Execute(strSql)
if rs.EOF then
Response.Write("用户名或密码输入错误!")
else
Session("student")=user
Response.Redirect("stundentalter.asp")
end if
end if
end if
%>
5.2家教注册模块
5.2.1功能描述:
家教用户在本模块注册用户名、设置密码、录入自己的详细信息。注册完毕,用户进入家教的个人信息管理模块。
5.2.2 IPO图
输入(I):单击“家教注册”链接
处理描述(P):①显示注册用户名、设置密码页面
②验证用户名是否与数据库中其他用户名重复,如果重复用户需要重新注册,否则进入详细信息录入界面
③用户录入信息完毕,单击“提交”按钮,信息被保存到数据库中。
输出(O):家教个人信息管理模块界面
5.2.3名称:家教注册
标识:teacherreg.asp、teachererdetail.asp、dealteacherreg.asp
使用的文件或数据库:teacherreg和teacherdetail
5.2.4界面设计
Set db=Server.CreateObject("ADODB.Connection")
db.Open conn
strSql="select*from studentreg where snick='" & student&"'"
set rs=conn.Execute(strSql)
if not rs.Eof then
response.Write("该用户名已经在")
strSql="insert into teacherreg(snick,spass) values('"&
student & "','" & pass1 & "')"
conn.Execute(strSql)
session("student")=student
response.Redirect("studentdetailreg.asp")
end if
end if
%>