Asp深度揭密(上)(下)

來源:互聯網
上載者:User

Asp深度揭密(上)
一、Asp基本知識

1.Asp是ActiveServerPages的簡稱,是解釋型的指令碼語言環境;
2.Asp的運行需要Windows作業系統,9x下需要安裝PWS;而NT/2000/XP則需要安裝InternetInformationServer(簡稱IIS);
3.Asp和JSP的指令碼標籤是“<%%>”,PHP的則可以設定為多種;
4.Asp的注釋符號是“'”;
5.使用附加組件,可以擴充Asp的功能。

例子:

HelloWorld_1.asp
<%="Hello,world"%>

效果:
Hello,world


HelloWorld_2.asp
<%
fori=1to10
response.write"Hello,world"
next
%>

效果:
Hello,world
Hello,world
Hello,world
Hello,world
Hello,world
Hello,world
Hello,world
Hello,world
Hello,world
Hello,world

注意:Asp不區分大小寫;變數無需定義也可使用,轉換方便;語法檢查很松。


二、Asp內建對象的使用:

可以使用下面的任何ASP內建對象,而不必在ASP指令碼中特別聲明。

1.Request:

定義:可用來訪問從瀏覽器發送到伺服器的請求資訊,可用此對象讀取已輸入HTML表單的資訊。

集:
Cookies:含有瀏覽器cookies的值
Form:含有HTML表單域中的值
QueryString:含有查詢字串的值
ServerVariables:含有頭和環境變數中的值

例子:

request_url.asp
<%
'擷取使用者輸入,並存入變數
user_id=request.querystring("user_id")
user_name=request.querystring("user_name")

'判斷使用者輸入是否正確
ifuser_id=""then
response.write"User_idisnull,pleasecheckit"
response.end
endif
ifuser_name=""then
response.write"User_nameisnull,pleasecheckit"
response.end
endif

'列印變數
response.writeuser_id&"<br>"
response.writeuser_name
%>

效果:
當訪問http://10.1.43.238/course/request_url.asp?user_name=j時:
User_idisnull,pleasecheckit
當訪問http://10.1.43.238/course/request_url.asp?user_name=j&user_id=my_id時:
my_id
j

思考:變數是如何在URL中傳遞和被Asp頁面擷取的?


request_form.htm
<styletype="text/css">
<!--
.input{background-color:#FFFFFF;border-bottom:black1pxsolid;border-left:black1pxsolid;border-right:black1pxsolid;border-top:black1pxsolid;color:#000000;font-family:Georgia;font-size:9pt;color:midnightblue;}
a:link{color:#1B629C;text-decoration:none}
a:hover{color:#FF6600;text-decoration:underline}
a:visited{text-decoration:none}
-->
</style>

<center>
<formname="course"action="request_form.asp"method="post">
User_id:<inputtype="text"name="user_id"maxlength="20"class="input"><br><br>
User_name:<inputtype="text"name="user_name"maxlength="30"class="input">
</form>
<br><br>
<ahref="javascript:document.course.submit();">提交</a>
</center>

request_form.asp
<%
'擷取使用者輸入,並存入變數
user_id=request.form("user_id")
user_name=request.form("user_name")

'判斷使用者輸入是否正確
ifuser_id=""then
response.write"User_idisnull,pleasecheckit"
response.end
endif
ifuser_name=""then
response.write"User_nameisnull,pleasecheckit"
response.end
endif

'列印變數
response.writeuser_id&"<br>"
response.writeuser_name
%>

注意:form的action的指向,request_form.asp和request_url.asp在原始碼上的區別?

2.Response:

定義:用來向瀏覽器回傳資訊,可用此對象從指令碼向瀏覽器發送輸出。

集:
Cookies:在瀏覽器中加入一個cookie

方法:
End:結束指令碼的處理
Redirect:將瀏覽器引導至新頁面
Write:向瀏覽器發送一個字串

屬性:
Buffer:緩衝一個ASP
CacheControl:由Proxy 伺服器控制緩衝
ContentType:規定響應的內容類型
Expires:瀏覽器用相對時間控制緩衝
ExpiresAbsolute:瀏覽器用絕對時間控制緩衝

例子:

response_redirect.asp
<%
'去google看看吧
response.redirect"http://www2.google.com"
response.end
%>


response_cookies.asp
<%
'設定和讀取cookies
response.cookies("time_now")=now()
response.writerequest.cookies("time_now")
%>

效果:
當訪問http://10.1.43.238/course/response_cookies.asp時:
2002-9-116:20:40


response_buffer.asp
<%'response.buffer=true%>
<ahref="a">a</a>
<%response.redirect"request_form.htm"%>

效果:
①.當關閉IIS的緩衝功能,訪問該頁面時出錯
a
回覆對象錯誤'ASP0156:80004005'
頭錯
/course/response_buffer.asp,行3
HTTP頭已經寫入到客戶瀏覽器。任何HTTP頭的修改必須在寫入頁內容之前。
②.當關閉IIS的緩衝功能,去掉檔案第一行的注釋,則頁面重新導向成功
③.當開啟IIS的緩衝功能,無論是否去掉檔案第一行的注釋,頁面重新導向都成功

3.Server

定義:可在伺服器上使用不同實體函數,如在時間到達前控制指令碼執行的時間。還可用來建立其他對象。

相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。