欢迎光临
我们一直在努力

ASP基础讲座(上)

建站超值云服务器,限时71元/月

 各位“发烧级网虫”,你是否正在绞尽脑汁地完善自己的网页?你是否正费劲心思想要搞一个cgi程序?看到别人利用foxweb技术开发基于www的数据应用系统,你是否早已垂涎三尺?不用慌,我们将为大家提供最前沿的动态网页技术。今天为大家请来intranet&asp站点负责人lww(地道的中国人哟)为大家先上一堂asp基础课,包括最基础的交互界面设计及大家最关心的数据库访问技术,一起来看看吧。

  active server pages (asp,动态网页)是微软公司推出的一种用以取代cgi(通用网关接口,common gateway interface)的技术。微软发布win98时,同时推出了pws4.0(个人web服务器,可在win98光盘里的add-ons目录里找到),它本身支持对asp2.0的解释执行,所以大家不用去找免费的服务器就可以体验一下asp的简单和方便了。

  简单讲,asp是位于服务器端的脚本运行环境,通过这种环境,用户可以创建和运行动态的交互式 web 服务器应用程序,如交互式的动态网页,包括使用 html 表单收集和处理信息,上传与下载等等,就像用户在使用自己的cgi程序一样。但是他比cgi简单。更重要的是,asp使用的activex技术基于开放设计环境,用户可以自己定义和制作组件加入其中,使自己的动态网页几乎具有无限的扩充能力,这是传统的cgi等程序所远远不及的地方。使用asp还有个好处,就在于asp可利用ado(active data object,微软的一种新的数据访问模型,类似于dao)方便地访问数据库,从而使得开发基于www的应用系统成为可能。

  如何使用asp?

  还是让我们以一个例子来说明吧。我看到许多讲语言的书上都是以“hello world”作为第一个例子,那么,就让我们也向世界问一声好吧。

  第一步:打开一个文本编辑器(比如,notepad),输入以下代码:

  <% for i=3 to 7 %>

  <font size=<%=i %>>

  hello world!<br>

  <% next %>

  然后以文件名hello.asp存盘。由于.asp文件要由服务器端的asp环境来解释,所以——

  第二步:你必须将它放在www服务器的目录下。在安装了pws的win98系统里,缺省路径是c:wroot,你也可以自己建一个子目录,比如“asp”。

  第三步:打开浏览器,输入 http://yourservername/asp/hello.asp,浏览器上立即显示“hello world”,就这么简单。

  现在,让我们回过头来分析一下上面的脚本,你会发现同html脚本比较,它多了两个符号<%和%>,这就是asp的定界符,他将一般的html脚本同asp代码分隔开来,中间的代码就是asp“语言”,大家一定已经看到,他的语法跟visual basic差不多。asp的脚本语言可以是任何script语言,不过你得提供相应的引擎。asp本身支持vbscript 和javascript,可以由你决定使用哪一种。你只需在使用asp脚本前用一句<script language=“vbscript” runat=“server”>或者<scriptlanguage=“javascript” runat=“server”>就行了。缺省语言是vbscript,微软的嘛。

  那么,asp的执行是怎样一个过程呢?当你从浏览器输入了.asp文件的地址后,浏览器就将这个url请求发给服务器,如果服务器上装了asp,他一看到是.asp后缀名,就调用asp。asp读出相应.asp文件,解释并执行命令后,将结果回传给www服务器,然后,www服务器再把结果发给浏览器。浏览器看到的是执行结果,他根本不知道.asp文件是怎么回事,因此,使用asp不必考虑浏览器的差异。

  用户提交asp文件过程

  让asp与form一起工作

  我们说asp的目的是能让用户与页面之间交换信息,那么,怎样得到用户输入的这些信息呢?当然是用form(表单)。不论是cgi、idc、java,还是其他的什么技术,都是通过嵌在www页面中的form来让浏览器的用户输入信息,然后由form执行提交动作,把数据传给服务器,服务器再把数据传给cgi或是其他的什么程序。既然form如此重要,那么这次就让我们来看一看在asp中,怎样获得用户在form中输入的数据,同时,我们还将学到asp是怎样将结果返回到www页面的。

  首先,我们建立一个form,他的html代码如下:

  <head><title>定单</title></head>

  <body>

  <h2>定单form例子</h2>

  <p>请向我们提供以下信息,然后单击“提交”:

  <form method=“post” action=“response.asp”>

  <p>姓: <input name=“fname” size=“48”>

  <p>名: <input name=“lname” size=“48”>

  <p>称呼: <input name=“title” type=radio value=“先生”>先生

  <input name=“title” type=radio value=“女士”>女士

  <p><input type=submit value=“提交”><input type=reset value=“清除”>

  </form>

  </body>

  这个表单是一个简单的定单例子,它接收用户输入的姓名,称呼,然后用post方法将数据提交。我们知道,在html中表单(form)提交数据常有两种方法,一种是get,一种是post。对于get提交的数据,www服务器将把数据放在环境变量query_string中;对于post方法,数据被送到www服务器的stdout中,然后cgi从自己的stdin中读取。使用传统的cgi方法,用户必须自己编程来处理这些数据。可是在asp中,采用了面向对象的思想,所有从浏览器传来的数据都被封装进了对象request中。request有方法form和querystring,分别返回用post方法和get方法提交的数据。我们要得到表单提交的数据,只需用request.form(“表单域名”) 或request.querystring(“查询参数名”) 就可以了。

  好了,接下来就让我们建立.asp文件response.asp来处理上面的表单提交的数据吧,这里,我们只是简单地将用户提交的数据返回给用户。

  <%title=request.form(“title”)

  lastname=request.form(“lname”)

  if title=“先生” then %>

  <%=lastname %> 先生

  <% elseif title=“女士” then %>

  <%= lastname %> 女士

  <% else &>

  <%=request.form(“fname”) & “ ” & lastname %>

  <% end if %>

  上面这段代码有些难懂吧, 我们来分析一下它吧.首先,他的开头和结尾都和普通的html代码没有什么两样,关键是中间.如果略去定界符<%和%>,然后在前面没有东西的等号前加上‘print’ ,它就变成了:

  title=request.form(“title”)

  lastname=request.form(“lname”)

  if title=“先生” then

  print lastname 先生

   elseif title=“女士” then

  print lastname 女士

   else

  print request.form(“fname”)&“ ”& lastname

  end if

  这是不是vb?很简单吧?asp就是应用这种方法,将用户自己编写的程序链入html中,使动态网页得以实现。

  有一点说明的是,.asp文件中,不在定界符之内的字符,当成普通的html解释,如上面没加定界符的“先生”,“女士”等,由服务器自己解释并显示。.asp自己的输出用一个等号加上对象名来实现(当然,asp的代码在定界符之内).如上面的<%=lastname%>。其实,在.asp文件中,任何对象要作用到定界符之外就要用这种形式:<%=对象名%>。

  上面我们学了用asp处理用post方法提交的数据,那么,对于用get方法提交的数据,又怎样处理呢?其实,处理都是一样的,只不过取得表单数据的方法不同罢了,比如我们要取得“title”的值,就用:

  request.querystring(“title”)

  大家一定要注意,用什么方法调用的.asp文件,就应当用相应的方法接收查询数据。不过,不管他是用什么方法提交的,你也可以一律: request(“title”)(系统将自行选择解释方案,只是在执行时速度会受到影响)。

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » ASP基础讲座(上)
分享到: 更多 (0)

相关推荐

  • 暂无文章