この記事は3年以上前に書かれた記事です。情報が古い可能性があります。
現在は All-One-Eclipse (Pleiades) を導入するだけで、下記に紹介している内容をほぼ完結できます。
Struts の全てのバージョン、及び Struts 2.3 系 までのバージョンは脆弱性が報告されており、その使用は非推奨となっています。
Eclipse で Java 開発を始める際の備忘として。
JRE の入手
このへんからダウンロード。
Eclipse 自体が動作するには 1.4 以降である必要がある。(いまどき1.3以前はないと思うけど)
Windows 版は実行形式のインストーラとなっていて、インストール先はとりあえずどこでも良い。(デフォルトで Program Files\Java\jre* な感じ)↑
Eclipse 本体の入手
このへんからダウンロード。
ディストリビューションがいっぱいある。用途に応じて次のような感じ。
- とりあえず Java アプリをつくりたい → Eclipse IDE for Java Developers
- Java で Web アプリ(サーブレット)をつくりたい → Eclipse IDE for Java EE Developers
- PHP で何かつくりたい → Eclipse for PHP Developers
- C/C++ で何かつくりたい → Eclipse IDE for C/C++ Developers
それ以外はよくわからない。わかる人はわかるはず。↑
Eclipse に JRE を認識させる
JRE のディレクトリにパスを通すのが通常だけど、Eclipse の場合、自ディレクトリ直下にある JRE ディレクトリを優先して参照するようになっている(てか Java アプリは大抵そう)。
ということで、最初にインストールした JRE ディレクトリをコピーして、そのまま Eclipse ディレクトリ直下に配置。
/eclipse/jre/
これで、とりあえず起動可能になる。↑
日本語化
このへんからダウンロード。
サードパーティではない Eclipse.org からのもあるが、大抵リリースが遅い(最新版に対応したやつは大抵ない)のでサードパーティ製で。十分使えます。
対応バージョンは、Eclipse を起動してヘルプで確認。Eclipse Platform のバージョンを見る。
NLpackja-eclipse-*-3.*.*-*.zip みたいなファイルがダウンロードされるので、適当な場所に展開。
まず eclipse/dropins というディレクトリの下に nlpack というディレクトリをつくる。その配下に、上記を展開した内容(eclipse というディレクトリが出てくるはず)をそのままコピー。
下記のような構成に。
/eclipse/dropins/nlpack/eclipse/...
これで、IDEが日本語で表示されるようになるはず。↑
JDK のインストール
Java 開発をするなら、JDK も入れる。
JDK と Javadoc も一緒にダウンロードしておく。
まず JDK をインストール。あと、Javadoc も適当な場所に展開しておく。その後Eclipse で
「ウィンドウ」→「設定」→「Java」→「インストール済みのJRE」
を選択し「追加」を押して「JRE ホーム」に上記でダウンロード/インストールした JDK の場所を指定。すると JDK システムライブラリの一覧に *.jar が表示されるので、それらを全て選択して「Javadoc ロケーション」を押す。
そして上記で展開した Javadoc のパスを指定( 展開した場所/ja/api など)。
ここまでで「完了」。これで JDK と Javadoc が利用可能になる。↑
Tomcat をインストール
ここから Tomcat 本体をダウンロード。
5.5 と 6.x で微妙に設定が異なるので注意。Eclipse はどちらもサポートしている。Windows 版はインストーラもあるが、ここは zip で。ダウンロードしたら適当な場所に展開。
Eclipse で
「ウィンドウ」→「設定」→「サーバ」→「ランタイム環境」→「追加」
で「Apache」配下に Tomcat がいくつかあるので、ダウンロードした Tomcat のバージョンを選択。次に「Tomcat インストールディレクトリ」に上で展開した場所を指定して「完了」。
これで、サーバーランタイム環境に Tomcat が追加される。
次にサーバプロジェクトをつくる。
「ファイル」→「新規」→「その他」で「サーバー」を選択。一覧から「Tomcat v*.*」のどれか(上で設定したやつ)を選択、「新規ローカルサーバーの作成」にチェックを入れて「完了」。
これで Eclipse から Tomcat を起動、またサーブレットのデバッグなどができるようになる。
試しに、「サーバー」ペインから作成したサーバプロジェクトを選択し「開始」をしてみる。コンソールにメッセージがダーッと表示されてステータスが「始動済み」になれば OK。↑
試しに簡単なプログラムをつくってみる
ここまでで、何か動くものをつくってみる。
「ファイル」→「新規」→「Java プロジェクト」
を選択。「プロジェクト名」に適当な名前(「Sample」など)をいれて「完了」。
空プロジェクトができるので、プロジェクトを右クリックして「新規」→「クラス」を選択。「パッケージ」と「名前」に適当な名前を指定(例えば、パッケージは「com.test」、名前は「SampleClass?」などと)して、「public static void main」にチェックを入れて「完了」。
簡単なスケルトンができるので、その main の中に
System.out.println("Hello World !!");
と書いて「保存」(Ctrl + S)する。エラーがでなければコンパイル成功(Eclipse はファイルを保存すると同時に自動コンパイルする)。
ソースはこんな感じ。
package com.test;
public class SampleClass {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("Hello World !!");
}
}
ここまでで「実行」してみる。コンソールに「Hello World !!」と出力されれば OK。
ちなみに、上記で「パッケージ」の名前の指定は必須ではないが、指定しないとデフォルトパッケージ(パッケージなし)の扱いになり、それはあまり推奨されない。後々管理が煩雑になるので、ここは、普通は機能や役割ごとに名前を決めて設計、命名していくものなので、必ず何か名前をつけるようにする。
Web アプリケーションをつくってみる
今度は Tomcat で動作する Web アプリをつくってみる。
ここでは Struts 2 を使ってみる。使わなくても、素のサーブレットのみで Web アプリはできるが、フレームワークを使うやり方の方がおそらく主流なので。
Struts 2 を入手/インストール
ここからダウンロード。
2.0 と 2.1.x で使い方が若干違う。ここは 2.1.x の方を使う。ここは簡単なものを試すだけなので「Essential Dependencies Only」を選択(後で本格的なものをつくる予定なら Full でも良い)。
ダウンロードしたら、適当な場所に展開しておく。
Web プロジェクトを作成
「ファイル」→「新規」→「動的 Web プロジェクト」を選択。 プロジェクト名に適当な名前を入れて(「WebAppSample」とでも)、ターゲットランタイムに上で設定した Tomcat を選択して「完了」。
まず「プロジェクト」→「プロパティ」から「リソース」(一番上)を選択して「テキストファイルエンコード」を「UTF-8」にしておく。Windows だとデフォルトで Windows-31J になるが、Linux サーバなどに配置する場合に化けることがあるので、無用の問題を避けるために文字コードは UTF-8 で統一しておくのが良策。
Struts 2 の取り込み
「ウィンドウ」→「設定」→「Java」→「ビルドパス」→「ユーザライブラリ」で「新規」を押す。ライブラリ名に「struts2」とでも入力して(わかれば何でも良い)「OK」。
追加した struts2 を選択して「JAR の追加」で、上記で展開した struts2 の lib ディレクトリ内にある *.jar ファイルを全て選択(必要なものだけで良いけど、多分どれがいるのかいらないのかわからないと思うので、全部で)。
次に「プロジェクト」→「プロパティ」→「Java のビルドパス」で「ライブラリ」タブを開いて「ライブラリの追加」で「ユーザーライブラリ」を選択して「次へ」。一覧から上でつくった「struts2」にチェックを入れて完了。
これで Java に関しては Struts 2 が使えるようになる。
次に Tomcat 側にも認識させる為に、プロジェクトエクスプローラから「WebContent」を展開して、その下の「WEB-INF/lib」に Struts 2 の必要なライブラリを取り込む。これは、エクスプローラから *.jar ファイルを直接ドラッグ、ドロップで取り込み可能。ここも、よくわからなければ全部取り込めば良い(実際に配備する WAR をつくる際は、サイズ節約の為に必要なもののみにするのが好ましいけど、開発時は全部でも OK)。
web.xml の設定
「WebContent」の下の「WEB-INF」にある web.xml に以下のように書く。
<?xml version="1.0" encoding="UTF-8"?>
<web-app
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<display-name>WebAppSample</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<filter>
<filter-name>WebAppSample</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
<init-param>
<param-name>actionPackages</param-name>
<param-value>com.test</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>WebAppSample</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
最初の welcome-file-list ノードはスケルトンで最初から記述されてる。追記するのはその後ろの filter と filter-mapping のノード。
意味としては、ざっくりいうと WebAppSample というエイリアスにリクエストがきたら、struts2 のフィルタで受け付けてネ、という感じ。
表示されるページをJSPでつくる。
「ファイル」→「新規」→「その他」から「JSP」を選択。ここは「index.jsp」とする。
次のように書く。
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Sample</title>
</head>
<body>
<s:property value="%{msg}"/>
</body>
</html>
3行目の taglib の追加を忘れないように。
Action クラスの作成
応答を返すアクションクラスを作成する。
「ファイル」→「新規作成」→「Java クラス」を選択して、パッケージに「com.test」、名前に「IndexAction」と入力する。また、継承クラスには「com.opensymphony.xwork2.ActionSupport」を指定しておく。
できたクラスに execute メソッドと msg プロパティを実装する。以下のような感じ。
package com.test;
import com.opensymphony.xwork2.ActionSupport;
public class IndexAction extends ActionSupport {
private static final long serialVersionUID = 1L;
private String msg;
public String execute() throws Exception {
msg = "Hello World!!";
return "success";
}
public String getMsg() {
return msg;
}
}
実行
ここまでできて、特にエラーがないようなら、実行してみる。「実行」→「サーバで実行」を選択すると、Tomcat が起動しする。Tomcat は Web サーバの機能もあるので、そのままブラウザを開いて動作確認可能。
を開いてみる。「Hello World!!」と表示されれば OK。