Tomcatはどこまで“安全”にできるのか?(1)

“安全”のために
Tomcatを理解し、構築し、動作させる


アメニクス
x-lab チーム
2007/10/11


「Hello World!」を表示してみよう


Tomcatでは、サーブレットをどこに配置すればいいのか?

 それでは一通り設定が終わったところで、まずは簡単なサーブレットを作成して動作を確認してみましょう。まずは、Tomcatのドキュメントルートのディレクトリへ移動します。

cd /opt/tomcat6/webapps/ROOT/

 ドキュメントルート以下には、classファイルやweb.xmlなどの外から直接アクセスさせないデータを格納しているWEB-INFディレクトリが存在しているので、WEB-INFディレクトリへと移動します。

cd WEB-INF

 ディレクトリを移動してファイルを見てみると、サーブレットなどのクラスファイルを保存するためのディレクトリが存在せず、「web.xml」しか存在しないことが分かります。

 「HelloWorld!」のコードを作成する前に、クラスファイルを格納するための「classes」ディレクトリを作成します。

mkdir classes

 これでサーブレットを作成する準備が整いました。「classes」ディレクトリ配下に移動します。

cd classes

サンプルファイルの作成

 エディタを用いて「HelloWorld.java」を作成します。

vi 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{

        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>");
    }
}

サンプルファイルをコンパイルしよう

 サーブレットを作成したら、コンパイルを行います。コンパイル時には必ずclasspathの指定を忘れないようにしてください。

javac -classpath /opt/tomcat6/lib/servlet-api.jar HelloWorld.java

 これで一通り準備は完了しました。

web.xmlにサーブレットを登録

 しかし、サーブレットを作成したとはいえ、この状態のままページへアクセスしてもHelloWolrdの実行結果は表示されません。「web.xml」への登録が必要です。

 /opt/tomcat6/webapps/ROOT/WEB-INFの配下にあった「web.xml」をエディタで開きます。

vi /opt/tomcat6/webapps/ROOT/WEB-INF/web.xml

 ファイル内部に書かれている<web-apps>と</web-apps>のタグの間へ次の行を追加します。

<servlet>
    <servlet-name>HelloWorld</servlet-name>
    <servlet-class>HelloWorld</servlet-class>
</servlet>

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

 これで初めてサーブレットとしてURLから呼び出すことができるようになります。

表示をして確認

 次のような画面が表示されれば、「Hello World!」サンプルの作成を通した設定確認は完了です。

図4 「Hello World!」を表示
図4 「Hello World!」を表示

Tomcat 6の新機能と運用に関する設定

 今回は以上で終わりですが、次回はTomcat 6の新機能と運用に関する設定について詳しく追っていきます。

@IT関連記事


Tomcatの環境を構築する
やり直し「JSPとTomcat」(2) JSPの実行環境となる「Webコンテナ」の1つ、「Tomcat」を実行するための環境を構築し、次回以降の実習環境を作ります
Java Solution」フォーラム 2006/3/2
サーブレット/JSPの開発環境を作る
[連載]
基礎から学ぶサーブレット/JSP(3) サーブレット/JSPの開発/実行環境を整えるためにJ2SE、Tomcat、Apacheのインストールを行います
Java Solution」フォーラム 2003/3/19
Webサービスを試す環境を作る
[連載]パソコンで試してわかるWebサービス(1) パソコンとフリーのソフトウェアを使いWebサービスの環境を作ってみよう。自分で試せば、きっとサービスが理解できます
Java Solution」フォーラム 2002/8/8
JSPの実行環境を整える
[連載]Tomcatを使う「JSPプログ
ラミング」(2)
新人SE、プログラマのためのJSP入門講座。今回はJSPの実行環境を整えます
Java Solution」フォーラム 2001/5/30
Javaプロパティファイルを編集できるEclipseプラグイン
CoolなEclipseプラグイン(1) 
役立つプラグインを毎月紹介。今回は「Javaのプロパティファイルエディタ」「Tomcatコントローラ」「HTML/JSP/XMLエディタ」

Java Solution」フォーラム 2005/3/26
TomcatでWebDAVを実現する
[連載]現場に活かすJakarta Project(11) コンテンツのアップロードやダウンロードに利用されるWebDAVは、ApacheだけでなくTomcatでも実現できる。その方法を紹介しよう
Java Solution」フォーラム 2003/10/23
EclipseでTomcatを使ったJ2EE開発を行う
[連載]Eclipseを使おう!(3) Eclipseは単体ではJ2EE開発に対応しない。LombozプラグインとTomcatを使ったWebアプリケーションを作成してみよう
Java Solution」フォーラム 2003/2/14
実用 Apache 2.0運用・管理術
本連載では、Apache 2.0の運用や管理方法を解説する。まず必須設定と基本的なセキュリティ対策を行い今後の運用に備える
第1回 Apache 2.0必須設定と基本セキュリティ対策
第2回 JMeterによるWebサーバ性能評価の勘所
第3回 httpd.confによるWebサーバの最適化
第4回 mod_deflateによるコンテンツの圧縮転送
第5回 Poundで作るロードバランサとSSLラッパ
第6回 Apacheでファイルサーバ(WebDAV over SSL)
第7回 Apacheでファイルサーバ(LDAP認証編)
最終回 接続制限で無法なダウンローダを撃退
連載各回の解説はこちら
Linux Square」フォーラム

1-2-3

 INDEX
第1回 “安全”のためにTomcatを理解し、構築し、動作させる
  Page1
いまさら聞けないTomcat
CentOS 5.0に最新Tomcatをセットアップ
  Page2
Tomcatを自動的に起動するには?
TomcatとApacheを連携させるmod_proxy_ajp
Page3
「Hello World!」を表示してみよう
Tomcat 6の新機能と運用に関する設定



Java Solution全記事一覧

TechTargetジャパン

Java Solution フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ

- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH