2005年6月17日

MVC遂に登場。

コンフェデ見ましたかー?

いやぁ、舞い飛ぶ綿毛が懐かしい
ドイツの遅い春、あるいは初夏って感じですなぁ。
…何故、サッカーの内容自体に触れないのか?>自分つっこみ。

さて、Java学校めも。
面白くなってきましたねぇ。でもまだまだレベル低いです。

めも。

SmallTalk
MVCの元祖と言えば、これみたいなので。
ちょっと興味があったりなかったり。
ガイド本のPDFがアップされてるのが、すごい。

頑健なJavaプログラムの書き方
いつかは軽く目を通しておかねば…。

浅煎り珈琲 Java アプリケーション入門

・MVC
例によって、Mはモデル、Vはヴュー、Cはコントローラーですが、
Javaでは、MはJavaBeans、VはJSP、Cはサーブレットで実現する事が
多いらしい。あくまでらしい。Strutsとか使った事ないから、らしい(笑)

メモ・MVCを実現すると言えば…検索してみた。
→perl
Catalyst
Sledge

→PHP
Mojavi
Agavi
guesswork
php.MVC

・JavaBeans
mainメソッドがなく、引数なしのコンストラクタが存在し、
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
Walrus::Session::Lite
CGI::Session
CGI::Session.pmでセッション管理

→PHP
$_SESSION 変数

・サーブレットからJSPに飛ばす方法
サックリとフォワードする模様。

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でも用意するか?ってところですか?

Posted by anigon at 04:49 AM

「早く寝るに限る。」へ戻る | 「Schnappi in iPod。」へ進む

上へ戻る