JScriptでASP

[上に] [前に] [次に]
tera.txt [E-Mail] 2000/05/22(月) 11:27:17
どうもお世話様です。

NNでブラウズできるよう、サーバスクリプトをJScriptでASPを
組みたてたいのですが、文法がわかりません。
JavaScript(クライアントスクリプト)に関しては
使ったことがあるのでわかるのですが、
サーバサイドのものは全くもって無知であります。
どなたか良い参考文献・HPなどありましたらご紹介お願いします。

やりたいことはWeb上でのDB(Access2000)データ照会です。
サーバはWinNT4.0/IIS4.0で、ブラウザはNN4.xです。

それではよろしくお願いします。

dddd 2000/05/22(月) 11:41:38
そーれ。
http://www.microsoft.com/japan/developer/scripting/jscript/default.htm

dddd 2000/05/22(月) 11:44:47
↑JScriptの文法とかについてはそこの中のドキュメントってところね。
http://www.microsoft.com/Japan/Developer/Scripting/JScript/techinfo/jsdocs.htm

ASPアプリの組み方としては、普通にASP(+MDB)みたいな感じの本を
適当に買ってきて、見ながらやればOKでしょう。その辺の書籍は
VBScriptで書かれていると思うけど、VBScriptの部分をJScriptに
書き換えるだけで動きます。プログラム的な流れは同じなので。

dddd 2000/05/22(月) 11:47:23
あ、ちなみに、Server-side Scriptとして使うのなら
JScriptじゃなくてVBScriptで書いてあってもNetscapeで
問題なく見れますよ。もしVBScriptが書けるのなら、
Server-sideはVBScriptで書いて(サンプルとかも豊富だし)、
Client-side Scriptが必要な場面ではJavaScriptを使えば
良いかと思います。まあお好きな方法でやれば良いわけですけど。

tera.txt [E-Mail] 2000/05/22(月) 12:13:02
ddddさん、早々の熱いご回答(笑)、ありがとうございました。
なるほど、サーバ上で処理する必要のあるものは
VBSでも大丈夫だと。要するに、HTMLに組みこまない分には。
独立した形式(htmlの<a>タグでaspファイルに入力→aspで処理後、htmlに出力、つまり
ひとつの処理につきファイルが3ついる、ということ)なら、
特にブラウザを意識しなくてもいいという解釈で間違ってませんか?

僕もできればVBSでデータベース処理を行いたいので、この辺もう少し詳しく
ご説明いただけるとありがたいです。

それでは早速行ってみます。

dddd 2000/05/22(月) 12:42:43
ファイルが3つ、というのがよくわかりませんが…

ASPというのは、<% と %> とで括られたところをServer-sideで
処理してからはじめて実行結果がHTTPを走るわけですから、
クライアントが受け取るのはただのtext/htmlです。
例えば、

<html>
<head>
<title>テスト</title>
<script language="JavaScript"><!--
alert("テスト");
// --></script>
</head>
<body>
<p><% Response.Write "VBScriptで書き出してみる" %></p>
</body>
</html>

こんなのをtest.aspとしたとします。
<% 〜 %> の中はVBScriptで書かれていますが、この部分は
Server-sideでしか読まれないので、クライアントにとっては
どの言語で書かれていようと関係ないのです。受け取るのは
結果だけですから。というわけで、Netscapeでコレを参照すると、

<html>
<head>
<title>テスト</title>
<script language="JavaScript"><!--
alert("テスト");
// --></script>
</head>
<body>
<p>VBScriptで書き出してみる</p>
</body>
</html>

こういう状態で受け取ることになるわけです。つまり、単なる
text/htmlが解釈できるブラウザなら、どれでも読めるという
ことになります。.cgiファイルと同じだと思ってください。

tera.txt [E-Mail] 2000/05/22(月) 13:12:23
ddddさん、ありがとうございます。だいたいわかりました。
ファイル3つ→2つの間違いです。失礼しました。

もうひとつ質問。

VBSとJScriptを混在させたaspファイルはバグが出るらしいのですが、どうでしょうか?
自分で試せばいいのですが、いかんせんバグがでてもそれが混在させたためなのか、
自分のプログラム上でのバグなのか判断がつかないことがあると思うので、
参考までにお聞かせください。

よろしくお願いします。

dddd 2000/05/22(月) 13:28:37
>VBSとJScriptを混在させたaspファイルはバグが出るらしいのですが、どうでしょうか?
えーと、当然、Server-side Scriptとして混在させるという意味
ですよね?
IISのマニュアルとかに書いてあるはずですが、
ASPのdefault languageは、

<%@ language="VBScript" %>

と始めに書くことでそのASPファイル内では、<% 〜 %>の中は
VBScriptですっちゅー宣言になります(この宣言がなくても
デフォルトはVBScriptと見なされますが)。
さらにJScriptを使いたい場合は、

<script language="JScript" runat="Server">
....
.... (JScriptの処理)
....
</script>

と、client-sideのscriptタグと同じように書いたりします。
一見同じに見えても、runat="server"という属性がついていれば、
それはserver-sideで処理されます。

なんというか、VBScriptとJScriptを両方使っても、きちんと
書いてあればバグは出ないはずです。バグが出るということは、
単純にプログラム(スクリプト)がバグってるだけと考えるのが
素直かと思いますが。
ただ、JScriptのメリットというと、JavaScriptに慣れている
場合と、あと正規表現を使いたいとかいう時くらいだと思うので、
全てVBScriptでいいんじゃないでしょうか。VBScriptのほうが
得意みたいですし。

dddd 2000/05/22(月) 13:40:34
あと、
>ファイル3つ→2つの間違いです。失礼しました。
1ページにつきファイルは1つだと思います、というか、そういう
数え方はちょっちウマくないので、やめたほうが良いと思います。
とはいえ、それが理解の促進に繋がるのなら、無理には止めませんけど。

tera.txt [E-Mail] 2000/05/22(月) 13:50:55
ddddさん、ありがとうございます。

ではココの質問タイトルの「JScriptでASP」っていうのは
結果的には「VBSでASPやった方がいい、ブラウザも意識する必要なし」
ってことでいいんでしょうか?
JScriptでの、処理的なメリットって特別ないのでしょうか?
例えば処理スピードが速いとか。
あとJScriptってデータベース処理難しそうですけど、どうですか?

なんか自分で開発しないでこんな質問ばかりするのは、プログラマー失格だと
思うのですが、いかんせん他にもいろいろ考えなければならないので、
よろしくご回答ください。それではお願いします。

dddd 2000/05/22(月) 14:13:32
JScriptの良い点というと、実質JavaScriptと同じですから
(ASPのObjectが作れるとか、その辺の便宜がはかられたJavaScript
だと思えば、とりあえずはOK)、client-side scriptとしては
JavaScriptが普通なので、JavaScriptがわかってれば書ける
ということになりますかね。反対に、VBScriptなら、VBで親しんで
いる人にとってはJScript(JavaScript)を新しく覚え直す必要が
なくて楽ってのがありますね。
処理的な速度とかは最終的にはASPアプリケーションとしての
ものに依存するので、よほどおかしなスクリプトになってない
限りは大して変わらないと考えてもまあ良いかと思います。
どうしても正規表現を使いたかったらJScriptじゃないと駄目
なので、まああとは好みでどうぞ。
JScriptだとDB処理が面倒とか難しいってことはASPアプリに
おいてはありえません。とどのつまりSQL発行するだけだからね。
mdbのObjectをどう使うかという話なので、スクリプトによって
どうだってことは無いです。
Perlが好きならActivePerlインストールして、ASPの言語として
PerlScriptを使ったって全く問題ないわけですから。

>結果的には「VBSでASPやった方がいい、ブラウザも意識する必要なし」
>ってことでいいんでしょうか?
「慣れているスクリプトを使えばいい」ということです。
VBScriptを一度も書いたことがないのならともかく、VBなりで
扱ったことがあるのなら、市販の書籍のサンプルソースなども
多くはVBScriptなので、そういう意味ではVBScriptのほうが
やりやすいと思います。
ASPアプリのコーディングとしてはブラウザを意識する必要は
ありませんが、最終的にクライアントに渡されるのはHTMLですから、
HTMLの書き方としては当然ブラウザを意識しないと思うように
表示されないこともあります。ただ、処理としてはブラウザを
意識する必要はありませんのでVBScriptでも全く問題ありません。

tera.txt [E-Mail] 2000/05/22(月) 14:17:38
[[解決]]
ddddさん、ホントにありがとうございます。助かりました。
これからVBSの書籍を買ってこようと思います。
また何かつまずいたらよろしくお願いします。
それではまた。

[上に] [前に] [次に]