※ ChatGPTを利用し、要約された質問です(原文:JSP/サーブレットを用いたWebアプリケーションでVBScript)
JSP/サーブレットを用いたWebアプリケーションでVBScriptのエラーが発生する
このQ&Aのポイント
質問者は、VBScriptを使用してIPアドレスを取得しようとしているが、JSPで組んだ際に「ActiveXコンポーネントはオブジェクトを作成することができません:WScript.Shell」というエラーが表示される
質問者はローカルでHTMLを実行した際にはエラーが発生しなかったため、環境面の問題ではないと考えている
VBScriptを使用してIPアドレスを取得する際に、JSP/サーブレットの環境で問題が発生している。他の方法を検討するか、環境設定を見直す必要がある
JSP/サーブレットを用いたWebアプリケーションでVBScript
諸事情から、現在開発を行っているWebアプリケーションではVBScriptでIPアドレスを取得しようとしています。
そこで以下のようなJSPを組んだところ
「ActiveXコンポーネントはオブジェクトを作成することができません:WScript.Shell」
とエラーが表示されました。
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=SHIFT_JIS">
<META name="GENERATOR" content="IBM WebSphere Studio">
<META http-equiv="Content-Style-Type" content="text/css">
<SCRIPT Language="VBScript">
<!--
Set objShell = CreateObject("WScript.Shell")
Set objExec = objShell.Exec("ipconfig.exe")
Do Until objExec.StdOut.AtEndOfStream
strLine = objExec.StdOut.ReadLine
If InStr(strLine, "IP Address") <> 0 Then
iColon = Instr(strLine, ":")
strAddress = Mid(strLine, iColon + 2)
document.myform.IPAddress.value = strAddress
End If
Loop
// -->
</SCRIPT>
<SCRIPT TYPE="text/javascript">
<!--
function init() {
document.myform.submit();
}
// -->
</SCRIPT>
</HEAD>
<BODY onload="init()">
<FORM name="myform" action="servlet/com.fujitsu.personal.sd2.common.SD2SYS001Bean" method="post">
<INPUT type="hidden" name="IPAddress">
クライアント認証中
</FORM>
</BODY>
</HTML>
このHTMLをローカルで実行するとエラーは出ませんでした。
なのでローカルの環境面での問題ではないと思われます。
どなたかご教授おねがいいたします。
お礼
BLUEPIXYさん、回答ありがとうございました。 BLUEPIXYのおっしゃるとおり、環境の問題でした。 クライアントのブラウザの設定で、 セキュリティのActiveXに関する項目をすべて 「有効にする」もしくは「ダイアログを表示する」 に設定したところ、解決しました。 ありがとうございました。