レポ
クラウドで
伸びる人沈む人

連絡特定商取引将来設計運営方針&メルマガSEの彼女は?
成功レポート集 Fedora9インストール! EclipseでJava Oracleバックアップのアーキテクチャ ゼロからHPでCGI 便利ネット知識
無料レポ&講習 IT業界の実態 linux処方箋 Java処方箋 Oracle処方箋 Perl処方箋
TomcatでHelloWorldをつくってみよう

<概要>


Tomcatもインストールし、
ディレクトリ構造も理解しましたね。


あ、ちなみに言っておきますが、
TomcatにはJ2EEが含まれているからこそ、

ホームページ関連のプログラムがJavaで書けるのです。
(↑意味不明なら、今は無視でOK)


では、いよいよプログラムを作っていきましょう。

ですが、その前に色々問題がありそうです・・・・・


<あなたのディレクトリを作成しましょう>


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



ここをクリックして、webappsの中に、
あなたのディレクトリを作成しましょう。



ちなみに私は、
searchman というディレクトリを作ってみました。
(わからない場合はマネしてください)。




このディレクトリに、
アナタのプログラムを作っていくのですが・・・




まずは、WEB-INF ディレクトリを作成しましょう。



WEB-INF ディレクトリの下には、
libディレクトリとclassesディレクトリを作成しましょう。




この辺の考え方がごちゃごちゃしているかたは、
ディレクトリ構造を復習しておきましょう。

<HelloWorldのソースを書こう>


では、HelloWorld プログラムをつくりましょう。
以下のソースをコピペして、
classes ディレクトリに HelloWorld.java で保存しましょう。


----------------------------ここ↓をコピペ---------------
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HelloWorld extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{

PrintWriter out = response.getWriter();
out.println("<html>");
out.println("HelloWorld");
out.println("</html>");
out.close();
}
}

---------------↑ここまでコピペ----------------------


コピペして、classes ディレクトリに保存します。



<コンパイルしよう>


さて、いよいよコンパイルです。

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



上記で保存したソースを、コンパイルしてみましょう。


まずは、コマンドプロンプトを開いて、
ソースファイルを置いてあるディレクトリに移動しましょう。

(このテキストの場合、
>cd C:\tomcat8\webapps\searchman\WEB-INF\classes)


その後、コンパイルコマンドを実行します。
>javac -classpath C:\tomcat8\lib\servlet-api.jar HelloWorld.java

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

C:\tomcat8\webapps\searchman\WEB-INF\classes>




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

classes ディレクトリに、
HelloWorld.class というファイルができましたね?




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


何故、そのAPIを使っているのかって?
上のソースで、import javax.〜 って書いてありますね。
そのjavax.〜が、servlet-api.jar の一部なのです。


まあ、よくわからない場合は、とりあえず無視して、先に進みましょう。

<web.xmlを編集する>


コンパイルが終わったところで、
最後に設定ファイル(web.xml)を編集します。

以下のソースをコピペして、
WEB-INF ディレクトリに web.xml で保存しましょう。



----------------------------ここ↓をコピペ---------------
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
<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>
---------------↑ここまでコピペ----------------------


コピペして、WEB-INF ディレクトリに保存します。


このweb.xml の編集によって、
動作するアプリの設定を行います。

上記の場合は、
hello という名前(コンテキスト)でアクセスできます。



<HelloWorldを出してみよう>


さて、準備は整いました。

トムキャットを再起動(停止&起動)してみましょう。
再起動は、トムキャットの起動を参考に。


私の場合(searchman)なら、以下のURLでアクセスしてみましょう。
http://localhost:8080/searchman/servlet/hello



HelloWorld が表示されたでしょうか?




PGとSE、372人の将来設計プラン・・・

緊急レポ:クラウドで伸びる人沈む人
Copyright © 2005-2017 SearchMan,All Rights Reserved.