MENU

サーブレットのプログラムを動作させるための準備

Step:1 動的 Webプロジェクトの作成 

eclipseを使いプロジェクト作成する際に、動的Webプロジェクトで作成します。

プロジェクト名とターゲット・ランタイムを設定します。 
ここで指定したプロジェクト名がコンテナの名前になり、プロジェクトのロケーションで指定したフォルダがコンテナの実行ディレクトリになります。 設定したら「次へ」を押してください

ソースコードが配置されるフォルダの名前および場所は基本的にそのままとします。 

コンテンツルート 

プロジェクトをサーバー上で動作させる際の名前になり、ブラウザからURLを入力する際そのプロジェクトを指す為に使用されます。 

デフォルトではプロジェクト名と同じです。 
いわゆる、URLという外部から参照されやすい部分になるため、TestやSampleのような単純なものではなく、そのサービスに沿った意味のある名称などに設定されることが多いです。 

コンテンツディレクトリー 

Webアプリケーションのファイル (htmlや画像コンテンツ、各種設定が詰まったxmlファイルなど) を配置するフォルダの名前です。 
このフォルダに入っていないファイルは外部から参照できません。 
動的Webプロジェクトの場合、デフォルトはプロジェクトフォルダ直下の「WebContent」フォルダとなっています。 

・web.xml デプロイメント記述子の生成 

チェックを入れると、プロジェクト内の必要な場所に、後述するweb.xmlファイルが自動的に作成されます。 
(※チェックしないと作成されませんので、 自身で適切な箇所に作成する必要があります。)

Step:2 新規サーバーの作成 

次にWebアプリケーションを動作させるための環境を構築していきます。 ウィンドウ ビューの表示→その他を選択します。

サーバーフォルダからサーバーを選択します。 

サーバービューが開かれたら、

「使用可能なサーバーがありません。このリンクをクリックして新規サーバーを作成してください。」

を選択します。

Apacheフォルダから新規動的Webプロジェクト作成時に選択したターゲット・ランタイムと同じバージョンのサーバー (ここではTomcat v8.0 サーバー) を選択します。 

(プロジェクト作成時に設定した内容に沿って、 適切なサーバーを選択しましょう! 

使用可能から作成したプロジェクトと同名のリソースを選択し、 追加ボタンを選択します。 
構成済みにリソースが移動したことを確認します。 

Step:3 サーバーの開始停止 

作成したサーバーを右クリックし、 開始を選択するか、サーバービューの開始ボタンを選択します。
セキュリティの重要な警告が表示された場合、プライベートネットワーク (ホームネットワークや社内ネットワークなど) を選択します。 

サーバーの状態が始動済みとなればサーバーが起動していることになります。 
サーバーを停止する場合は赤色の四角を選択してください。 

注意点 

サーバーが既に始動済みの状態で、始動中のサーバを再度開始しようとした場合に、エラーダイアログが表示される場合があります。 
(※再起動する旨の確認ダイアログが出た場合は、再起動でOKです! )

上記のようなエラーダイアログが表示された場合は、一度始動中のサーバーを停止し再度開始し直してみましょう。 

それでも同じエラーが表示されてしまう場合は、他のアプリケーションやPCのシステムで使用しているポート番号と、開始しようとしたサーバーのポート番号が被ってしまっている可能性があるため、裏で動作しているJavaのプロセスIDを切る (killする)必要があります。 

・PID(Process ID) 

 プログラムを管理する番号で、プログラムが異なれば重複したIDを持つこともあります。 

サーバーが始動している状態で以下のコマンドを実行してみましょう。 

・Windows: コマンドプロンプト もしくは Powershell
・Mac: ターミナル 

各々環境に合わせて実行してください。 

【手順1:PID(Process ID) を探す】 

windowsは少し手間ですが、プロセスのリストからidを見つけて削除します。
コマンドはtasklistです

javaw.exeとなっているのが起動しているjavaのプロセスです
これをプロセスキルしましょう(taskkill /pid <PID> の形です)

macを使用している方はもう少し簡単に見つけることができます

-l は指定したプログラムの名称に沿うものをPIDと一緒に表示してくれるオプションコマンドです。 
(※ -l を付与しない場合、他のプログラムで使用中のPIDと区別がつかないため、基本的には付与したほうがよいです。

【出力結果】 

このようなIDが表示されるかと思います。 

【手順2: PID (Process ID) kill93)】 

ちょっと物騒ですが、正式な言い方になります。 

pkill を実行後、再度 pgrep -l java を実行して何も表示されない場合は、kill が成功したことになります。 
あまり頻繁に発生するようなら、一度プロジェクト自体から設定済みのサーバーを削除して作り直すなどしたほうがいいでしょう。 

目次