SDLoader [はじめに] SDLoaderは、シンプルなサーブレットコンテナです。 ServletAPI2.4準拠を目指していますが、大部分が未実装です。 ただし、サーブレット・JSPを動かす最低限の実装はしてあります。 以下の3つのJarを提供しています。 sdloader.jar・・・Servletのみ動作 sdloader-jsp12.jar・・・ServletとJSP1.2 sdloader-jsp20.jar・・・ServletとJSP2.0 [使い方] jarファイルと同じ場所に、「webapps」フォルダを作成します。 webappsフォルダに、warファイル、ディレクトリ、コンテキストXMLのいずれかを配置します。 ・warファイル warファイルは、ファイル名がコンテキストパスになり、またwarファイル展開後の フォルダがドキュメントルートになります。 例えばsample.warを配置し、中にindex.jspが入っているとすると、 http://localhost:30000/sample/index.jsp でアクセスすることが出来ます。 ・ディレクトリ ディレクトリは、そのディレクトリがコンテキストパスになり、またドキュメントルートに なります。 例えばsampleディレクトリを作成し、中にindex.jspが入っているとすると、 http://localhost:30000/sample/index.jsp でアクセスすることが出来ます。 ・コンテキストXML のような形で記述したXMLファイルを配置すると、そのファイルに従ってコンテキストパス およびドキュメントルートを設定できます。 pathはコンテキストパスの設定で、docBaseがドキュメントルートになります。 path省略可能で、省略すると、このファイル名がコンテキストパスとなります。 docBaseは、.(ドット)表記からはじめるとwebappsフォルダからの相対パス、それ以外は絶対パスとなります。 [eclipseで利用する場合] 「example」というWebプロジェクトがあり、webContentsフォルダがドキュメントルートになっていると仮定します。 example(プロジェクトフォルダ) |--webContents |--WEB-INF | |--web.xml |--test.jsp このプロジェクトをSDLoaderで動かす場合、次のような設定を行います。 A、同一プロジェクトにSDLoaderを入れる場合 exampleプロジェクトに、sdloaderのjarを配置し、クラスパスに通します。 次に、exampleプロジェクト直下に、webappsフォルダを作成します。 フォルダに、「example.xml」を作成し、次のように記述します。 ファイル構成は次のようになります。 example(プロジェクトフォルダ) |--sdloader-jsp20.jar |--webapps | |--example.xml |--webContents |--WEB-INF | |--web.xml |--test.jsp この状態で、sdloaderのJarの中の「sdloader.Open」クラスを右クリック実行もしくはデバック実行すると、 アプリケーションが動作します。 このやり方の場合プロジェクトが1つで済むため、リポジトリからもってきてすぐに実行できます。 B、SDLoader用のプロジェクトを作成する場合 「example」というWebプロジェクトがあり、webContentsフォルダがドキュメントルートになっていると仮定します。 example(プロジェクトフォルダ) |--webContents |--WEB-INF | |--web.xml |--test.jsp SDLoaderを実行させるために、SDLoader用のJavaプロジェクトを作成します。 SDLoaderプロジェクトに、sdloaderのjarを配置し、クラスパスに通します。 次にSDLoaderプロジェクト直下に、webappsフォルダを作成します。 フォルダに「example.xml」を作成し、次のように記述します。 (webappsディレクトリから相対パスでexampleプロジェクトのドキュメントルートを指定する) ファイル構成は次のようになります。 SDLoader(プロジェクトフォルダ) |--sdloader-jsp20.jar |--webapps |--example.xml example(プロジェクトフォルダ) |--webContents |--WEB-INF | |--web.xml |--test.jsp この状態で、sdloaderのJarの中の「sdloader.Open」クラスを右クリック実行もしくはデバック実行すると、 アプリケーションが動作します。 このやり方の場合、対象Webプロジェクトに影響を与えずにWebアプリを動作させることが出来ます。