- PR -

VBで作成したDLLをJSPで呼び出す方法

投稿者投稿内容
未記入
会議室デビュー日: 2004/08/27
投稿数: 3
投稿日時: 2004-08-27 11:04
VBで作成したDLLをJSPから呼び出す方法が分かりません。
DLLはクライアントにおき、以下のコード(JSPの中にVBScriptで記述しています)
で呼び出すとエラーが発生します。
HTML形式でクライアントに置いた場合はうまくいくのですが、、、
JSPから実行する場合は、別の記述方法なのでしょうか?
セキュリティ上の問題は別としてあるのですが、技術的に何らかの方法があると考えています。
ご存知の方、よろしくお願いします。
----------------------------------
<html>
<head>
<%@ page contentType="text/html;charset=Shift_JIS" %>
<title>DLLの呼び出し方</title>
<SCRIPT LANGUAGE="VBScript">
<!--
Sub Button1_OnClick
Set sss = CreateObject("DLL名.クラス名")
ret = sss.WinExecApp1()
Set sss = nothing
End Sub
-->
</SCRIPT>
</head>
<body>
<FORM><INPUT NAME="Button1" TYPE="BUTTON" VALUE="ここをクリックしてください。"></FORM>
</body>
</html>
--------------------------------
taku
ぬし
会議室デビュー日: 2002/11/12
投稿数: 918
お住まい・勤務地: 墨田区→中野区
投稿日時: 2004-08-27 11:36
 私は、VBScriptは殆ど知りません・・・。

引用:

未記入さんの書き込み (2004-08-27 11:04) より:
DLLはクライアントにおき、以下のコード(JSPの中にVBScriptで記述しています)


 これがいけないだけかと・・・。

引用:

未記入さんの書き込み (2004-08-27 11:04) より:
HTML形式でクライアントに置いた場合はうまくいくのですが、、、
JSPから実行する場合は、別の記述方法なのでしょうか?


 ということは、HTMLをサーバー上に置いた場合は、
上手くいかないはずです。

※サーバーはJSPを実行して、結果として、
 HTMLをクライアントにレスポンスとして返すだけなので、
 クライアントから見たらJSPはHTMLです。
未記入
会議室デビュー日: 2004/08/27
投稿数: 3
投稿日時: 2004-08-27 11:53
ご指摘通り、サーバ上に置いたHTMLからはダメです。
やはりセキュリティの関係上無理があるのかもしれません。
少し別の角度から見直す必要があるのかもしれません。
たーぞう
ぬし
会議室デビュー日: 2003/08/08
投稿数: 317
お住まい・勤務地: お花畑
投稿日時: 2004-08-27 12:51
引用:

未記入さんの書き込み (2004-08-27 11:53) より:
ご指摘通り、サーバ上に置いたHTMLからはダメです。
やはりセキュリティの関係上無理があるのかもしれません。
少し別の角度から見直す必要があるのかもしれません。


セキュリティと言うより、そもそもJSPはHTMLに似ていますがHTMLではないので不可能です。

JSPが動くときは、一旦Javaのソースプログラムに変換され、それが更にコンパイルされて、サーブレットとして動きます。

JSPの中にVBScriptを記述すると、Javaプログラムに変換する時点でエラーになってしまいます。
taku
ぬし
会議室デビュー日: 2002/11/12
投稿数: 918
お住まい・勤務地: 墨田区→中野区
投稿日時: 2004-08-27 13:13
引用:

たーぞうさんの書き込み (2004-08-27 12:51) より:
JSPの中にVBScriptを記述すると、Javaプログラムに変換する時点でエラーになってしまいます。


 いや、それはおかしいかと・・・。
JSP自体の構文に間違いが無ければ、コンパイルエラーにはなりえません。
VBScriptはクライアントで解釈・実行されるものですから、
JSPのコンパイル時に、VBScriptが原因で、
コンパイルエラーが発生することなどありえないかと・・・。

 とりあえず、サーバー上に、
該当のDLLをHTMLもしくは、
JSPと同じパス上におけばいいだけなんじゃ・・・。
たーぞう
ぬし
会議室デビュー日: 2003/08/08
投稿数: 317
お住まい・勤務地: お花畑
投稿日時: 2004-08-27 13:29
引用:

takuさんの書き込み (2004-08-27 13:13) より:
引用:

たーぞうさんの書き込み (2004-08-27 12:51) より:
JSPの中にVBScriptを記述すると、Javaプログラムに変換する時点でエラーになってしまいます。


 いや、それはおかしいかと・・・。
JSP自体の構文に間違いが無ければ、コンパイルエラーにはなりえません。
VBScriptはクライアントで解釈・実行されるものですから、
JSPのコンパイル時に、VBScriptが原因で、
コンパイルエラーが発生することなどありえないかと・・・。


す、すみません・・・間違ってました。
Tomcatで未記入さんのコードを動かしてみたらdll呼び出しの前まではちゃんと動きました。

逝ってきま〜す
未記入
会議室デビュー日: 2004/08/27
投稿数: 3
投稿日時: 2004-08-27 14:46
引用:
--------------------------------------------------------------------------------
takuさんの書き込み (2004-08-27 13:13) より:
 とりあえず、サーバー上に、
該当のDLLをHTMLもしくは、
JSPと同じパス上におけばいいだけなんじゃ・・・。
--------------------------------------------------------------------------------

サーバ上の同じパスに置いてやってみてもダメでした。
DLLファイルはクライアントの環境変数に設定されているパスに
置く必要があるのではないでしょうか?
okutin
ベテラン
会議室デビュー日: 2003/12/11
投稿数: 98
お住まい・勤務地: 広島
投稿日時: 2004-08-27 15:20
こんにちは。
VBScriptはまったくわかりませんが。

引用:

takuさんの書き込み (2004-08-27 13:13) より:

 とりあえず、サーバー上に、
該当のDLLをHTMLもしくは、
JSPと同じパス上におけばいいだけなんじゃ・・・。



VBScriptはブラウザ側で動作するのですからサーバに置いてもアクセスできないのでは。
それともURL指定とかできるのでしょうか。

引用:

未記入さんの書き込み (2004-08-27 14:46) より:

DLLファイルはクライアントの環境変数に設定されているパスに
置く必要があるのではないでしょうか?




クライアント側のファイルにサーバ上のコンテンツがアクセスできたらそれはセキュリティホールだと思うのですが。

サーバ側にDLLを配置して、サーブレットなどからアクセスするのが一般的な気がしますが。

スキルアップ/キャリアアップ(JOB@IT)