JSPでhelloWorld改
JSPで単純なインタラクティブ画面を作成します。
ボタンを押すたびに「hello world」「This is JSP-test-1.」という文字列
を交互に出します。さらに補助的にクライアントからサーバ
に送られた数値を表示しています
|
|
|
この画面のHTMLは次のものです。赤文字の部分はボタンを押すたびに変化します。
<html><head></head><body> <form method='GET'action='http://localhost:8080/test/jsp/hello_JSP.jsp'> <input type='hidden' name='C' value='7'> <input type='submit' value='Click Me'> </form> <p> Hello World. (6) </p> </body></html>(このHTMLを出すJSP記述は後述します)
Tomcatのインストール、起動
JSPはサーブレットと同じくTomcatが実現します。TOMCATの基本的な設定はサーブレットに関する記事 ServletでhelloWorldにありますので参照してください。
サーブレットとの違いとプログラムのおき場所
JSPはサーブレットと異なり、予めコンパイルすることはありません。
URLはjspソースをwebapps下のアドレスで直接指します。
ソースはwebappsの下であればどこにでも配置できますが、混乱の防止の ため、例えばtest\jspなどといったフォルダを作成し、そこに置くことに します。
[インストール先]\ <-- C:\とかC:\Program Files\Apacheとか
Tomcat 6.0\
bin\
tomcat6w.exe <-- Tomcatの起動/停止を行います
lib\
logs\
webapps\
examples\
WEB-INF\
classes\
実行.class群
プロパティファイル
サブフォルダ群\
実行.class群
lib\
web.xml
(新規開発)\ <-- 適当な名前で
jsp
JSPファイル.jsp <-- JSPプログラムを直接置く
WEB-INF\
classes\ <-- サーブレットはここに実行プログラムを置く
実行.class群
プロパティファイル
サブフォルダ群\
実行.class群
lib\
web.xml
src\
プログラム.java
work\
このような形で置かれたJSPプログラムファイルはURLで直接 指定されると、TOMCATが一旦コンパイルし、その結果が実際 に動き出すことになります。コンパイル結果はworkフォルダに 置かれますが利用者は特に意識する必要はありません。また、 コンパイルは最初の1回だけ行われ2回目以降のアクセスで は既にコンパイルされworkに置かれているプログラムが 利用されます。
JSP記述
JSPはHTMLの中にJava記述を埋め込む形をとります。
<%と%>の間にJavaプログラム(論理ブロック)を書くことができます。
このプログラム中でout.println()関数で出力したものが
HTML文字列となります。
変数のスコープは論理ブロックとは関連しません。
論理ブロックの中にHTMLブロックを置くことができます。ifなどの
処理による選択ができます。
<%=と%>の間に式を置けばその値がHTML文字列として採用
されます。
(JSPの処理としてはブロックがネストするわけではなくHTML部から
論理部へ入ったり出たりするだけです)
<html><head></head><body>
<form method='GET'action='http://localhost:8080/test/jsp/hello_JSP.jsp'>
<%
int c=0;
try{c=Integer.parseInt(request.getParameter("C"));}
catch(Exception e){}
out.println("<input type='hidden' name='C' value='"
+(c+1)+"'>"); // printで出すことも
%>
<input type='submit' value='Click Me'>
</form>
<p>
<%
if( (c%2)==0 ){ // 論理ブロックは変数スコープではない
%>Hello World. (<%=c%>)<% // 論理の中にHTMLを置くこともできる
}
else{
%>This is JSP-test-1. (<%=c%>)<% // 変数をHTML文字列にする
}
%>
</p>
</body></html>
このJSPファイルを
C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\test\jsp\hello_JSP.jspとして置けば、URL
http://localhost:8080/test/jsp/hello_JSP.jspでアクセスできます。
HTMLからの呼び出し
次のHTML記述
<html><body> <p> <A HREF="http://localhost:8080/test/jsp/hello_JSP.jsp?C=0">call-JSP</A> </p> </body></html>を
C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\test\hello_TCatJSP.htmとして置き、ブラウザでURL
http://localhost/test/hello_TCatJSP.htmにアクセスすると、JSPをリンク経由で呼び出すことができます。
|
リンクをクリックすると、サーブレットが動き、画面が出ます。
|
ブラウザでJSPのURLに直接アクセスすることも可能です。
| 固定リンク

