2013年12月23日月曜日

ubuntu13.10+tomcat7+eclipse(juno)環境構築

ubuntu 上で eclipse を使って tomcat 上の servlet や jsp を作成している人というのは、どれくらいいるのでしょうか。意外と少ないのでしょうね。

恥ずかしながら、 tomcat は、apache のプラグインなのか、単独の webserver なのかもよく知りませんでした。どうやら、tomcat は単体で webserver として利用できますが、静的ページの処理性能や信頼性の理由から、apache 経由で利用することが多いらしいです。

ubuntu  では、sudo apt-get install tomcat7 とすれば、簡単に使えれるようになりますが、eclipse から tomcat の起動をしたり、モジュールのデプロイする場合には、ubuntu のデフォルトのインストールは使いづらいです。今回は本家から直接ダウンロードして、$HOMEの下にインストールしました。

●tomcat7のインストール
% wget http://ftp.jaist.ac.jp/pub/apache/tomcat/tomcat-7/v7.0.47/bin/apache-tomcat-7.0.47.tar.gz
% tar xvfz apache-tomcat-7.0.47.tar.gz
% mv apache-tomcat-7.0.47 ~/tomcat7
% cd ~/tomcat7/bin
% ./startup.sh


次は、eclipse をインストールする。ubuntu の sudo apt-get install eclipse でインストールできるが、これもバージョン3.8だったりするのと、インストール先がマルチユーザー向けの設定なので、これも本家から直接ダウンロードして$HOMEの下にインストールした。(バージョン4.3は ubuntu13.10 だとメニューがうまく表示されないので、 4.2(juno)を選択した)

●eclipseのインストール
% wget http://download.springsource.com/release/ECLIPSE/juno/SR2/eclipse-jee-juno-SR2-linux-gtk-x86_64.tar.gz
% tar xvfz eclipse-jee-juno-SR2-linux-gtk-x86_64.tar.gz
% mv eclipse ~/
% cd ~/eclipse
% ./eclipse

●eclipseとtomcatの関連付け

●eclipse より tomcat を起動


次に eclipse で、servlet と jsp を作成し、eclipse から実行します。(eclipse のプロジェクトフォルダは色々なフォルダが沢山作成されて良くわからないのが悲しい。)
●最初に eclipse でプロジェクトを作成(file->Dynamic Web Project)

パッケージ作成(New->Package)

●サーブレット作成(New->Servlet)

 /**
  * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
  */
 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  // TODO Auto-generated method stub
     response.setContentType("text/html");
     PrintWriter out = response.getWriter();
     out.println("Hello world!");
 }

●作成したサーブレットの実行

●JSPの作成(New->JSP)

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here


<% out.println("Hello world!") %>



●JSPの実行(run as->run on server)

●tomcat サーバの下に作成されるもの
eclipse の開発フォルダから、サーバーに適したファイル構成にして配置してくれるようです。eclipse は自動で色々やってくれるのが便利なのでしょうが、何やってるのか良く把握した上で利用しないと原因不明のトラブルに当たりそうです。。
naoki@naoki-iMac:~/tomcat7$ ls -al
合計 132
drwxr-xr-x 11 naoki naoki  4096 12月 22 23:59 .
drwxr-xr-x 52 naoki naoki  4096 12月 23 13:00 ..
-rw-r--r--  1 naoki naoki 56812 10月 18 19:21 LICENSE
-rw-r--r--  1 naoki naoki  1192 10月 18 19:21 NOTICE
-rw-r--r--  1 naoki naoki  8826 10月 18 19:21 RELEASE-NOTES
-rw-r--r--  1 naoki naoki 16262 10月 18 19:21 RUNNING.txt
drwxr-xr-x  2 naoki naoki  4096 12月 22 15:53 backup
drwxr-xr-x  2 naoki naoki  4096 12月 22 14:07 bin
drwxr-xr-x  3 naoki naoki  4096 12月 22 14:15 conf
drwxr-xr-x  2 naoki naoki  4096 12月 22 14:07 lib
drwxr-xr-x  2 naoki naoki  4096 12月 23 00:00 logs
drwxr-xr-x  2 naoki naoki  4096 12月 23 12:52 temp
drwxr-xr-x  8 naoki naoki  4096 12月 22 22:20 webapps
drwxr-xr-x  3 naoki naoki  4096 12月 22 14:09 work
drwxr-xr-x  4 naoki naoki  4096 12月 23 12:40 wtpwebapps
naoki@naoki-iMac:~/tomcat7$ find wtpwebapps -print
wtpwebapps
wtpwebapps/ROOT
wtpwebapps/ROOT/WEB-INF
wtpwebapps/ROOT/WEB-INF/web.xml
wtpwebapps/test01
wtpwebapps/test01/WEB-INF
wtpwebapps/test01/WEB-INF/lib
wtpwebapps/test01/WEB-INF/classes
wtpwebapps/test01/WEB-INF/classes/jp
wtpwebapps/test01/WEB-INF/classes/jp/naomusi
wtpwebapps/test01/WEB-INF/classes/jp/naomusi/helloworld.class
wtpwebapps/test01/helloworld.jsp
wtpwebapps/test01/META-INF
wtpwebapps/test01/META-INF/MANIFEST.MF



0 件のコメント:

コメントを投稿