この記事から始めて、著者はASP組み込みのオブジェクトから始まり、6つの組み込みオブジェクトとASPのさまざまなコンポーネントの機能と方法を詳細に分析します。
ASPの組み込みオブジェクトとコンポーネントを正式に学習し始める前に、まずいくつかの基本的な概念を理解しましょう。これは、将来の学習に大きな役立ちます。以下の表をご覧ください。
Active Server Windows NTで配信されるサーバー側のテクノロジーのコレクション。これらのテクノロジーは、一貫したサーバー側コンポーネント、スクリプトモデル、コンポーネントアプリケーション管理、データベースアクセス、トランザクション、およびメッセージ向けの統合システムサービスを提供します。
Active Serverページ(ASP)サーバー上でActiveXスクリプトとActiveXコンポーネントを実行するサーバー側のスクリプト環境。開発者は、スクリプトとコンポーネントを結合して、Webベースのアプリケーションを作成できます。
ActiveXを使用すると、開発者は、Microsoftの豊富な技術用語を備えたWorld Wide Web用のインタラクティブコンポーネントを作成できます。さまざまな言語で記述されたソフトウェアコンポーネントがネットワーク環境で協力できるようにする一連の言語に依存しない相互運用性テクノロジー。 ActiveXの重要な要素は、コンポーネントオブジェクトモデル(COM)と分散コンポーネントオブジェクトモデル(DCOM)です。これらのテクノロジーは、オープン組織によってライセンスされており、多くのプラットフォームに移植されています。
ADOアクティブデータオブジェクト。インターネットベースのデータ中心のアプリケーション向けに最適化されたオブジェクトベースのデータアクセスインターフェイスのセット。 ADOは公開された仕様に基づいており、Microsoft Internet Information ServerとMicrosoft Visual Interdevが付属しています。
DSNデータソース名。オープンデータベースインターフェイス(ODBC)を使用して、ドライバーの論理名またはデータへのアクセスに必要なその他の情報を参照します。 SQL ServerデータベースなどのODBCデータソースに接続するために使用されるインターネット情報サーバーの名前。
イベント:ユーザーまたはActiveXコントロールによって生成されたプログラムによってイベントが応答するアクション。一般的なイベントには、キーボードキーを押すこと、マウスを使用して選択ボタンをクリックすること、およびその他のマウス操作が含まれます。プログラマーは、これらの操作に応答するコードを書きます。
オブジェクト:オブジェクトは、オブジェクト指向プログラミングの完全なエンティティと見なされる操作とデータで構成される変数です。オブジェクトは、クライアントがオブジェクトのサービスを使用して、一連のメソッドまたは関連する機能のインターフェイスを介してオブジェクトのデータにアクセスする特定のモデルに基づいています。その後、クライアントはこれらのメソッドを呼び出して操作を実行できます。
ODBCオープンデータベースインターフェイス。アプリケーションが既存のデータソースからデータにアクセスできるようにするアプリケーションプログラミングインターフェイス。さまざまなクロスプラットフォームデータアクセスの標準仕様。
SQL構造化されたクエリ言語構造化クエリ言語。リレーショナルデータベースを定義およびアクセスするための国際基準。
オブジェクトとは何ですか?それはあなたが恋をしている男性や女性の仲間を指しません。オブジェクト指向プログラミングでは、オブジェクトは、完全なエンティティと見なされる操作とデータで構成される変数を指します。オブジェクトは、クライアントがオブジェクトのサービスを使用して、一連のメソッドまたは関連する関数のインターフェイスを介してオブジェクトのデータにアクセスする特定のモデルに基づいており、クライアントはこれらのメソッドを呼び出して操作を実行できます。 ActiveXコンポーネントはWebアプリケーションを構築するための鍵であり、コンポーネントはスクリプトでタスクを実行するオブジェクトを提供します。 ActiveXコンポーネントは、特定のアイテムまたはコンポーネントのセットを実行するコードを含むファイルです。プログラマーは、これらのタスクを実行するコードを作成する必要がありません。コンポーネントは、スクリプトおよびWebベースのアプリケーションの基本的なビルディングブロックとして活用できます。コンポーネントが提供するオブジェクトにアクセスする方法を知っている限り、スクリプトの初心者でさえ、コンポーネントの仕組みを理解せずにスクリプトを書くことができます。要するに、コンポーネントを使用すると、プログラミングを学習せずに強力なスクリプトを作成できます。コンポーネントは、動的リンクライブラリ.dllまたは実行可能ファイル.exeに含まれる実行可能なコードです。コンポーネントは、1つ以上のオブジェクトと、オブジェクトのメソッドとプロパティを提供する場合があります。コンポーネントが提供するオブジェクトを使用するには、オブジェクトのインスタンスを作成し、新しいインスタンスに変数名を割り当てます。 Server.CreateObject ASPのCreateObjectメソッドを使用してオブジェクトのインスタンスを作成し、Scripting言語の変数割り当て指令を使用してオブジェクトインスタンスに名前を付けます。次の例に示すように:
db = server.createobject(adodb.connection)を設定します
ここの変数DBは、ASPプログラムによって作成されたデータベースにアクセスするオブジェクトのインスタンスです。
Active Serverページは、スクリプトで使用できる組み込みオブジェクトを提供します。これらのオブジェクトにより、ユーザーはブラウザリクエストを介して送信された情報を簡単に収集し、ブラウザに応答し、ユーザー情報を保存できるため、オブジェクト開発者は多くの退屈な作業から解放されます。現在のASPバージョンは、合計6つの組み込みオブジェクトを提供します。
1。オブジェクトをリクエストします
リクエストオブジェクトを使用して、POSTメソッドまたはGETメソッドを使用してHTMLテーブルから渡されたパラメーター、Cookie、およびユーザー認証など、HTTPリクエストで渡されたすべての情報にアクセスできます。リクエストオブジェクトを使用すると、クライアントがサーバーに送信したバイナリデータにアクセスできます。
構文をリクエスト:
リクエスト[コレクション|
ここで、著者は分析のためにいくつかの一般的に使用されるオブジェクト文法を選択します
1。フォーム
フォームコレクションは、POSTメソッドを使用してHTTP要求本体に送信されたテーブル要素の値を取得します。
文法
request.form(element)[(index)| .count]
パラメーター
要素テーブル要素の名前を指定して、コレクションを取得します。
インデックスオプションパラメーターを使用すると、パラメーター内の複数の値のいずれかにアクセスできます。 1とrequest.form(parameter).countの間の任意の整数にすることができます。
コレクション内の要素の数を数えます
フォームコレクションは、リクエスト本文のパラメーターの名前によってインデックス付けされます。 request.form(element)の値は、リクエスト本文のすべての要素値の配列です。 [request.form(element).countを呼び出して、パラメーター内の値の数を決定します。パラメーターが複数の値を関連付けていない場合、カウントは1です。パラメーターが見つからない場合、カウントは0です。複数の値を持つテーブル要素の単一の値を参照するには、インデックス値を指定する必要があります。インデックスパラメーターは、1からrequest.form(element).countに任意の数値にすることができます。複数のテーブルパラメーターのいずれかが参照され、インデックス値が指定されていない場合、返されたデータはコンマ区切りの文字列になります。
修復剤を使用して、すべてのデータ値をテーブルリクエストに表示できます。
趣味パラメーターの場合、以下のスクリプトを使用してこれらの値を取得できます。 <html> <head> <title> < /title> < /head> <body> <p>あなたの趣味に記入してください< /p> <form method = post action = form.asp> <p> <入力タイプ=テキスト名=趣味のサイズ= 20> <br> <入力タイプ=チェックボックス名=趣味値=フットボール>フットボール<入力<入力=チェックボックス=趣味=テーブルテニス>テーブルテニス< /p> <p> <入力タイプ=送信値= send name = b1> <input type = reset value = refill name = b2> < /p> < /form> <%request.form(趣味)応答。 > < /body> < /html>
上記のコードをメモ帳に廃棄します(後にスペースを削除することに注意してください)。フォーム。
もちろん、以下に示すように、for ...次のループを使用すると同じ出力も生成できます。
<%
i = 1がrequest.form(趣味).count
respons.write request.form(趣味)(i)&<br> next
%>
2。クエリストリング
QueryStringコレクションは、HTTPクエリ文字列の変数の値を取得します。のように:
<a href = example.asp?string =これはサンプル>文字列サンプルです< /a>です
値を持つ変数名文字列を生成しますこれはサンプルです。クエリ文字列は、テーブルを送信するか、ユーザーがブラウザのアドレスボックスにクエリを入力することで生成することもできます。
文法
request.querystring(variable)[(index)| .count]
QueryStringコレクションを使用すると、名前でquery_string変数を取得できます。 request.querystring(パラメーター)の値は、query_stringに表示されるすべてのパラメーターの値の配列です。 request.querystring(パラメーター).countを呼び出すことにより、パラメーターが持つ値の数を判断できます。
また、QueryStringを使用して、前の例と同じ機能を実現することもできます。リクエストを置き換えるだけです。部分的に次のようにフォームします。
<%
request.querystring(趣味)の各iの場合
Response.write i&<br>
次
%>
3。クッキー
Cookieは実際にタグです。このマーク。各Webサイトには独自のタグがあり、タグ付きコンテンツはいつでも読むことができますが、そのサイトのページでのみ実行できます。各サイトのCookieは、他のすべてのサイトのCookieと同じフォルダーの異なるファイルに存在します(WindowsディレクトリのCookiesフォルダーにそれらを見つけることができます)。 Cookieは、Cookieが会話期間またはいくつかの会話期間の間に共有される情報を独自に識別できるタグです。リクエストによって提供されるCookieセットにより、ユーザーはHTTPリクエストで送信されたCookieの値を取得できます。この機能は、認証された顧客パスワードや電子掲示板、Webチャットルームなど、ASPプログラムでよく使用されます。
文法
request.cookies(cookie)[(key)| .attribute]
パラメーター
Cookieは、価値を取得したいCookieを指定します。
Cookie辞書からサブキーワードの値を取得するためのキーオプションパラメーター。
Attribeは、Cookie独自の情報を指定します。たとえば、Haskeysは読み取り専用で、Cookieにキーワードが含まれているかどうかを指定します。
Cookie Dictionaryのサブキーワードには、キー値を含めることでアクセスできます。 Cookie辞書にアクセスするときにキーが指定されていない場合、すべてのキーワードは単一のクエリ文字列として返されます。たとえば、MyCookieに2つのキーワードが1つ目と2番目のキーワードがあり、request.cookiesを呼び出すときにそれらのいずれも指定されていない場合、次の文字列が返されます。
first = firstKeyValue&second = secondKeyValue
クライアントブラウザが同じ名前の2つのCookieを送信する場合、Request.Cookieはより深いパス構造のあるCookieを返します。たとえば、同じ名前の2つのCookieがあるが、そのうちの1つが/www/のパス属性を持っている場合、もう1つは/www/home/の場合、クライアントブラウザは両方のCookieを/www/home/directoryに送信します。同時に、request.cookieは2番目のCookieのみを返します。
CookieがCookie辞書であるかどうか(Cookieにキーワードがあるかどうか)を判断するには、次のスクリプトを使用します。
<%= request.cookies(mycookie).haskeys%>
mycookieがCookie辞書の場合、前の割り当ては真です。そうでなければ、それは誤りです。クッキーの例を見てみましょう。
<%
nickname = request.form(nick)response.cookies(nick)= nickname
「応答オブジェクトを使用して、ユーザー名をCookieに書き込みます
Response.write welcome&request.cookies(nick)&to the Site!
%>
<html> <head> <メタhttp-equiv = content-type content = text/html;
<title> cookie </title>
<メタ名=ジェネレーターコンテンツ= Microsoft FrontPage 3.0> </head>
<body>
<form method = post action = cookie.asp>
<p> <入力タイプ=テキスト名=ニックサイズ= 20>
<入力タイプ=送信値= send name = b1> <input type = reset value = refill name = b2> < /p> < /form>
< /body> < /html>
これは、実際には、WebベースのBBSまたはChat ASPプログラムで一般的な方法です。これは、ユーザーがCookieの開始ページに記入しているため、後続のプログラムがユーザーのニックを簡単に呼び出すことができます。
4。ServerVariables
誰もが、ブラウザでWebページを閲覧するときに使用される送信プロトコルがHTTPであることを知っています。 。
文法
request.servervariables(サーバー環境変数)
サーバー環境変数が多数あるため、著者は次の表に一般的に使用されるいくつかの変数のみをリストします。
| all_http | クライアントが送信したすべてのHTTPヘッダーファイル。 |
| content_length | クライアントが発行するコンテンツの長さ。 |
| content_type | コンテンツのデータ型。例:Text/HTML。 HTTPクエリGET、投稿、および配置などの追加情報クエリとともに使用されます。 |
| local_addr | リクエストを受け入れたサーバーアドレスを返します。この変数は、複数のIPアドレスを結合するマルチホストマシンでリクエストで使用されているアドレスを調べる場合、非常に重要です。 |
| logon_user | ユーザーはWindows NTアカウントにログインします。 |
| query_string | HTTPリクエストの疑問符(?)の後の情報をクエリします。 |
| remote_addr | リクエストを発行したリモートホスト(クライアント)のIPアドレス。 |
| remote_host | リクエストを発行したホスト(クライアント)の名前。サーバーにこの情報がない場合、空のmote_addr変数に設定されます。 |
| request_method | この方法は、リクエストを行うために使用されます。 HTTPに使用される、ヘッド、ポストなどと同等です。 |
| server_name | サーバーホスト名、DNS仮名、または自己参照URLに表示されるIPアドレス。 |
| server_port | リクエストを送信するポート番号。 |
次のスクリプトを使用して、すべてのサーバー環境変数を印刷できます。
<表>
<tr> <td> <b>サーバー変数< /b> < /td> <td> <b> value < /b> < /td> < /tr> <%request.servervariables%>
<tr> <td> <%= name%> < /td> <td> <%= request.servervariables(name)%> < /td> < /tr> < /table>
<%next%>
今日、私たちはASPビルトインオブジェクトのリクエストオブジェクトを詳細に学びました。これは、ASPプログラムで最も頻繁に使用されるオブジェクトでもあります。