タイトル画像
サイトタイトル画像

JSP/サーブレットを覚えよう

JSP/サーブレットを覚えよう

WEBアプリケーションとは、サーブレット、JSP、HTML、Javaのクラスファイルなどを一つのパッケージとしてまとめたものです。こうすることによって別のサーバーにWEBアプリケーション単位で移動したりすることが容易になります

サーブレット での「Hello World!」

標準では、[Tomcatのフォルダ]\webappsにWebアプリケーションを置きます。

ブラウザ

「webapps」の下に、上記のようにフォルダ・ファイルを配置して下さい。各ファイルには次のように記述します。
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 ServletException, IOException
    {
        // コンテンツタイプを設定
        response.setContentType("text/html");
        // 出力用PrintWriterを取得
        PrintWriter out = response.getWriter();
        out.println("<HTML>");
        out.println("<BODY>");
        out.println("Hello World !!");
        out.println("</BODY>");
        out.println("</HTML>");
    }
}

ソースファイル(HelloWorld.java)があるフォルダに移動し、javacコマンドでコンパイルします。コンパイルする際は、サーブレット用のクラスライブラリ(servlet-api.jar)を-classpathオプションに指定します。

>javac -classpath "C:\Program Files\Apache Software Foundation\
Tomcat 5.0\common\lib\servlet-api.jar";. HelloWorld.java

>

-classpathオプションを指定する変わりに、環境変数で「CLASSPATH」として「servlet.jar」を追加しておくこともできます。

変数名変数値
JAVA_HOME C:\j2sdk1.4.1_02
CATALINA_HOME C:\Program Files\Apache Software Foundation\Tomcat 5.0
PATH %JAVA_HOME%bin
CLASSPATH .;%CATALINA_HOME%\common\lib\servlet-api.jar;

「WEB-INF」フォルダ中に「web.xml」ファイルを作成し、以下の設定内容を記述します。
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>
  <!-- URL マッピング -->
  <servlet-mapping>
    <servlet-name>Hello</servlet-name>
    <url-pattern>/Hello</url-pattern>
  </servlet-mapping>
</web-app>

この意味は、「HelloWorld」サーブレットクラスを、ブラウザからは「Hello」でアクセスするということになります。

  <servlet>
    <servlet-name>サーブレット名</servlet-name>
    <servlet-class>サーブレットクラス名</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>サーブレット名</servlet-name>
    <url-pattern>/サーブレットURL/*</url-pattern>
  </servlet-mapping>

Tomcatを起動させブラウザを立ち上げてから、「http://localhost:8080/test/Hello」と入力してみましょう。

ブラウザ

上記の画面が表示されたら、正常に稼動しています。

※Tomcat 4.0.6/4.1.12以降のバージョンでは、"/servlet/*"形式のサーブレット
の呼び出し(Invoker機能)がデフォルトで無効となっています。配備記述子(web.xml)に呼び出したいサーブレットの情報を明示的に宣言するようにして下さい。

JSPの追加

JSP/サーブレットを含むJ2EEでは、アプリケーションで使用するプログラムの配置場所、配置するディレクトリ名が定められています。J2EEで定められるディレクトリ構成は以下のようになります。

ブラウザ

HelloWorld.xml

<Context path="/helloworld" 
         docBase="webapps/helloworld" 
         debug="0" 
         reloadable="true">
</Context>

HelloJsp.jsp

<HTML>
<BODY>
<%= Hello World!! %>
</BODY>
</HTML>
スポンサードリンク

オススメ書籍

HTML5、CSS3、JavaScript等の学習に役立つ書籍を紹介します。

人気コンテンツ

    Copyright ©2015 .(since 2004/01/17)