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

詳細

×閉じる

TomcatでHelloWorld

Tomcatで最も簡単なプログラムを動かす

一応、復習しておきますが、Tomatには Java EE(J2EE)が含まれています。
従って、Webアプリを作ることができる。

前回は、Tomcatのディレクトリ構造を説明しましたね。

その説明に従って、実際に手を動かして
Webアプリを作ってみましょう。

アナタ自身のディレクトリを作る

tomcatをインストールしたディレクトリに
webappsがありますよね。

Tomcatのexamplesフォルダ

このwebappsの中に、アナタ自身のディレクトリを作成します。

ディレクトリ名ですが、テキスト通りにやりたい方は(初心者の方は)、
searchmanディレクトリを作ります。

webappsのsearchmanフォルダ

このディレクトリに、 アナタのプログラムを作っていきます。

WEB-INFディレクトリを作成。

searchmanのWEB-INFフォルダ

WEB-INFの下に、libとclasses を作成。

searchmanのlibとclasses

混乱したら Tomatディレクトリ構造 を復習しましょう。

HelloWorld(Tomcat単体用)のソース作成

HelloWorld.javaのソースを書きます。

以下のソースをコピペして、classesディレクトリに、
HelloWorld.javaで保存しましょう。

            
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>HelloWorld</title>");
    out.println("</head>");
    out.println("<body>");
    out.println("<h1>HelloWorld</h1>");
    out.println("</body>");
    out.println("</html>");
  }
}
          
          

コピペして、classesに保存します。

Tomcat用のHelloWorld.java

保存ディレクトリを間違えないようにね。

HelloWorld.javaをコンパイル

コンパイルです。

コンパイルとは、ソースファイル(HelloWorld.java)を、
実行ファイル(HelloWorld.classes)に変換すること。

コマンドプロンプトを開き(以下コピペで)、
ソースファイル保管場所に移動し、コンパイルを実行。

            
> cd C:\tomcat9\webapps\searchman\WEB-INF\classes
> javac -classpath C:\tomcat9\lib\servlet-api.jar HelloWorld.java
C:\tomcat9\webapps\searchman\WEB-INF\classes>

          

上記のように何も(エラー)メッセージがなければ、コンパイルは成功。

classesディレクトリに、 HelloWorld.classファイルができます。

Tomcat用のHelloWorld.classes

以上が、コンパイルになります。

上記で、-classpath とあります。
これは、コンパイルのオプションで、クラスパスといいます。
servlet-api.jarは、Java EE(J2EE)のAPIでクラスパスを通すことで使えます。
簡単に言うと、このAPIを使いますよと言っているわけです。

web.xmlを編集

最後に設定ファイル(web.xml)を編集します。

以下のソースをコピペして、WEB-INFディレクトリに
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>HelloWorld</servlet-class>
  </servlet>

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

</web-app>

          

上記にhelloがあることに注目(後で説明)。

web.xmlとして、WEB-INFディレクトリに保存。

Tomcatのweb.xml保存

このweb.xmlを編集して、 動作するアプリのURL設定を行います(後で説明)。

ちなみに、web.xmlの元ネタは、Tomcatディレクトリのサンプルにあります。
ヘッダーは、Tomatのバージョンに合わせたほうがベターです。
Tomcatのサンプルweb.xml

HelloWorldをブラウザ表示

Tomcatを再起動します。

以下のURLでアクセス。
http://localhost:8080/searchman/servlet/hello

TomcatのHelloWorldブラウザ表示

HelloWorldが表示されましたね。
(されない場合は、質問してください)

注目して欲しいのは、上記のweb.xmlとURLともに
helloがありますね。

このあたりの関係を、次回 web.xmlを理解で学びましょう。

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