教育サーバーのページ
オンラインテキスト目次
システムプログラミング演習

JSPの基本構造 (1)

JSPの基本構造を学習しよう

次のプログラム HelloWorld0.jsp は、ブラウザの リクエスト(HTTPのGETリクエスト)に対して、JSP内で動的に 生成したHTML文章を返す。

<%@ page contentType="text/html" pageEncoding="UTF-8" %>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Hello World</title>
</head>
<body>
<% out.print("<p> Hello World !</p>"); %>
</body>
</html>
たとえば、Webサーバが動いているホストlocalhostのWebアプリケーシ ョンのルートディレクトリ下に格納されている、 JSPファイルHelloWorld0.jspを実行する。そうすると、 ブラウザが起動され、その上で"Hello World"というテキストが 表示される。

プログラム HelloWorld0.jsp の説明

<%@ page contentType="text/html" pageEncoding="UTF-8" %>
は、pageディレクティブ(<%@ page 〜 %>)であり、 JSPファイルを実行するJSPコンテナに対する指示を表す。 この指示は、JSPからServletを自動的に変換・生成に用いられる。 このpageディレクティブでは、JSPが出力するデータの形式 (text/html)と、そこで使う文字コード(UTF-8)を指定 している。

<% out.print("<p> Hello World !</p>"); %>
では、スクリプトレット(Javaプログラムの前後を<%と%>の タグで囲っているもの)の中の処理の結果、生成された文字列を、 たとえば、HTMLデータとしてブラウザに出力する。out変数は、 スクリプトレット内で必ずJSPWriterクラスのインスタンスを 表現し、スクリプトレットの中で作成された任意の文字列を 出力するために用いる。printlnメソッドは、任意のオブジェクト のtoString()の結果を出力するものである。

JSPからの出力方法を理解しよう

JSPからの出力方法 

JSPから出力するには、以下の方法が考えられる。

次のプログラム HelloWorld1.jsp は、ブラウザの リクエスト(HTTPのGETリクエスト)に対して、JSP内で動的に 生成したHTML文章を返す。

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%
    out.println("<!DOCTYPE html>");
    out.println("<html>");
    out.println("<head><title>Hello World</title></head>");
    out.println("<body>");
    out.println("Hello World!");
    out.println("</body>");
    out.println("</html>");
%>

たとえば、Webサーバが動いているホストlocalhostのWebアプリケーシ ョンのルートディレクトリ下に格納されている、 JSPファイルHelloWorld1.jspを実行する。そうすると、 ブラウザが起動され、その上で"Hello World"というテキストが 表示される。

プログラム HelloWorld1.jsp の説明

<%
    out.println("<!DOCTYPE html>");
    out.println("<html>");
    out.println("<head><title>Hello World</title></head>");
    out.println("<body>");
    out.println("Hello World!");
    out.println("</body>");
    out.println("</html>");
%>

は、スクリプトレットを表しており、out.println(出力したい値)を 実行することで、それがブラウザに出力されることを示している。

問題-1

上のプログラム HelloWorld0.jsp を、NetBeansを使って 実行してみよ。

問題-2

上のプログラム HelloWorld0.jsp と同様な処理を おこなうServletプログラムを作成し、NetBeansを使って実行してみよ。

問題-3

上のプログラム HelloWorld1.jsp を、 NetBeansを使って実行してみよ。

問題-4

上のプログラム HelloWorld1.jsp と同様な処理を おこなうServletプログラムを作成し、NetBeansを使って実行してみよ。

問題-5

変数に1と3と10を代入して、これらの合計を計算して、「Ans= ?」 と出力するJSPプログラムSumJSP.jspを作成し、 実行せよ。

ただし、NetBeansのJSPテンプレートを使って、デフォルトの JSPファイルを作成、これを修正してプログラムを作成すること。

問題-6

変数に0以上1未満の乱数を代入して、「random=?」と表示する JSPプログラムRandJSP.jspを作成し、 実行せよ。

ただし、NetBeansのJSPテンプレートを使って、デフォルトの JSPファイルを作成、これを修正してプログラムを作成すること。

問題-7

変数に1から100までの乱数整数を代入して、「random integer=?」 を表示するJSPプログラムRandJSP1.jspを作成し、 実行せよ。

ただし、NetBeansのJSPテンプレートを使って、デフォルトの JSPファイルを作成、これを修正してプログラムを作成すること。

問題-8

100以上1000未満までの偶数整数(100,102,....,996,998)の合計を計算して、 「even sum = ?」を表示する JSPプログラムEvenSumJSP.jspを作成し、 実行せよ。

ただし、NetBeansのJSPテンプレートを使って、デフォルトの JSPファイルを作成、これを修正してプログラムを作成すること。

システムプログラミング演習


nagai