2013-04-27
■[Tomcat][Java] Eclipseでサーブレット開発環境を作る(Tomcat編)
2013/05/08追記:このエントリに、SQLiteを使ったDBサンプルの例まで追加したものを、Eclipseでサーブレット開発環境を作る (Tomcat編)に加筆修正してまとめました
Javaのサーブレット開発と言えばEclipse+Tomcatが定番だが、どちらもバージョンアップのたびに結構微妙な点が変わるので、Eclipse上でのTomcat設定構築のやり方が書籍やネット上の情報では既に古くなってしまっているものが多い。
というわけで、2013年4月現在の環境構築メモを作ってみた。いろいろ細かく書いているのでEclipse+Tomcat入門・初心者向け。
環境
- Windows XP Professional (32bit)
- Eclipse IDE for Java EE Developers (Ver.4.2 Juno)
- Tomcat 7.0.39
- JDK 7u21 (Java 1.7 Update 21)
ダウンロードとインストール
最初に注意点として、Tomcat周りについてはJava EEに含まれているWTP(Web Tools Platform)を利用する。そのためEclipse用のTomcatプラグインはインストールしなくて良い。
古いドキュメント類では eclipsetotal.com のプラグインを別途インストールするように書かれているものが多いけど、これは現在のEclipseでは不要である。(ということに気が付くまでハマってしまった)
Eclipse
Eclipseは公式ページから素直にダウンロードすれば良い。
http://www.eclipse.org/downloads/
ダウンロード対象の候補は下記2つあるけど、この2つは同梱プラグインの違いでしかない。
- Eclipse IDE for Java EE Developers
- Eclipse IDE for Java Developers
今回はTomcatで動くJavaアプリを書くのが目的なので、WTP(Web Tools Platform)などその辺のプラグインが最初から入っている"Eclipse IDE for Java EE Developers"を選べば良い。
ダウンロードしたら、展開して出てくる[Eclipse]フォルダを好きなディレクトリに置くだけでインストールは完了する。ここでは C:\Program Files に置くこととする。なお、日本語化は面倒なのでしていない。まぁだいたい英語のままでも分かるし、日本語は問題なく通るからだいじょうぶです。
起動するとはじめての起動の場合はWelcome画面が出るが、それを閉じると見慣れた画面になる
Tomcat
公式ページ(Apache Tomcat 7 Downloads)からダウンロードする。配布形式が色々あるのだが、Windows上で使うならば[Core]のzipファイルをダウンロードすれば良い。
ダウンロード後は、好きなディレクトリに展開するだけで良い。私の場合、C:\localというディレクトリ下に置いた。(C:\local\apache-tomcat-7.0.39)
注意点として、Tomcatの設定(server.xmlなど)はすべてEclipse内からおこなうので、手動でTomcatの設定をする必要はない。ダウンロードしてきたzipファイルを展開し、それだけでインストール完了である。
JDK (Java SE)
これは普通に、Sun……じゃなくてOracleのページからダウンロードするだけでよい。
JDKの[DOWNLOAD]ボタンをクリックし、[Accept License Agreement]をチェックしてWindows x86 (jdk-7u21-windows-i586.exe) をダウンロードし、ダブルクリックしてインストールする。なお64bit版WindowsならばWindows x64の方をインストールする。
EclipseでHelloWorldサーブレットを作る (Tomcat編)
というわけで必要なものがインストールできたので、さっそくHello Worldのサーブレットを作ってみよう。
新規プロジェクトの作成
- メニューから、[File]→[New]→[Project]を選択する。
- ダイアログで[Web]から[Dynamic Web Project]を選択する。
- Project設定画面が開くので、[Project Name]に "TomcatTest" と入力する。
- 同じくProject設定画面内、[Target runtime]が "none" になっているので、[New Runtime]を選んで設定ダイアログを表示する。[Apache - Apache Tomcat v7.0]を選択し、[Create a new local server]にチェックして[Next]を押す。
- [Tomcat Server]の設定ダイアログが開くので、[Tomcat installation directory]に、先ほどTomcatを置いたディレクトリ(ここではC:\local\apache-tomcat-7.0.39)を[Browse]で選択する。
- 元のProject設定画面に戻るので、[Target Runtime]がApache Tomcat 7.0となっていることを確認する。
- 次の[Web Module]のダイアログで、web.xmlを自動生成するため"Generate web.xml deployment descriptor"にチェックを入れておく。Content directoryはデフォルトの[WebContent]で良い。
- [Finish]。少し時間がかかるので待つ。
文字コードの設定
デフォルトの文字エンコードがMS932になっているので、UTF-8に変えておこう。
- Project ExplorerのTomcatTestプロジェクトを右クリックし[Properties]。[Resource]→[Text file encoding]を、[Other]のUTF-8にしておく。
HelloWorldサーブレットを作る
これでプロジェクトの準備ができたので、HelloWorldクラス(サーブレット)を追加する。
- 画面左Project ExplorerのTomcatTestプロジェクトのトップで [File]→[New]→[Other]から、[Web]→[Servlet]を選択する。
- [Create Servelt]のダイアログが開くので、[Java package]に適当なパッケージ名(ここでは com.example.part1)、Class nameに[HelloWorld]と入力する。あとはそのまま[Next]して[Finish]する。
response.getWriter().write("Hello, World!");
これで、HelloWorld.java全体は、こんな感じになる。自分で書いたのは、doGet内の1行だけであることに注意:
package com.example.part1; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class HelloWorld */ @WebServlet("/HelloWorld") public class HelloWorld extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public HelloWorld() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub response.getWriter().write("Hello, World!"); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub } }
Tomcatの起動
- 下部の[Servers]タブで、先ほど作ったTomcat v7.0を右クリックして[Add and remove]を選択する。
- "TomcatTest"プロジェクトを、左側の[Available]から選択して右側の[Configured]に[Add]する。
- [Servers]タブで、Tomcat v7.0が今は[Stopped]になっているので、右クリックして[Start]を選ぶ。
Webブラウザで確認
- ブラウザを開いて、http://localhost:8080/TomcatTest/HelloWorld にアクセスし、"Hello World!"が表示されることを確認する。
jspを設置する
JSPファイルを作りたい場合は、WebContentディレクトリ下に置く。たとえばhello.jspは、WebContentディレクトリを右クリックして[New]→[Other]から[Web]→[JSP File]として作ればよい。(簡単なので説明省略)
- 164 https://www.google.co.jp/
- 32 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CDMQFjAA&url=http://d.hatena.ne.jp/ozuma/20120825/1345906732&ei=epR8UfHAL43wlAX8yYHADA&usg=AFQjCNFh3IlFdrzA-6xFLHwgp1_edd9TeA&bvm=bv.45645796,d.dGI
- 28 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&sqi=2&ved=0CDoQFjAB&url=http://d.hatena.ne.jp/ozuma/20120711/1342014448&ei=knF9UbuuHonwkAXC24GQBQ&usg=AFQjCNEqj9EZkTc72DZCWAaILLk9tlalVA&sig2=c5nZQIx_ejJVJODz6ihh_Q&bvm=bv.456457
- 21 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=5&ved=0CFIQFjAE&url=http://d.hatena.ne.jp/ozuma/20130323/1364002513&ei=svl7Ub_FHseGkQWyr4CwCA&usg=AFQjCNEDsU3R_uCzDNbhISt1rCunw717RQ&bvm=bv.45645796,d.dGI&cad=rja
- 18 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&sqi=2&ved=0CEUQFjAD&url=http://d.hatena.ne.jp/ozuma/20120711/1342014448&ei=FcV8UZfHEMejlQWEvYHoBQ&usg=AFQjCNEqj9EZkTc72DZCWAaILLk9tlalVA&bvm=bv.45645796,d.dGI
- 15 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&ved=0CEEQFjAC&url=http://d.hatena.ne.jp/ozuma/20121230/1356801529&ei=7C58UYDEIKakiAeW0IDIBQ&usg=AFQjCNHLXApPzMJiwnkxihXG1wKgJYw4yw&sig2=lk7PK5s5KLxn7QZlAm2HZw
- 12 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&frm=1&source=web&cd=2&ved=0CDQQFjAB&url=http://d.hatena.ne.jp/ozuma/20121230/1356801529&ei=Uo18UZLRBYSmkwWp8YCYBQ&usg=AFQjCNHLXApPzMJiwnkxihXG1wKgJYw4yw&sig2=AEVhL4OCBiD7f4cVN1h83w
- 10 http://www.google.co.jp/url?sa=t&rct=j&q=crontab&source=web&cd=4&ved=0CEUQFjAD&url=http://d.hatena.ne.jp/ozuma/20120711/1342014448&ei=Qmt_UfSqLcrtkAX-hYGoBQ&usg=AFQjCNEqj9EZkTc72DZCWAaILLk9tlalVA
- 8 https://www.google.com/
- 5 http://homepage1.nifty.com/y-osumi/works/code/twitter-webapp-sample/