ASP Server对象应用实例
- 格式:doc
- 大小:122.50 KB
- 文档页数:4
</tr>
</table>
</form>
daojishi.asp具体代码如下:
<body>
<div align="center">
<p></p>
<table width="60%" border="1">
<tr>
<td><div align="center">奥运信息子页面</div></td>
Response.Write Server.HTMLEncode(str)
%>
在浏览器中运行效果如图3-6所示。
图3-6格式化数据示例
3.路径信息
在对存储在Web网站上的文件进行操作时,需要获得文件的实际的物理路径,而不是使用虚拟路径或者URL,尽管在其他网页中能用它们正常地定位文件。可以从Request.ServerVariables集合中提取HTTP报头变量,它们包含了当前文件的物理路径。Server对象提供了一个方法MapPath,使用该方法可以获取虚拟路径下一个文件所在的物理路径。使有MapPath方法的语法如பைடு நூலகம்:
不能只简单地使用字符<table>,因为浏览器会将<table>作为一个表格的一个开始标记。为了避免这种情况,必须把在HTML中非法或者无效的所有字符转换到等价的HTML字符实体。为了实现这种转换,Server对象提供了HTMLEncode方法。
下面的示例使用HTMLEncode方法实现将超链接转成普通字符,代码如下:
<form name="form1" method="get" action="<%=Request.ServerVariables("URL")%>">
<table width="90%" border="0">
<tr>
<td width="56%" align="right"><span class="STYLE3">想知道奥运会的消息么?</span></td>
这两个方法之间的不同之处在于是:Execute方法“调用”另一个网页,与在脚本代码中调用一个子程序或者函数非常相似。当另一个网页或者资源已经执行完毕或者传送到客户端时,控制返回到原网页中调用Execute方法的语句的下一条语句,并继续执行;而使用Transfer方法时,控制不再返回到原页面中,在控制传送到的网页或者资源的末尾处,执行过程停止。
<td width="44%"><input type="button" name="but1" id="but1" value="YES" /></td>
</tr>
<tr>
<td colspan="2" align="right"><div align="center">
<%Server.Execute "daojishi.asp" %>
</tr>
<tr>
<td><div align="center">由<%=Request.ServerVariables("URL")%>调出</div></td>
</tr>
<tr>
<td><div align="center">
<%Response.Write"今天是"
Response.Write formatdatetime(date(),1)&",离第29界北京奥运会开幕还有"
调用这两个方法时,当前网页的环境也被传送给了目标网页或者资源,因此这两个方法更有用。网页环境包含了原页面的ASP对象中的所有变量的值,例如Request、Response和Session对象的集合以及它们的所有属性。即使该网页不在同一个虚拟应用程序中,也将传送Application对象的环境。结果是浏览器认为它仍在接收原先的页面,它并不了解服务器所做的事情。浏览器的地址栏一直显示相同的URL,并且【后退】、【前进】和【刷新】按钮正常地工作。在使用客户端重定向时,尤其是使用HTML META元素时,情况通常则不一样。下面使用Server.Execute方法创建示例。主页面设计如下:
Server.MapPath(Path)
其中,参数Path为一个有效的虚拟路径。Path以一个正斜杠“/”或者反斜杠“\”开始的,则MapPath方法返回路径时将Path视为完整的虚拟路径。若Path不是以斜杠开始,则MapPath方法返回同.asp文件中已有的路径相对的路径。
例如:
<%=Server.MapPath("HTMLEncode.asp")%>
</tr>
</table>
执行的具体效果如图3-5所示。
图3-5Server对象Execute方法示例
2.格式化数据
如果要在HTML网页中显示HTML代码,按照以前的方法,也就是在相应的位置上使用所有的HTML字符,这样会被浏览器当作HTML标记进行解释和执行。例如,当要在浏览器中显示下列内容时:
This is the syntax of a <table> element;
<%
str="<a href=HTMLEncode.asp>hello world!</a>"
Response.Write "这是正常情况下的输出:<br>"
Response.Write str &"<br>"
Response.Write "这是用Server.HTMLencode函数转换后的输出:<br>"
Response.Write"<font color=blue><u>"
Response.Write datediff("d",date(),"2008-08-08")
Response.Write"</font></u>天"%>
</div></td>
</tr>
<tr>
<td><div align="center"><a href="/" target="_blank">北京奥运会圣火点燃火炬传递拉开序幕</a></div></td>
ASP
Server对象是专为处理服务器上的特定任务而设计的,特别是与服务器的环境和处理活动有关的任务。
1.执行其他网页
在几乎所有情况下,通过使用两个新的Server对象的方法Execute和Transfer,可以避免使用客户端重定向。这两个方法使控制立即转到另一个网页,该网页可以是一个ASP网页或者是任何其他的资源。