DominoのServlet機能を使う (ユーザー指定のクラスローダ)

さて、いろいろなサーブレットを動かしてみると動かないものが出てきます。

そのうちのひとつとして以下のようなセキュリティに関わるサーブレットがあります。
たとえば、以下の例のPrintEnvServletはシステムプロパティにアクセスしているので実行できないようになっています。これを実行させるには専用のディレクトリにコピーしてそれをロード可能なディレクトリとして notes.ini に指定する必要があります。

このPrintEnvServlet.classを、"/servlets"(名前はなんでもいいです)ディレクトリを作成した上で、その中にコピーします。

サーバーのnotes.iniに以下の1行を追加します。

この指定によって、Domino Servlet Manager のクラスローダからではなく、Java VM クラスローダによってクラスのロードが行われます。
Domino Servlet Manager はカスタムクラスローダの作成や一部の制限つきオペレーションを実行しないようになっていますので、そのようなクラスを使用する場合にはこの"JavaUserClasses="の設定が必要になります。

notes.iniの変更を終えたら、サーバーを再起動してください。

実行した結果が上のブラウザ表示画面です。
「サーブレット URL パス」は"/servlet"なので、実際に格納されているディレクトリがなんであれ、クラス名に"/servlet"を上につけて実行しますので、気をつけてください。

[Top Pageに戻る]

Ads by TOK2