MVC遂に登場。
コンフェデ見ましたかー?
いやぁ、舞い飛ぶ綿毛が懐かしい
ドイツの遅い春、あるいは初夏って感じですなぁ。
…何故、サッカーの内容自体に触れないのか?>自分つっこみ。
さて、Java学校めも。
面白くなってきましたねぇ。でもまだまだレベル低いです。
・MVC
例によって、Mはモデル、Vはヴュー、Cはコントローラーですが、
Javaでは、MはJavaBeans、VはJSP、Cはサーブレットで実現する事が
多いらしい。あくまでらしい。Strutsとか使った事ないから、らしい(笑)
メモ・MVCを実現すると言えば…検索してみた。
→perl
→PHP
・JavaBeans
getter/setterを持ち、メンバ変数がpublicでないクラスでないといけないクラス。
JSP中で使えるタグで、
<jsp:useBean id="オブジェクト参照変数" scope="スコープ" class="クラス" />
てな感じで、このクラスのオブジェクトを取り込める。
<jsp:getParameter id="オブジェクト参照変数" property="プロパティ名" />
と書くと、そのオブジェクト内の変数の値なんかが取得できちゃったして。
対して値を設定する jsp:setParameter もあるけど、
そもそも JSP 内で値を設定する事自体がよろしくないのであんま使わない。
・スコープ
普通に考えると、変数の有効範囲。
MVC間で値を中継するにはどうするんだ?と思ってたら
やっぱり、グローバル変数みたいなのが存在する模様。
request(リクエスト変数)は、リクエストを受けたページ内でのみ有効。
session(セッション変数)は、PHPの$_SESSIONと同じ。1ブラウザーにつき1セッション。
application(アプリケーション変数)は、そのURI内でずっと有効、
だから他人とも共有する事になるらしい。
メモ・セッションを使う時どうするのか?
→perl
→PHP
サックリとフォワードする模様。
ServletContext sc = getServletContext();;
RequestDispatcher rd = sc.getRequestDispatcher( "/飛び先JSPファイルのURL" );
rd.forward( request, response );
メモ・似て非なり?リダイレクト?
perlやPHPでは、こんなフォワードなんか滅多にしないと思うんだけど。
強いてやるなら、リダイレクトですか。
→perl
print "Location: http://URL\n\n";
→PHP
header( "Location: http://URL" );
perlやPHPで値を受け渡すには、URLの後に値を続けるか、
値が長ければ、セッションIDだけ引き継がせるか、クッキーに保存して
別にセッション用のDBでも用意するか?ってところですか?