WTPのインストール

関連するプロダクトが多いのであらかじめJ2EEパッケージのeclipseを落としてくるのが楽(というかそれ以外はやったことない)

とりあえずプロジェクトを動かす

  1. プロジェクト新規作成→Web→動的Webプロジェクト
  2. ターゲットラインタイムでアプリケーションサーバーを選択する

上記手順のターゲットランタイムを指定しないとservlet.jarなどが見つからないのでJSPがコンパイルエラーになる。

アプリケーションサーバーの実行

サーバーの構成を設定しておいてそれとプロジェクトをマッピングさせるようだ。 サーバータブの構成をダブルクリックするとモジュールを選択する画面が出てくる。

メモリ不足のとき

共通操作

起動引数を変更すればよい。 サーバーの構成をダブルクリックし、起動構成を開くをクリック。

java head space

JVM引数に-Xms512mでも入れときな!

PermGen space

アプリケーションサーバーの起動

プロジェクト右クリック→実行→Run on server

Tomcatプラグインのようにツールバーに出現しないので慣れるまではわかりづらい。デフォルトではデバッグモードで起動しないのでブレークポイントを使いたければサーバービューからデバッグモードで起動すること。

WTPのwebappsなど

ワークスペース\.metadata\.plugins\org.eclipse.wst.server.core\tmp1

サーバーの構成

ウィンドウ→設定→サーバー→インストール済みランタイム

ビルドパスの設定

Webアプリ系ライブラリ一括追加

ビルドパスの設定でAdd Library,Server Runtime,Apache Tomcatを選択するとServletAPIが使えるようになる

注意点

便利さの裏返しで裏でいろいろ動くので何をするにも重い・・・・OutOfMemoryErrorをeclipseではじめて見た。GC領域が不足しがちなのでメモリ2G必要かもしれない。pleiadesによる日本語はかなりリソースを食うらしく日本語化をはずしたら比較的エラーが出にくくなるがそれでもOutOfMemoryErrorが出てしまった。

設定など

Datasouceの設定(JDBCドライバはWEB-INF/libにあればOK)

import java.io.IOException;
import java.sql.Connection;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;
@WebServlet(urlPatterns={"/DataSourceServlet"})
public class DataSourceServlet extends HttpServlet {

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		try {
		    InitialContext initCtx = new InitialContext();
		Context envCtx = (Context) initCtx.lookup("java:comp/env");
		// JNDI名を使ってDataSourceオブジェクトを検索(lookup)
		    DataSource dataSource = (DataSource) envCtx.lookup("jdbc/sample");
		    Connection conn = dataSource.getConnection();


		}catch(Exception e) {
		    throw new RuntimeException(e);
		}

	}
	
}

Tips

ログの場所

$WORKSPACE/.metadata/.plugins/org.eclipse.wst.server.core/tmp0.

ログを出力する

JVM引数に下記を追加

-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file="/path/to/logging.properties"
Counter: 9569, today: 3, yesterday: 0

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2022-10-14 (金) 13:16:53