サーブレット&JSP



サーブレット(Servlets)&JSP(JavaServer Pages)の説明です。
サーブレットや JSP はサーバーサイドで動作します。

前田稔の超初心者のプログラム入門

JSP 動作環境

  1. Java Applet はホームページのクライアントサイドで動作するのに対して、サーブレットや JSP はサーバーサイドで動作します。
    サーブレットや JSP は CGI と言われるもので、Web ページとブラウザの間にたって仲介をします。
    つまりブラウザが実行する HTML のソースコードをプログラムで吐き出します。
    従って、サーブレットや JSP のプログラムを作成するには HTML を理解する必要があります。 (^_^;)
    CGI(Common Gateway Interface) やサーバーサイドスクリプトの説明は下記のページを参照して下さい。
    ※超初心者のプログラム入門から「Perl/ホームページの作成/HomePage & Perl」
    ※超初心者のプログラム入門から「C# on-line game/ASP.NET の説明」
  2. サーブレットや JSP を動かすには、これに対応した WWW サーバーが必要です。
    サーブレットが使えるサーバーは少なく、探すのに苦労します。 (;_;)
    また開発環境を整える意味からも、自分のマシンに WWW サーバーを構築する方法がお勧めです。
    apache(アパッチ)は WWW サーバーの代表的なソフトですが、サーブレットや JSP に対応した apache-tomcat が無料でダウンロードできます。 (●^o^●)
    まず最初に apache-tomcat をダウンロードして WWW サーバーを立ち上げて下さい。
    下記のページに詳しく説明されています。
    Tomcatをインストールして、WebでJavaを使う準備をしよう
  3. このコーナーでは apache-tomcat が "C:\tomcat\" にインストールされている物として説明します。
    "C:\tomcat\webapps\" が apache-tomcat を起動したときのルートディレクトリになります。
    私は JSP の開発用に C:\tomcat\webapps\ の下に hoge のフォルダーを作成しました。
    また Servlets の開発用に C:\tomcat\webapps\ の下に piyo のフォルダーを作成しました。
    "C:\tomcat\webapps\hoge\
    "C:\tomcat\webapps\piyo\
  4. webapps\hoge の下に jsp のフォルダーを作成して *.jsp のプログラムを格納します。
    サーブレットや JSP ではフォルダーの構成とファイルの配置が重要で、一つ間違えると動かなくなります。 (^_^;)
    +がフォルダーで、・がプログラマが格納するファイルで、*がコンパイラなどで作成するファイルです。
    +C:\tomcat\webapps\
        +hoge
            +jsp
                ・HelloWorld.jsp
    
  5. サーブレットは、事前に .java をコンパイルして .class ファイルを作成しなければなりません。
    これに対して JSP は「.jsp ファイルをそのまま Web サーバーにアップロード(配置)」すれば、それだけで動作します。
    また web.xml も不要でディレクトリの構成も簡単です。
    こう書くと、如何にも JSP の方が便利なようですが、デバッグのときは困難を極めます。
  6. サーブレットや JSP は apache-tomcat を立ち上げて「WWW ブラウザ」から実行します。
    apache-tomcat を起動するには "C:\tomcat\bin\tomcat7w.exe" を右クリックして、管理者として実行します。
    ウインドウが表示されたら Start ボタンをクリックします。
    [Service Status: Started] になれば起動中です。
    立ち上がらないときは、"C:\tomcat\logs\ にログが記録されているので調べて下さい。

  7. apache-tomcat が立ち上がると、WWW ブラウザから JSP を実行します。
    例えば URL に「http://localhost:8080/hoge/jsp/HelloWorld.jsp」を指定して呼び出します。
    「http://localhost:8080/」が「C:\tomcat\webapps\」に対応します。
    自分のマシンとは言え apache-tomcat は WWW サーバーです。
    サーバーサイドでは、大文字/小文字の区別が必要です。
    混乱を避けるために、全てのファイル名を小文字で統一する方が無難かも知れません。 (^_^;)

Servlets 動作環境

  1. サーブレットのディレクトリ構成を示します。
    JSP と比較するとフォルダーの構成が複雑になっています。
    WEB-INF はサーブレットが認識する特別のフォルダーです。
    piyo\WEB-INF\classes\ のフォルダーに HelloWorld.class(java) を格納します。
    package を使うときは classes の下にフォルダーを作成します。
    web.xml はサーブレットのときに必要なファイルです。
    +C:\tomcat\webapps\
        +piyo
            +WEB-INF
                +classes
                    ・HelloWorld.java
                    *HelloWorld.class
                +lib
                ・web.xml
    
  2. サーブレットをコンパイルするには javax.servlet.* などをインポートする servlet-api.jar を classpath で指定しなければなりません。
    CPad を使っているときは、環境変数 CLASSPATH に C:\tomcat\lib\servlet-api.jar を設定します。
    詳細は JSP Error Guide を参照して下さい。
  3. Web アプリケーションの構成要素を Model-View-Controller の3つに分けて開発するモデルを MVC2 と言います。
    Servlets と JSP と Beans は、用途に応じて便利なものを使って下さい。
    例えば、次のようになるでしょうか。

Java Game Program