教育サーバーのページ
オンラインテキスト目次
システムプログラミング演習
次のプログラム 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ファイルを作成、これを修正してプログラムを作成すること。