IT技術の痒い所に手が届く

詳細

×閉じる

EclipseでTomcatアプリ(サーブレット)

HelloWorldのサーブレットを動かす

いよいよEclipseを使って、Tomcatアプリの開発を行います。

そのサンプルとしては、いつもどおり「HelloWorld」です。

「HelloWorld」を利用して、まずパッケージとクラス の概念を理解する。
さらに、設定ファイル(web.xml)もサンプルを通して理解し、動かしてみましょう。

動的Webプロジェクトを作る

Tomcatで動くプロジェクトは、Eclipseで動的Webプロジェクトと定義されています。

「ファイル」→「新規」→「動的Webプロジェクト」を選びます。

Eclipseの動的Webプロジェクト

プロジェクト名に「tomcat_test」を入れて、「完了」をクリック。

動的Webプロジェクトのプロジェクト名

※空白や全角はNGです。

Eclipse上に「tomcat_test」ができましたね。

Eclipse上にtomcat_testプロジェクト

一応、エクスプローラで ワークスペースを確認します。

ワークスペース上にtomcat_testプロジェクト

「tomcat_test 」ディレクトリが作成されていますね。

サーバーにリソースを追加

プロジェクトを作ったら、 そのプロジェクト(リソース)を サーバーに追加します。

サーバーを停止した状態で、 右クリックで「追加および除去・・」を選択。

リソースの追加および除去

「tomcat_test」を追加し、「完了」をクリック。

構成済みのリソースを変更

追加すると、Tomcatの設定ファイルのserver.xml にも反映されます。

server.xmlに追加

今の段階では、「こんな感じかあ」と流しておけばOKです。

パッケージとクラスの作成

パッケージとクラスを作ります。
クラスはプログラムのことですが、パッケージを忘れた方は復習 してください。

「tomcat_test」 に右クリックをあて、「新規」→「クラス」。

tomcat_testの新規クラス

以下を入力してください。
パッケージ名:「info.searchman
クラス名:「HelloWorld

入力後、「完了」をクリック。
(※パッケージ名は最初「tomcat_test」ですが、上書きでOKです。)

HelloWorldサーブレットの作成完了

Eclipseのエクスプローラで確認。

EclipseでHelloWorld確認

「パッケージ」と「クラス」が出来ましたね。

HelloWorld(サーブレット)のソース作成

HelloWorld.java(サーブレット)のソースを書きます。
以下を、HelloWorld.javaにコピペしましょう。

            
package info.searchman;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HelloWorld extends HttpServlet {
private static final long serialVersionUID = 1L;

  public void doGet(HttpServletRequest request, HttpServletResponse response)
  throws IOException, ServletException
  {
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    out.println("<html>");
    out.println("<head>");
    out.println("<title>Hello World!</title>");
    out.println("</head>");
    out.println("<body>");
    out.println("<h1>Hello World!</h1>");
    out.println("</body>");
    out.println("</html>");
  }
}
          
          

全て上書きでペースト。

HelloWorldサーブレットをペースト

ソースのコピペが終わったら、 「Ctrl+S」で保存 しておきます。

※興味ある方は、ワークスペース (tomcat_test)配下を チェックしてみましょう。
ソースファイルとクラスファイルがありますので。

web.xmlの設定

以前、WEB-INF以下に、web.xmlを置く と勉強しましたね。
同様に、ここでもweb.xmlを設定します。

「WebContent」下の「WEB-INF」にクリックをあて、
「新規」→「ファイル」を選択。

EclipseのWEB-INF配下のファイル

ファイル名web.xmlを入れて、「完了」をクリック。

web.xml作成

web.xml の中身は以下をコピーして、

            
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
  http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
  version="4.0"
  metadata-complete="true">
  <servlet>
    <servlet-name>hello</servlet-name>
    <servlet-class>info.searchman.HelloWorld</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>
      hello
    </servlet-name>
    <url-pattern>
      /servlet/hello
    </url-pattern>
  </servlet-mapping>

</web-app>
          
          

Eclipse画面で「ソースモード」を確認して、全て上書きでペースト

web.xmlのソース上書き

上書きしたら、「Ctrl+S」で保存しましょう。

Tomcatの起動とHelloWorld表示確認

準備ができたので、Tomcatを起動します。

EclipseのTomcat始動

以下のURLにアクセスしてみましょう。
http://localhost:8080/tomcat_test/servlet/hello

表示されましたね。

EclipseのTomcatでHelloWorld

表示されたら、OKです。お疲れさまでした。

404などのエラー対応

典型的なエラーについて言及しておきます。

最も多いのは404エラーです。

404エラー

一番の原因は、リソースの追加です。確認しましょう。

次に多いのはjava.lang.ClassNotFoundExceptionエラーです。
原因は、メニューの「プロジェクト」→「自動的にビルド」の
チェックが外れていることです。

Eclipse自動的にビルド

チェックを見直してみましょう。

Copyright(c) 2005-2020 SearchMan Sato . All Rights Reserved.