SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

WTPではじめるサーバサイドJava入門

サーバサイドJava入門 JSPを使ったサーバサイド処理の基本

WTPではじめるサーバサイドJava入門 第2回


JSPファイルを作成する

 では、プロジェクトにJSPファイルを作成しましょう。まず、プロジェクト・エクスプローラーから「myweb」内の「WebContent」フォルダを選択してください。そして[ファイル]-[新規]-[その他]メニューを選びます。現れたウインドウで、「Web」項目内にある「JSP」を選択して次へ進んでください。

図1-5 ウィザードの選択画面から、「Web」内の「JSP」を選ぶ
図1-5 ウィザードの選択画面から、「Web」内の「JSP」を選ぶ

 続いて、JSPの詳細設定の画面へと進みます。ここで作成場所とファイル名を設定します。「親フォルダーを入力または選択」と言うところでは、保存場所となるフォルダ(WebContent)をクリックして選びます。また「ファイル名」では、「index.jsp」と入力しておきます。JSPファイルは、このように必ず「.jsp」という拡張子をつけておく必要があります。

図1-6 保存場所とファイル名を入力する。ファイル名は必ず.jsp拡張子をつける
図1-6 保存場所とファイル名を入力する。ファイル名は必ず.jsp拡張子をつける

 続いてJSPテンプレートの設定画面に進みます。これは、初期状態で生成されるソースコードのテンプレートを選びます。通常は、「JSPテンプレートの使用」チェックをONにし、「新規JSPファイル(HTML)」を選んでおきましょう。

図1-7 JSPテンプレートの設定。よく分からなければ「新規JSP(HTML)」を選べばいい
図1-7 JSPテンプレートの設定。よく分からなければ「新規JSP(HTML)」を選べばいい

 以上で「index.jsp」が作成され、このファイルが開かれてエディタで編集可能になります。作成されたJSPファイルには、初期状態でテンプレートのソースコードが記述されています。これに、必要に応じてJSPのコードを追記していけばいいわけです。

JSPソースコードを作成する

 では、簡単なサンプルを作成して動かしてみましょう。「index.jsp」を次のように記述します。

<%@ page language="java" contentType="text/html; charset=windows-31j"
    pageEncoding="windows-31j"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <meta http-equiv="Content-Type"
content="text/html; charset=windows-31j">
<title>JSP SAMPLE</title> </head> <body> <% out.println("これはJSPによる出力サンプルです。<br>"); %> </body> </html>

 <body>タグ内に、<% で始まり %>で終わるタグが追記されています。その中に、Javaのソースコードらしきものが書かれていますね。これが、JSPのタグです。<% %>タグは、そのタグ内にあるテキストをJavaのコードとして解釈し実行します。このように、HTMLのコード内に特殊なタグを使ってソースコードを埋め込むのがJSPの基本スタイルです。

 ここでは、out.printlnという処理を実行していますね。これは、System.out.printlnではありません。ここでのoutSystem.outではなく、「暗黙オブジェクト」と呼ばれるものです。暗黙オブジェクトとはJSPに最初から用意されているオブジェクトで、特に使用宣言のようなものを用意しなくとも、最初からそのオブジェクトがあるものとしてコードを記述することができます。「暗黙のうちに存在が了解されているオブジェクト」というわけです。

 このoutは、OutputStream(より正確には、JspWriterというJSP用のOutputStream)のインスタンスで、この中の出力用メソッドを呼び出すことで、クライアント側にHTMLのソースコードを出力することができます。JSP内からテキストを出力するときには、このように暗黙オブジェクトoutを利用するのが基本です。

 実は、JSPのタグは他にももう1箇所あります。それは一番最初の<%@ page ~ %>というタグです。このように「<%@」で始まり「%>」で終わるタグは、「ディレクティブ(指令)」と呼ばれ、これを実行するサーブレットコンテナにさまざまな情報を指定する目的で使われます。ここで使っているものは「pageディレクティブ」と呼ばれるもので、使用言語、コンテンツの種類、エンコーディング方式などの情報を記述してあります。

 ここにあるpageディレクティブのタグの記述は、「最初に必ず記述しておくタグ」と考えておきましょう。WTPの場合、テンプレートにより初期状態で記述されるので、あまり意識する必要はありませんが、「こういうタグがこういう働きをしている」という程度には覚えておきたいです。

プロジェクトを実行する

 では、作成したJSPファイルにWebブラウザからアクセスしてみましょう。JSPファイルを利用できるようにするためには、「サーブレットコンテナの起動」「サーブレットコンテナの公開ディレクトリにWebアプリケーションを配置」「Webブラウザで指定のURLにアクセス」といった手順が必要になります。が、WTPでは、プロジェクト(あるいはJSPファイル)を実行するだけで、一連の作業をすべて自動で行ってくれます。

 プロジェクト・エクスプローラーから「index.jsp」を選択し、[実行]-[実行]-[サーバーで実行]メニューを選んでください。画面に「新規サーバーの定義」というダイアログが現れます。ここで使用するサーバー設定を選択します。ここでは[既存のサーバーを選択]を選び、「使用するサーバーの選択:」から「Tomcat v5.5サーバー @localhost」を選んでください。また、その下にある[サーバーをプロジェクトのデフォルトに設定]のチェックもONにしておくとよいでしょう。

図1-8 サーバーの設定でTomcat v5.5を選択する
図1-8 サーバーの設定でTomcat v5.5を選択する

 次へ進むと、「プロジェクトの追加および除去」という表示になります。これは、サーバーに追加する(公開する)プロジェクトを設定するためのものです。公開する「myweb」プロジェクトは自動的に公開する「構成プロジェクト」に追加されているはずですので、そのまま次へ進んでかまいません。また次の「タスクの選択」表示では、特に実行するタスクはないのでそのまま終了します。

 終了すると、Tomcatサーバが起動し、そこでmywebプロジェクトが公開されます。そして「内部Webブラウザー」と呼ばれるブラウザ・ビューがエディタ部分に開かれ、Tomcatサーバにアクセスして選択した「index.jsp」を表示します。このブラウザ・ビューに「これはJSPによる出力サンプルです。」といったテキストが表示されたでしょうか。これが、作成したJSPのページです。

図1-9 Tomcatサーバでプロジェクトを公開し、指定のページを表示する
図1-9 Tomcatサーバでプロジェクトを公開し、指定のページを表示する

 ブラウザ・ビューのアドレス表示部分を見てみると、次のようなURLにアクセスしていることが分かります。

http://localhost:8080/myweb/index.jsp

 前回も触れましたが、「localhost:8080」というのがTomcatサーバです。通常、サーブレットコンテナはHTMLとは異なるポートを使っています。Tomcatの場合、8080ポートを利用しているため、アクセスの際には「サーバ名:8080」という形でサーバの名前とポート番号を指定します。

 その後に「myweb」というディレクトリが指定されていますね。WTPでは、プロジェクトのWebアプリケーションのディレクトリ(WebContent)を、Tomcatのプロジェクト名のディレクトリに公開するようになっています。つまり、「myweb」プロジェクトのWebContentが、Tomcatの「サーバ名:8080/myweb/」という場所に公開されるわけです。

次のページ
フォームによる送信と結果の表示

この記事は参考になりましたか?

WTPではじめるサーバサイドJava入門連載記事一覧

もっと読む

この記事の著者

掌田 津耶乃(ショウダ ツヤノ)

三文ライター&三流プログラマ。主にビギナーに向けたプログラミング関連の執筆を中心に活動している。※現在、入門ドキュメントサイト「libro」、カード型学習サイト「CARD.tuyano.com」を公開...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/1332 2010/01/05 10:36

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー