まとまりのないブログ

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. 匿名 より:

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

匿名 へ返信する コメントをキャンセル

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

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

関連記事

no image

さくらVPSでFTP接続とファイル送受信ができるようになるまで

1.さくらVPSにOSをUbuntuでインストール 2.SSHで接続する(ユーザーはubuntu、パスワードはインストール時に設定したもの) 3.vsftpdをインストール(apt-get insta …

no image

xreaサーバーの管理画面からphpMyAdminにログインできない

2~3日嵌った。管理画面に書いてある説明が悪すぎる。なんどphpMyAdminにログインを試みても、 エラー #1045 – Access denied for user ‘n …

no image

SSDにクローンしたらWindows10が起動できなかった件

現象 ・クローン化したSSDを起動ドライブとしてPCを起動すると、初期のロード画面が終わってからログインのパスワードを入力する画面が表示されず真っ暗なまま。マウスを動かすとカーソルは一定時間表示される …

no image

ChatGPTを使ってみたがまだデータ的なことは不安定

米1合のカロリーはという質問をしてみたが、ChatGPTの回答ではどうやっても250~300kcalぐらいですという回答が返ってくる。炊き方や品質でカロリーが変わると言ってもそれはないだろうという印象 …

no image

BaiduspiderとNHN Corpのクローラーを禁止

Baiduspiderという中国のクローラーと、ipアドレス61.247.222.*からはじまるYetiという韓国のクローラーの巡回を禁止するためにrobots.txtファイルを作成する。あまりにも負 …