第2章 ASP簡単プログラミング

2.1 HTMLファイルとASPファイル

■HTMLファイル

 エディタを起動し、リスト2.1のプログラムを記述します(図2.1)。このプログラムをhello.htmlというファイル名をつけて仮想ディレクトリ/asp/2(実ディレクトリは"D:/asp/2")に保存します(図2.2)。

リスト2.1 hello.html

01 <HTML>
02 <HEAD>
03 <TITLE>hello.html</TITLE>
04 </HEAD>
05 <BODY>
06 今日は<BR>
07 </BODY>
08 </HTML>

【注意】

リストの行番号は説明のためにつけたものです。実際のプログラムには不要です。

図2.1 

図2.2

 ブラウザを起動し、URLに http://localhost/asp/2/hello.html と記入し、アクセスします。その結果、図2.3のようにWebページがブラウザに表示されます。"localhost"とは、ブラウザを起動している自らのコンピュータを指定するための名称です。

図2.3

■タグ

 HTMLファイルでは"<"と">"ではさまれた文字列をタグといいます。タグを使って文字や画像の表示を制御します。このことをマークアップ(タグ付け)といます。つまり、文字や画像やハイパーリンクなどの混在した「ハイパーテキスト」をマークアップにより生成するための言語という意味でHyper Text Markup language(HTML)と呼びます。
 HTMLはもともとはハイパーテキストの構造つまりタイトルや段落、図表などを論理構造として表現するためにSGML(Standard Generalized Markup Language)を基本にWWW用に考案されたものですが、近年はハイパーテキストの見栄えつまりスタイルを記述するために利用されることも多くなりました。例えば、<H1>というタグは本来クラス1(最上位)のヘッダーという論理構造を示す意味のタグですが、見栄えとしてヘッダーであるかなしかにかかわらず一番大きい文字を表示すときに使われる場合も多くあります。また、表に関連するタグはまさに論理構造として表を記述するためのタグですが、最近は見栄えとしてスマートなレイアウトを表現するために使われたりします。

【注意】

HTMLのタグは半角の英数字で記述します。英字は大文字でも小文字でも構いませんが、ここでは、大文字で記述します。小文字で記述した場合は、リスト2.1aのようになります。

リスト2.1a hello_a.html

01 <html>
02 <head>
03 <title>hello_a.html</title>
04 </head>
05 <body>
06 今日は<br>
07 </body>
08 </html>

■HTMLファイルの基本形

 リスト2.1はHTMLファイルの基本形を示しています。つまりHTMLファイルは必ず<HTML>タグで始まり、</HTML>タグで終わります。HTMLファイルの中身は大きくヘッダー部と本文に分かれます。ヘッダー部は<HEAD>タグと</HEAD>タグにはさまれた部分です。本文は<BODY.>タグと</BODY>タグではさまれた部分です。WebブラウザはHTMLファイル全体をクライアント(PCや携帯電話など)に送りますが、クライアントのブラウザに表示されるのは、本文つまり、<BODY.>タグと</BODY>タグではさまれた部分のみです。リスト2.1では"今日は<BR>"のみが表示されます。ここで、<BR>は改行タグです。改行タグが表示されるということは、そこで改行が行われるということです。
 ためしに、リスト2.2リスト2.3を作成し、アクセスしてみましょう。

リスト2.2 hello2.html

01 <HTML>
02 <HEAD>
03 <TITLE>hello2.html</TITLE>
04 </HEAD>
05 <BODY>
06 今日は<BR>
07 山田です<BR>
08 </BODY>
09 </HTML>

リスト2.3 hello3.html

01 HTML>
02 <HEAD>
03 <TITLE>hello3.html</TITLE>
04 </HEAD>
05 <BODY>
06 今日は
07 山田です
08 </BODY>
09 </HTML>

 リスト2.2の場合は、図2.4の結果が得られ、「今日は」と「山田です」の間は改行されています。リスト2.3の場合は、「今日は」と「山田です」の2行の文字列はHTMLファイル上では改行されていますが、ブラウザに表示した結果は改行されていません(図2.5)。

図2.4

 

図2.5

 つまり、HTMLファイル上の単なる改行は、ブラウザ上では無視されます。ブラウザ上で改行したい場合は、HTMLファイルでは改行個所に積極的に<BR>を挿入する必要があります。
 HTMLファイル上で改行は無視される(意味をもたない)ということから、リスト2.4リスト2.1と全く同じ動作をします。どちらを推奨するかといえば、プログラム構造のわかりやすさから、リスト2.1の記述方つまりできるだけ改行を用いる方法を薦めます。

リスト2.4 hello4.html

01 <HTML>
02 <HEAD> <TITLE>hello.html</TITLE> </HEAD> <BODY>今日は<BR></BODY>
03 </HTML>

■ ASPファイル

HTMLファイルはファイル拡張子を「.asp」とすれば、そのままASPファイルとして認識され、HTMLファイルと同じ動作をします。リスト2.1の拡張子を「.asp」に変更したリスト2.5のファイルにアクセスした結果を図2.6に示します。

リスト2.5 hello.asp

01 <HTML>
02 <HEAD>
03 <TITLE>hello.asp</TITLE>
04 </HEAD>
05 <BODY>
06 今日は<BR>
07 </BODY>
08 </HTML>

図2.6

 ASPファイルは、本来スクリプト言語でプログラムを記述することにより、動的な処理を行うことを目的としたファイルなのですが、リスト2.5にはスクリプト言語(以下単にスクリプトと呼びます)が一切記述されていないので、結果としてHTMLファイルと同じ動作しかしません。

■デリミタ
 ASPファイルでは、HTMLタグとスクリプトを混在して記述することができます。HTMLタグを記述してある領域とスクリプトを記述してある領域を区別するために、一対のデリミタが使われます。デリミタは"<%"と"%>"で表示します。"<%"はASPファイル上でこれからの文字列がスクリプトであることを示します。"%>"はASPファイル上でスクリプトがこれで終わり、以後の文字列はHTMLタグであることを示します。

【注意】デリミタの"<"と"%"の間に空白や改行は入れてはいけません。

■ スクリプトエンジン
 クライアントがブラウザでサーバ上のASPファイルを指定してアクセスすると、図2.7に示すように、サーバ上のASPはスクリプトエンジンを起動し、指定されたASPファイルを読みこみ、文字列の解釈を始めます。HTMLタグの領域はそのまま、クライアントのブラウザに送信され、スクリプトの領域はプログラムとして解釈され、まずスクリプトの文法が正しいかどうかをチェックし、正しければ次に実行されます。実行の過程で一般にHTMLタグが動的に生成されクライアントのブラウザに送信されます。

図2.7

■スクリプト

 ASP自身は固有のスクリプト言語を持っていませんが、Microsoft社はASPで利用できる標準スクリプトとして、VBScript(Visual Basic Script Edition)Jscript(JavaScript)を提供しています。
 したがって、ASPファイルのスクリプト領域でどのスクリプト言語を使用しているのかをあらかじめ指定しておく必要があります。これは次のように記述します

<%@ LANGUAGE="スクリプト言語の名称" %>

例えば、VBScriptを使用する場合は、

01 <%@ LANGUAGE="VBScript" %>

と記述します。このスクリプト言語指定の記述は必須ではありませんが、記述する場合は必ずASPファイルの第1行目に記述します。スクリプト言語指定の記述がない場合は、サーバ側の規定値で指定されているスクリプト言語が使用されます。一般にはVBScriptが既定値となっています。本書ではVBScriptを使用します。

【注意】

スクリプトも半角英数字で記述します。


目次 前のページ 次のページ