まとまりのないブログ

something which something is something

jsp Tips

eclipseでtomcatプロジェクトの作成

投稿日:

Javaとtomcatはインストール済みであることを前提とする。

  1. eclipseのインストール
  2. eclipseの日本語化
  3. tomcatプラグインをeclipseにインストール
  4. tomcatプロジェクトを作成

[PR] Eclipse3.5ではじめるJavaプログラミング入門―Eclipse3.5 Galileo対応 (Java Programing Guide)

eclipseのインストール

eclipseの公式サイトのダウンロードページよりeclipseをダウンロードする。トップページにいくつかダウンロードできるソフトが並んでいる。いきなりどれを選べばいいかわからなくなったが、Eclipse Classic 3.4 (151 MB)をダウンロードすることにした。ダウンロードして解凍後、eclipseフォルダをCドライブ直下に移動した。

eclipseの日本語化

サードパーティによる日本語化言語パックをeclipse3.4に適用する。一覧のEclipse Classic (SDK) 3.4.0 NLpackja-eclipse-SDK-3.4-blancofw20080625.zipというやつをダウンロードして解凍する。解凍後のフォルダにfeaturesとpluginsというフォルダがあるので、その二つをコピーして、eclipseフォルダで上書き保存する。これで日本語化は完了。

tomcatプラグインをeclipseにインストール

eclipseウィキのtomcatプラグイン説明ページよりtomcatプラグインのダウンロードページに移動する。しかし、http://www.sqli.com/というサイトへ飛ばされてしまいtomcatプラグインをダウンロードすることができない。フランス語・・・。

代わりに、http://www.eclipsetotale.com/tomcatPlugin.htmlからもダウンロードできるようなので、そちらでtomcatプラグインをダウンロードすることにした。eclipse3.4に対応するtomcatプラグインは公開されていない模様。仕方がないので現時点での最新バージョンをダウンロードする。ダウンロードして解凍するとcom.sysdeo.eclipse.tomcat_3.2.1という名前のフォルダができる。そのフォルダをコピーして、eclipse本体のpluginsフォルダに貼り付ける。これでtomcatプラグインのインストールは完了。(eclipse3.4向けのtomcatプラグインではないことを留意。)

tomcat_0.pngtomcatプラグインの設定。eclipseを起動する。そして、メニューのウインドウから設定を選択して設定ウインドウを開く。そして、tomcatの項目を選択してtomcatのバージョンとホームディレクトリを設定する。今のところはとりあえずそれだけ設定して終了する。

tomcatプロジェクトを作成

  1. tomcat_1.pngメニューのファイルから新規 → プロジェクト を選択する。新規プロジェクトを選択する画面が表示されるので、そこでTomcat プロジェクトを選択する。次へ。
  2. tomcat_2.png作成するプロジェクトに名前をつける。初めの始めのプロジェクトであるので慣習に従ってhelloworldという名前にした。次へ。
  3. tomcat_3.pngTomcatプロジェクトの設定。特に変更は加えずに、ひとまず終了をクリックしてプロジェクトを作成する。
  4. tomcat_4.pngTomcatプロジェクト作成直後の画面。helloworldプロジェクトの下にいくつかフォルダが作成された状態になっている。
  5. tomcat_5.pnghelloworldを表示させるウェブページを作成する。helloworldプロジェクトを右クリックして、新規→ファイルを選択する。ファイル名はindex.jspとした。ファイル名入力後に終了をクリックしてファイルを作成する。
  6. tomcat_6.pngindex.jspファイルを編集する。中身は
    <html>
    <head><title>helloworld</title></head>
    <body>
    <h1>tomcat test</h1>
    <p><% out.println("Hello World!"); %></p>
    </body>
    </html>
    

    という風に記述した。

  7. tomcat_7.pngjspの表示テスト。Tomcatを再起動する。ブラウザでhttp://localhost:8080/helloworld/index.jspにアクセスする。右の画像のように表示されればとりあえず成功。
  8. tomcat_helloworld.gifクラスの作成。helloworldとはいえjspに直書きでprintだけではあんまりなので、クラスを使ってhelloworldを表示させてみる。プロジェクトを右クリックしてコンテキストメニューからクラスを選択する。そして、新規JavaクラスウインドウでHelloWorldPrintクラスを作成する。パッケージ名はhelloworld、クラス名はHelloWorldPrintという風にして作成をした。javaはクラス名を大文字ではじめることが慣習となっている。
  9. tomcat_helloworld2.gifHelloWorldPrint.javaの編集。内容は下記の通り手抜き最小構成でhelloworldを表示させる単純なもの。
    (*)2008/08/20 少し修正。パッケージ名はhelloworld、クラス名はHelloWorldPrint。

    package helloworld;
    
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    
    public class HelloWorldPrint extends HttpServlet {
    
        public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException, ServletException {
            response.setContentType("text/html");
            PrintWriter out = response.getWriter();
            out.println("<p>Hello World!</p>");
        }
    
    }
    
  10. tomcat_10.pngweb.xmlファイルの作成。web.xmlとはデプロイメントディスクリプタ、つまりウェブアプリケーションの設定の概要を表したものとでも言うか、このtomcatプロジェクト全体の設定ファイルのようなものという認識で良いと思う(多分)。で、それを作成する。web.xmlを作成する場所はWEB-INFディレクトリの下。WEB-INFディレクトリとは何かというと、アプリケーションの設定情報やデータなどを配置するためのディレクトリで、詳しくは他のサイトで調査されたし。(逃げる)
  11. tomcat_helloworld3.gifweb.xmlの編集。helloworldを表示させるためだけの最小構成。各ノードの意味は他サイトで調査されたし(また逃げる)。
    <?xml version="1.0" encoding="Shift_JIS"?>
    
    <web-app>
    
        <servlet>
            <servlet-name>HelloWorldPrint</servlet-name>
            <servlet-class>helloworld.HelloWorldPrint</servlet-class>
        </servlet>
    
        <servlet-mapping>
            <servlet-name>HelloWorldPrint</servlet-name>
            <url-pattern>/HelloWorldPrint</url-pattern>
        </servlet-mapping>
    
    </web-app>
    
  12. tomcat_12.pngラスト。tomcatを再起動する。ブラウザでhttp://localhost:8080/helloworld/HelloWorldPrintにアクセスする。右の画像のようなものが表示されればとりあえず成功。ヾ(´ー` )ノ

追記

上記HelloWorldPrintクラスについて簡単に解説をしておく。コード内容を見てもらうとわかるが,このクラスは「extends HttpServlet」とクラス名の後についているようにHttpServletクラスを拡張(継承)したものである。そして,「doGetメソッド」を実装(オーバーライド)している。つまりこれはブラウザなどからのGETと一般的に呼ばれるアクションに対応した実装である。フォームなどからのPOSTのアクションに対応する場合には「doPostメソッド」を実装することになるが,ここでは省略した。

もう一点。jsp(JavaServer Pages)とjavaサーブレットについて。上記サンプルでは初めのhelloworldの表示はjspにて表示させるようにして,次のクラスではjavaサーブレットにて表示させるようにしている。内部的には両者ともコンパイルして実行という手順になっているのでjspもまたjavaサーブレットである。jspの使いどころは,クラスを作るまでも無い簡単なプログラムを処理する場合などに適しており,PHP(PHP: Hypertext Preprocessor)のような利用イメージが近いと思われる。

-jsp, Tips

執筆者:


  1. ふじまる より:

    HelloWorldPrintクラス内の、
    「response) throws IOException, ServletException {」
    の部分が何故か隠れて見えませんでした;
    あれー?と思ってコピペしたらちゃんと書かれていたのでびっくり!
    どうりでエラーが出るわけで・・・
    とにかく、分かりやすい説明ありがとうございましたm(_ _)m

  2. nakahira より:

    コメントありがとうございます。
    うっかりしてました^^;
    早速修正させていただきました。

  3. 匿名 より:

    ありがとうございました!

comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

関連記事

no image

ラズベリーパイ3に無線でssh接続できなくてハマった

ラズベリーパイでサーバーを構築して見た時の話。無線lanの設定で固定ipを割り当てて外部からssh接続しようとしたらホストが見つかりませんとエラーが表示される。有線ケーブルを接続するとなぜか無線lan …

no image

シンプルな家計簿(仮) バージョン0.914をリリースしました

シンプルな家計簿(仮) バージョン0.914をリリースしました。 詳しくはこちらのページへ https://www.crossdrive.net/wp/software/cdn-01 主な修正内容はバ …

no image

JAVAサーブレットクラスの初期化

JAVAサーブレットのクラスを初期化するときの方法について何種類かあるので迷ったので覚書き。 かんたんなサーブレットクラスを作ってテストしてみた。 public class InitTest exte …

no image

MySQL5.7ではskip-innodbが効かなくなってる

MySQLのバージョン5.7をインストールしてみて起動したところInnoDBが起動時のログに流れていたのでいつものようにskip-innodbをmy.cnfに追加してみたところ効果がなかったので調べて …

no image

NTTデータが運営するブログサービス「Doblog」が2009年5月30日で終了

2009年2月8日にサーバに障害が発生してからサービスの提供を中断していたブログサービス「Doblog」が2009年5月30日で終了することが決まった模様。終了する理由は、「Doblog」の目的である …