教育サーバーのページ
オンラインテキスト目次
システムプログラミング演習
次のプログラム 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から出力するには、以下の方法が考えられる。
次のHTML文章は、
<!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>
そのまま、"Hello World!"と表示される。JSPでは、表示する部分をそのまま 記述すれば、そのままブラウザに表示される。
JSPの式を書くと、その値が計算されて、結果が表示される。 たとえば、<%= i+1 %>では、i+1という式の実行結果が、 文字列に自動的に変換・表示される。
JSPは変換されて、Servletとして実行される。JSP内で スクリプトレットとして記述した部分は、自動的にServletに 取り込まれる。つまり、スクリプトレットとして出力する 処理が書かれていれば、それがそのまま実行される。 スクリプトレット内に、out.println(出力したい値)が書かれて いれば、それがブラウザに出力される。
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
SumJSP.jspを作成し、
実行せよ。
ただし、NetBeansのJSPテンプレートを使って、デフォルトの JSPファイルを作成、これを修正してプログラムを作成すること。
問題-6
RandJSP.jspを作成し、
実行せよ。
ただし、NetBeansのJSPテンプレートを使って、デフォルトの JSPファイルを作成、これを修正してプログラムを作成すること。
問題-7
RandJSP1.jspを作成し、
実行せよ。
ただし、NetBeansのJSPテンプレートを使って、デフォルトの JSPファイルを作成、これを修正してプログラムを作成すること。
問題-8
EvenSumJSP.jspを作成し、
実行せよ。
ただし、NetBeansのJSPテンプレートを使って、デフォルトの JSPファイルを作成、これを修正してプログラムを作成すること。