home - みる会図書館


検索対象: UNIX MAGAZINE 2003年11月号
31件見つかりました。

1. UNIX MAGAZINE 2003年11月号

連載 1 Zaurus with Linux 05 図 6 SL-C760 のティレクトリ本告 bin boot dev busybox tinylogin catsls 、 login 、 su 、 ・その他基本コマンド類 中身なし MAKEDEV /sbin/MAKEDEV . 各種デバイスファイル : sh m run tmp /var/run (/home/system/var/ru n) /tmp proc 「 00t Sbin tmp usr profile ・ファイルシステム初期テータ : (.*_default. tar) bin etc samba . システム管理コマンド類 /bin/{busybox,tinylogin} 一部のコマンドは / bin のコマンドへのリンク 1 /hO me/etc home ( 詳細は図 8 を参照 ) . 各種ライブラリ・ファイル三 modulesl /home/root/modules /dev/shm/tmp QtPalmtop. 「0m /home/QtPaI mtop/* {bin,lib,local,sbin,share} /home/root/usr 以下へ {bin,lib,local,sbin,share}. 「0m /home/root/usr/* modules. rom /var/mnt /home/root/modules/* (/home/system/var/m nt) opt QtPalmtOP 」 Qtopia mnt. 「0m sharp sharp. 「0m /hom e/root/usr/etc ( SD 、 CF のマウントボイントなど ) /home/sharp /home/sharp/* /hom e/QtPaI mtop /home/QtPaImtop 凡例 一ィレクトリじ y 司シンポリ、 , ク・リンク files /home/system/var : 複数個ある項目 ファイル ります。 /proc 180 、 cat /proc/cpuinfo" や、、、 cat /proc/meminfo" など ます俵 1 ) 。 ーネルやプロセスに関するさまざまな情報の概要が分かり /proc ディレクトリにあるファイルを覗くと Linux カ リンク先 UNIX MAGAZINE 2003.11 れがユーサー root のパスワードになリます。 14 、シークレット言こで、日正番号窈置 " をおこなっている場合は、そ ます。ここにある /root/. dev-default. tar 、 . var-default るだけでなく、システムにとって重要なものか置かれてい /root は、ユーサー ro 。 t のホーム・ディレクトリ 14 であ を実行してみましよう ( 図 7 ) 。

2. UNIX MAGAZINE 2003年11月号

連載 / IPv6 の実装ーの 図 9 ホームアドレスの正当性確認 181 182 183 184 185 187 188 189 190 142 144 145 147 148 if (IN6_IS_ADDR MULTICAST(&home_sa. sin6_addr) Ⅱ IN6_IS_ADDR_LINKLOCAL(&home-sa. sin6_addr) Ⅱ IN6_IS_ADDR_V4MAPPED(&home-sa. sin6_addr) IN6_IS_ADDR_UNSPECIFIED (&home_sa. sin6_addr) Ⅱ IN6_ 工 S_ADDR_LOOPBACK (&home_sa. sin6_addr) ) { mobi1ity6—send—be (&ip6a—>ip6a—dst , &ip6a->ip6a—src , IP6ME_STATUS_UNKNOWN_BINDING , &home_sa) ; goto bad ; IP60PT_HOME_ADDRESS : n = xp6-addaux (m) ; goto bad; ら、オプション長は ip6-opt-home-address 構造体と等 しくなけれはなりません。 ip6-addaux() は、 m て示されるバケットに ip6aux 構 造体を追加します。すでに ip6aux 構造体が存在する場合 は、そのポインタを返します。 ip6aux 構造体にはホーム アドレスの値や処伏況を言当求する必要があるため、 構造体力蔀何呆できなければ処理を中断します。 149 ip6a = (struct ip6aux * ) ( Ⅱ + 1 ) ; 150 if ( (ip6a->ip6a-f1ags & IP6A_HASEEN) この 165 166 167 168 169 170 171 172 173 174 175 176 if (ip6—getpktaddrs(m, &src—sa, NULL) ) { / * must not happen. * / goto bad ; bzero(&home—sa, sizeof (home—sa)) ; sizeof(home—sa) ; home_sa. Sin6_len home—sa. sin6—famiIy = AF—INET6; bcopy (haopt->ip60h—addr , &home_sa. sin6_addr , sizeof (struct in6—addr) ) ; if (scope6—check—id(&home—sa, ip6—use—defzone) goto bad; 152 153 } の { goto bad ; IP6A-HASEEN は、ホームアドレス・オプションを 処理したバケットに設定されるフラグです。ホームアドレ ス・オフションは 1 つのバケットに 1 回しか利用できま せん。 (struct ip6—opt—home—address 155 haopt *)opt, 155 行目で haopt にホームアドレス・オプションの先 頭アドレスを設定し、 haopt ホインタ経由でオフションの 情報にアクセスします。 156 160 161 158 optlen = haopt->ip60h-1en + 2 ; if (optlen ! = sizeof (*haopt)) got0 bad; 165 ~ 176 行目で、気付アドレスとホームアドレスをパ ケットから取り出します。 KAME では、すべての IP ア ドレスをスコープ情報付きて取り扱います。しかし、ホー ムアドレス・オプションにはスコープ清報をオ褓内する仕組 みがないので、 scope6-check-id() を使ってスコーフ情報 を設定します。 181 ~ 190 行目 ( 図 9 ) はホームアドレスの正当性の確 です。マルチキャスト / リンクローカル / IPv4 身彡 / 未 山い 定義 / ルーフ。バック・アドレスは、ホームアドレスとして 使用できません。これらのアドレスがホームアドレスとし て指定されていた場合、 mobiIity6send-be() で対応付 け工ラーを返します。 mobility6-send-be() については 彳幻します。 192 bcopy(&home—sa. sin6—addr, tip6a—>ip6a_coa, 193 sizeof (ip6a—>ip6a—coa) ) ; 156 ~ 161 行目はオフションの長さの石忍てす。ホーム アドレス・オフションはサブオフションをもちませんか UNIX MAGAZINE 2003 ユ 1 ip6a->ip6a—f1ags ー = IP6A-HASEEN ; 194 192 ~ 194 行目で、ホームアドレスを ip6aux 構造体の 気付アドレス・フィールドに内します。ここで設疋した ホームアドレスは、あとの処理でバケットの始点アドレス 79

3. UNIX MAGAZINE 2003年11月号

連載 1 Zaurus with Linux 図 9 SL - C760 のシンポリック・リンク列 書換え不可ファイルシステム - usr bin. rom ft 1 ne い bin bus box - 書換え可能ファイルシステム /home 「 00t /home/root/usr/lib/ipkg/{info/,status} 以下に は、 iPKG (ltsy Package Management System) 形 式で配布されているコンパイル済みソフトウェアをインス トールした際の情報などか置かれます。 /home/samba PC と接続し、 SL-Zaurus を外部ストレージのように 扱う、、サウルスドライプ " 機能には Samba が使われてい ます。このディレクトリは、その際に用いられます。 /home/tmp SL-Zaurus のテンボラリ領域としては /tmp ( 実体は /dev/shm/tmp) がありますが、最大容量は IMB しか ありません。そこで、 iPKG 形式のコンパイル済みソフト ウェアをインストールするときなどは、このディレクトリ が -- - 印勺に使われます (/etc/ipkg. conf を参照 ) 。 テフォルト・ユーザーのホーム・ティレクトリ A300 以外の SL-Zaurus では、デフォルト・ユーサ ー名が zaurus で、そのホーム・ディレクトリは /home /zaurus となっています。図 8 からも分かるように /home/zaurus 以下には SL-Zaurus のユーサーの各種 成正ファイルやアプリケーションのデータかオ翻タされてい ます。 なお、システム用のディレクトリだけでなく、デフォル ト・ユーサーのホーム・ディレクトリ以下であっても、シ ステム ( アプリケーション ) か着理しているファイルがた くさんあります。それぞれの働きを寸、分に↓早していない のなら、ファイルを移動・消去したり、エデイタで直接 UNIX MAGAZINE 2003 ユ 1 編集したりしないはうが贓隹です。 usr bin telnet ー /home/zaurus/Applications ネットワークの設定データや、 NetFront のキャッシ ュやクッキー、プラウサ設定などのデータ、カレンダー をはじめとする PIM (Personal lnformation Man- agement : 個人情報明ツールのデータなどが置かれて います。たとえは、ダイヤルアッフ。接続の設定は、 Net- work/modules/DialUp*. conf に記録されています。 /home/zaurus/l)ocuments SL-Zaurus のファイルホーム画面で、、 My Zaurus" か ら、、本体メモリ " お尺すると、トップに表示されるディ レクトリです。プンコビューアのデータやイメージファイ ル、テキストファイル、ソフトウェアの追加、 NetFront のブックマーク集などのためのディレクトリがあります。 CF や SD のメモリカードを挿入したとき、同しくファ イルホーム画面でそれぞれのカードを選択すると、そのメ モリカードのトップ・ディレクトリがます表示されます ( メモリカードにパーティションを作成している場合は、 そのパーティション単位て表示されます ) 。 /home/zaurus/Settings ここには、各 P ハ 4 ツールの設定ファイル (). conf 、 *. xml など ) があります。 今回は、 SL-Zaurus のスワッフ領域の作り方や、 B500 と C700 のソフトウェア ROM アップデート、 SL- Zaurus のディレクトリ構造について紹介しました。 スワッフ領域については、 B500 と C700 を中心に説 おわりに 183

4. UNIX MAGAZINE 2003年11月号

連載 1 Zaurus with Linux 表 1 /proc ティレクトリにあるファイル cpuinfo filesystems interrupts ・ linfO mo du les verS1011 実行中のプロセス情報が十褓内されるディレク CPU のに 動作中のカーネルに対応するファイルシステ IRQ に関する・に メモリに関する帯に 現在の糸目込みモジュール情報 ( = lsmod) Linux ク ) ノヾーージョン 図 7 C760 の /proc/cpuinfo bash-2.05 $ cat /proc/cpuinfo processor ( V51 ) BogoMIPS Hardware ReviSion Seria1 lntel XSca1e—PXA255 rev 6 疇 , 397.31 swp half thumb fastmult SHARP Shepherd 0000 0000000000000000 edsp . tar 、 . home-default. tar は、それぞれ /dev 、 /home の匆月状態を tar でまとめたファイルです。なん UNIX MAGAZINE 2003.11 マンドと telnet コマンドは標準では /usr/bin ディレク /usr ディレクトリはすこし複雑です。たとえは、 ftp コ 構築された /dev/shm/tmp にリンクされています。 テンボラリ領域 /tmp は、 tmpfs ファイルシステムで /tmp /bin/busybox や tinylogin にリンクされています。 管理コマンドが収められていますが、一部のコマンドは 基本システム制御コマンド用の /sbin には、システム /sbin テムを初期化する処理をおこないます。 . home-default. tar を所定のディレクトリに展開し、シス ット方法に応じて、 . dev-default. tar 、 . var-default. tar 、 されます。この rc. rofilesys というスクリプトでは、リセ 定したあと、さらに /root/etc/rc. d/rc. rofilesys が実行 /root/etc/rc. d/rc. sysinit です。各種変数などを設 れるのは、通常の Linux などでの /etc/rc. d 以下ではな SL-Zaurus の起動時に初期化スクリフトとして実行さ に展開されます。 らかの理山でシステムを初期化すると、これらか所定位置 トリの下に置かれますが、 SL-Zaurus では、 /lib/modules や /usr のツリーもこのディレクトリに に対応するディレクトリにリンクされています。また、 uments 、 Settings は、 /home/zaurus 以下のそれぞれ このディレクトリに置かれている AppIications 、 Doc- /home/root の : 書換えか必要となる各ディレクトリも置かれています。 /opt/{Qtopia,QtPalmtop} や /etc 、 /usr 、 /var など あるように、ユーサーのホーム・ディレクトリだけでなく、 では書換え可能なファイルシステム部にあります。図 8 に ホーム・ディレクトリ用領域の /home は、 SL-Zaurus ホーム・ティレクトリ system/var にリンクされています。 き換えられるディレクトリなので、換え可能な / home / ル、ログなどが置かれます。システムの動作に応して書 を収めるディレクトリで、システムの管理情報やスフー /var はサイズが variable ( 可変 ) なデータファイル /var があります。 などのマウントボイント用ディレクトリとなる mnt. rom る /usr/sharp ( 実体は /usr/sharp. rom) 、 CF や SD マンド scsh 。 t などシャーフ独自のコマンドが置かれてい いる /usr/QtPalmtop. rom や、画面キャフチャ用のコ ファイル、ライプラリ、フォントなどの実体が置かれて /usr ディレクトリには、このほかに Qtopia の実行 いうかたちになっています。 れ、実体は /usr/*. rom ディレクトリ以下などに ごとリンクされ、さらにそこから個別にリンクさ 慮して、いったん書込み可能な /home ディレクトリ以下 となっています。つまり、図 9 に示すように、孑鳳生を考 も /bin/busybox にリンクされている ) ンクされている ( 念のためか、 /usr/bin. rom/telnet ・ /home/root/usr/bin/telnet は /bin/busybox にリ リンクされている ・ /home/root/usr/bin/ftp は /usr/bin. rom/ftp に にリンクされている ・ /usr/bin ディレクトリ自体が /home/root/usr/bin リンクされています。 181

5. UNIX MAGAZINE 2003年11月号

連載 / IPv6 の実装ーの 図 17 対応イ寸け工ラーの作成と週言 (void)mobi1ity6-send—be(&ip6a->ip6a—dst , &src_sa, 259 IP6ME_STATUS_UNRECOGNIZED_TYPE , &home_sa) ; 260 261 Ⅱ = 1p6—findaux (m) ; 224 224 行目の ip6-findaux() で、 IP ノヾケット m に↓里 bzero(&home—sa, sizeof (home—sa) ) ; 254 home—sa. sin6—famiIy = AF—INET6; づけられている ip6aux 構造体を取得します。この構造体 255 home_sa. sin6_Ien 256 には、ホームアドレス・オプションの処理て埆早説したとお sizeof (home—sa) ; home—sa. sin6—addr = in6addr—any ; 257 り、ホームアドレスの情幸材褓内されています。 258 225 if ( Ⅱ ) { 248 ~ 258 行目は、ホームアドレス・オプションが含 struct ip6aux *ip6a; 226 struct sockaddr_in6 src_sa, 227 まれていないときの処理てす。この場合、対応付け工ラー home_sa; のホームアドレス・フィールドに未定義アドレスを設定し ip6a = (struct ip6aux * ) ( Ⅱ + 1 ) ; ます。 src—sa = ip6a—>ip6a_src ; 図 17 の 259 ~ 260 行目で対応付け工ラーを作成し、送 if ( (ip6a->ip6a-f1ags & IP6A_HASEEN) ! = 0 ) { 信します。 mobiIity6-send-be() は、第 1 引数を始点ア バケットにホームアドレス・オフションか含まれていた ドレス、第 2 引数を終点アドレスとし、第 3 引数のエラー 場合は、処理の過程で ip6a-flags に IP6A-HASEEN フ コードと第 4 引数のホームアドレスをもっ対応付け工ラー ラグか設定されます。 を送信します。 232 home_sa = ip6a—>ip6a_src ; m—freem(m) ; 262 if ( (ip6a->ip6a-f1ags & IP6A_SWAP) ! = 0 ) { 233 return (IPPROTO_DONE) ; 264 src_sa. sin6_addr ip6a—>ip6a—coa; 240 break; 265 266 } さらに、ホームアドレス・オプションに含まれているア 対応付け工ラーの送信カ鮗ったら、バケットを破棄して ドレスと IP バケットの始点アドレスが交換されている場 処理を終了します ( 262 ~ 264 行目 ) 。 合、 ip6a-flags に IP6A-SWAP フラグか叡疋されます。 KAME の Mobile IPv6 実装では、一日立層 (TCP/UDP *offp = off; 268 など ) に MobiIe IPv6 の処理を意識させないようにする return (mh6—>ip6m—pproto) ; 270 ため、ホームアドレスと IP?S ケットの始点アドレスを上 271 } 位層に渡す前に交換します。そうすることで、上位層はつ 最後に、 268 行目でオフセット値がモビリテイへッダ ねにホームアドレスを始点アドレスとして処理できるよう の直後を指すよう更新し、呼出し元の ip6-input() に続 になります。 くへッダのプロトコル番号を返します。現在の f 士様では、 アドレスが交換されている場合、 240 行目で src-sa に ip6m-pproto には IPPROTO-NONE か第殳定されてい 気付アドレス (ip6a-coa) を設定します。 るので、 ip6-input() に処理が戻ったあとにバケットの処 241 } else { 理も終了します。 対応イ寸け工ラーの送イ アドレスがまだ交換されていなければ ( 241 ~ 247 行 対応付け工ラーは、 MobiIe IPv6 の制御信号のやりと 目 ) 、ホームアドレスは ip6a-coa に定されたままです。 りに不備がみられるときに生成されます。具ー勺には、以 この値を home-sa に設定します。 下の 2 つの場合です。 } else { 248 229 230 231 home_sa. sin6_addr ip6a—> ip6a-coa; 246 247 } 85 UNIX MAGAZINE 2003 ユ 1

6. UNIX MAGAZINE 2003年11月号

連載 3Zau 「 us with Linux 05 図 5 C760 のファイルシステム ( 禾堋犹兄は H 列 ) と /etc/fstab bash-2.05 $ df FiIesystem /dev/root /dev/raml /dev/mtdbIock3 none bash—2.05$ cat /dev/mtdb10ck2 /dev/mtdb10ck3 none /dev/hdal /dev/mmcdal none /etc/fstab /home /dev/shm /mnt / c f /mnt / c ard /dev/pts lk—blocks 54272 44 69632 1024 Used Avai1ab1e 48616 26 22404 340 devpts autO aut 0 tmpfs jffs2 jffs2 5656 18 47228 684 ro,noatime Use% 90 % / 59 % 32 % Mounted on 37 % /dev/shm /home /dev defaults ,noatime gid=5,mode=620 nOaUtO , OWner noautO , owner sxze=lm,noauto 0 0 0 0 1 2 0 0 0 0 など、ファイルの書換えが必要になるディレクトリは、書 換え可能なファイルシステム部にある /home 以下のツ リーへのリンクとなっています。 /bin 基本ューサーコマンド用のディレクトリ /bin には、 cat や ls などの基本コマンドが置かれていますが、 grep 、 net- stat 、 ps など一部を除き、大半は busybox 、 tinylogin へのリンクとなっています。連載の 1 回目 ( 6 月号 ) でも 説明しましたが、これは、糾込み Linux でよく使われる BusyBox と TinyLogin13 を利用し、複数のコマンドを できるかぎりまとめてストレージ容量を節約しようとして いるからです。 /boot /boot は、プートローダが Linux を起動けるために必 要なファイルを置くディレクトリですが、 SL-Zaurus で は空になっています。 /dev デバイスファイル用ディレクトリ / dev のうち、 /dev/ shm は内蔵 SDRAM に作られた RAM ディスク上にフ ァイルシステム tmpfs として構築されています。 は、 /var/run や /tmp の実体か割り当てられています。 tmpfs は Linux カーネル 2.4 からサポートされた機能 で、イ瓦想メモリべースのファイルシステムにおいて、必要 なサイズに応した容量の RAM ディスクを重加勺に用意す るものです。 /etc/fstab にあるように、最大容量は IMB に設疋されています。 13 http://tinylogin.busybox.net/ 現在開発中の BusyBox ノヾージョン 1.0.0 は、 TinyLogin も含む UNIX MAGAZINE 2003 ユ 1 ものになるようてす。 /etc /etc は、そのマシン固有のシステム設定ファイル用 ディレクトリです。設定の変史にはファイルを書き換 える必要があるので、書換え可能なファイルシステム部 /home/etc に実体があります。 /lib 基本共有ライプラリ用ディレクトリである / lib には、各 種ライプラリ・ファイルか置かれています。 カーネルに対し、機能を動的に追加・削除する LKM (Loadable Kernel Modules) 用の領域である /lib/ modules は、書換えの必要があるので、書換え可能な /home 以下にリンクされています。しかし、その実体は さらにリンクされて /lib/modules. rom 以下に置かれて います。 なお、その時点で組み込まれているモジュールは /sbin /lsmod コマンドで串ヾることができます。 /mnt 一時的にファイルシステムをマウントするためのディ レクトリ / mnt は、 /var/mnt にシンポリック・リンク されていますが、 /var 自体が /home/system/var に ンクされているので /home/system/var/mnt となりま す。ここには、 CF や SD などのメモリカードのマウント ポイントである cf や card などがありますが、その実体 はさらにリンクされて / usr / mnt. r 。 m 以下にあります。 /opt 追加アプリケーション・パッケージ用ディレクトリで ある /opt には、 Qtopia 一式が置かれています。実体 は、これまた /home 以下 (/home/QtPaImtop) にあ 179

7. UNIX MAGAZINE 2003年11月号

連載 / IPv6 の実装ーの 図 7 ルータミロ間隔オプションの形式 Type Length Advertisementlnterval 図 8 ホーム・エージェント情報オプションの形式 Type Length Reserved Reserved Home Agent Preference Home Agent Lifetime 工ージェントの優先度は、 Mobile IPv6 て新たに追加さ れるホーム・エージェン日青報オプション (Home Agent lnformation Option) で涌知されます。ホーム・エージェ ント情報オプションの形式を図 8 に示します。 Type 番号は 8 です。 Home Agent Preference フィー ルドには 16 ビットの正数か設定され、値が大きいはど優 先度か高いとみなされます。 Home Agent Lifetime は、 このオプションを含んだルータ通知を広告しているルータ がホーム・エージェントとして機能できる有効時間を表し ます。単位は秒です。 ホーム・エージェント情報オプションは、ルータ通知に H フラグが設定されているときにのみ有効です。また、 H フラグか設定されたルータ通知にホーム・エージェント情 報オフションが含まれていない場合、 Home Agent Pref- erence には 0 ( 最低イ憂先度 ) が、 Home Agent Lifetime にはルータ通知に含まれるルータの有颶間と同し値か設 定されているものとして取り扱われます。 今回参照するファイル こからは、 KAME の Mobile IPv6 実装のコードを 解説します。今回はホームアドレス・オフションの入力処 理と、モピリテイへッダの入力処理をとりあげます。以下 のファイルを参照します。 ・ kame/sys/netinet/ip6. h ( 改訂番号 1.50 ) ・ kame/sys/netinet6/dest6. c ( 改訂番号 1.59 ) ・ kame/sys/netinet6/mobility6. c ( 改訂番号 1.26 ) kame/sys/netinet6/mip6-cncore. c ( 改言丁番号 1.35 ) 78 ホームアドレス・オプションの入力処理 Mobile IPv6 の移動ノードが出先ネットワークからパ ケットを送信する場合、バケットの始点アドレスは出先 ネットワークで割り当てられた気付アドレスになります。 そのままでは移動の際に始点アドレスが変わり、通信が 途切れてしまうので、通イ詁目手にホームアドレスを通知 するためにホームアドレス・オプションを含めます。ホ ームアドレス・オフションは終点オプションの 1 つで、 ip6-opt-home-address 構造体として定義されています。 ip6. h 218 struct ip6—opt—home—address { 219 220 221 223 } ; u—int8—t ip60h—type ; u—int8—t ip60h—1en ; u—int8—t ip60h—addr [ 16 ] ; ip60h-type の値は 201 、 ip60h-len は 16 に固定され ています。 ip60h-addr には移動ノードのホームアドレス かオ内されます。 ホームアドレス・オフションは終点オプションなので、 dest6änput() て処理されます。 dest6änput() の処理自 体は 2003 年 2 月号て埆斉みですから、ホームアドレス・ オフションに関係する部分のみみていくことにします。以 後、参照するコードは dest6. c からの抜粋です。 127 for (optlen = 0 ; dstoptlen > 0 ; dstoptlen optlen, opt + = optlen) { 127 ~ 230 行目で、終点オプションヘッダに含まれてい る各オプションを処理します。 134 switch (*opt) { UNIX MAGAZINE 2003.11

8. UNIX MAGAZINE 2003年11月号

連載 /JavaServer Pages— く head> く html> く %@ page contentType="text/htm1 ; 図 8 list. jsp ファイル く meta http—equiv="Content—Type" く tit1e>É葉遊びく /title> く ul > く hr> く b ody > く /head> charset=EUC—JP" content= "text/html ; charset=EUC—JP" > く h3 style="text—align: center; " > テンプレ く li > 意外なトリックが秘められた密室 ! く / li > く li > 灰色の脳細胞が真実を解き明かす ! く / li > く li > 奇怪な館に秘められた幽霊の謎。く / li > ート文の一覧表示く / h3 > く li > 幻想的な構成で綴られた迷宮への誘い。く / li > く li > 名探偵工ルロック・ショルメスの叡智が冴える。く / li > く / ul > く hr> 1 く a href="list ・ jsp?page=2">2 く /a> く a href="list . jsp?page=2"> 次へく /a> く p> く a href="We1come . jsp">HOME く /a> く /body> く /html> 図 9 list. jsp ページの表示 “ファイル ( 日編集 ( 印表示 ( 辺ジャンプフマーり⑧ツールウインドウヘルプ旧 ) 1 言平返Üー扣い p に 新一ホームー、検常・ー朝プめマク テンプレート文の一覧表示 HOME 名探偵工ルロック・ショルメスの叡智が冴える。 ・幻想的な構成で綴られた迷宮への誘い。 ・意外なトリックが秘められた密室 ・灰色の脳細胞が真実を解き明か引 ・奇怪な館に秘められた幽霊の謎。 月同ロ う。ページの移動操作で不自然だと思う箇戸励ゞあれは、 この段階でページ構成を叫討します。アプリケーション か完成したあとで内部処理にかかわる変更をすると、修正 が多くなって大変です。 間題がなさそうなら、ページごとの実装にとりかかりま す。ますは、中心となる言葉遊びのページから始めましょ 124 フォーム直の保存 UNIX MAGAZINE 2003.11 ・フォームの値にアクセスする際のメソッドが異なる。 点が異なります。 作る去と、 DynaActionForm を利用するガ去では次の Struts 1.0 の ActionForm を拡張して JavaBean を ます。 フォームの値を保存した JavaBean が自動的に生成され Bean を自作しなくても、設定ファイルに記するだけで Form が用意されています。このクラスを使えは、 Java- の値の保存に利用できる汎用的なクラス DynaAction- をベージごとに作りました。 Struts 1.1 では、フォーム Struts 1.0 では、フォームの値を保存する JavaBean に値を保存する新しい仕組みが追加されました。 JavaBean に保存します。 Struts 1.1 では、 JavaBean います。入力された単語は、あとから参照できるように 言葉遊びのページでは、ユーサーに単語を入力してもら

9. UNIX MAGAZINE 2003年11月号

連載 1 Zaurus with Linux 05 図 8 SL-C760 のティレクトリ本豈 (/home) /home QtPalmtop lib bin /opt/{Qtopia,QtPaImtop} Qtopia アプリケーション 各アプリケーションのバイナリなど netfront3 1 簍 - /usr/QtPaImtop. rom/bin/netfront3 : その他、バイナリファイルなど : Qt 関連テータファイルなど fonts フォントファイル fontdir 、☆ . qpf' security /usr/QtpaImtop. rom/lib/security/* Java. ☆ /usr/Qtpalmtop. rom/lib/lib ・ . SO. ・ - Qt 関連ライブラリ・ファイル /usr/QtpaImtop. rom/lib/fonts/* userdata zaurus 各日 M ツールの Applications データが格納されている Network ネットワーク設定のテータ : WLAN*. conf : DiaIUp*. conf ・ modules dtm ・その他設定ファイル : カレンダーのテータ ☆ . BOX 、☆」 DX 、☆ . box 、 *.tdx ・ . その他 : apps 、 dic 、 help 、・ 各種システム設定ファイル etc 「 00t /etc netfront3 NetFront のテータ cache キャッシュ ・☆ . dcf cache. fat {AppIications,Documents,Settings} ー /home/zaurus/{Applications,Documents,Settings} modules systeminfo usr local bin ipkg でインストールしたツールなど /us r/local 以下などへのリンク 各ファイルはそれぞれ / us 「 / 叮 om {etc,lib,sbin,share} /usr/{etc,lib,sbin,share} 各ファイルは /usr/bin. 「0m 以下などへのリンク /usr/bin plugins cookie i n utS refS ⅵ S itS クッキーデータ ロケーションノヾ ブラウザ設定 履歴 ( ? ) ーの履歴 samba sha rp syste m var tmp 182 /usr/sharp /usr/sharp. 「0m /va 「 log dmesg システム・メッセージ : その他、ログファイル /dev/shm/run : home 、 litxlock 、 mnt など ・その他、各曰 M ツールのテータ : Documents lmage_FiIes lnstall Files Text Files Web Files Bookmark Files Pagememo Files application Settings . ユーザーが作成したファイル ・ユーザーが作成したティレクトリ : (☆ . conf 、、 . xm に・ 曰 M ツールの設定ファイル : UNIX MAGAZINE 2003.11

10. UNIX MAGAZINE 2003年11月号

連載 /OavaServer Pages— く head> く html> く %@ page contentType="text/htm1 ; 図 4 play ・ jsp ファイル く body> く /head> く title>ä葉遊びく /title> く meta http—equiv="Content—Type" charset=EUC—JP' content= "text/html ; charset=EUC—JP" > く h3 style="text-align: center; " > 宣伝文句製造機く / 3 > く div style="text—align:center;font—style : italic;font—size :large; く input type="submit" value=" 作る ! " > く input type=lltextl' name="word" く form meth0d="GET" action="play ・」 sp"> 単語を入力して「作る ! 」ボタンをクリックしてください。 く p> く /div> く hr> 灰色の脳細胞が真実を解き明かす ! 奇怪な館に秘められた幽霊の謎。く br> く hr> く /form> く p> く a href= く /body> く /html> "WeIcome . jsp">HOME く /a> wordgame では日本語の言葉遊びの処理をおこなうの で、 JSP の page ディレクテイプ、 く %@ page contentType="text/htmI ; - charset=EUC—JP" % > と HTML の meta タ久 く meta http-equiv="Content-Type" - content="text/html ; charset=EUC—JP"> の両方で日本語のエンコーディングを指定し、文字化けを 防ぎます ( 誌面の都合上、てオ斤り返しています。以下 122 ページのサンフ。ル画面です。 図 4 は play. jsp ファイルの内容、図 5 は言葉遊びの . jsp " を作ります。 次に、言葉遊びのページの JSP ファイル、、 言葉遊びのページ pages/play 図 5 play ・ jsp ページの表示画面 一言平近 - 製 & c ら 0e △ファイル ) 編集 ( 印表示 ( 辺ジャンプカ 5? ーり ( 印ツールウインめヘルプ但 ) 料同ロ / 由い、働ホーム常 0 9 ・ [ 当方欠ーり 宣伝文句製造機 な館に秘められた幽第の謎。 灰色の悩短か実を解き明か 単語を入力して「作るリホタンをクリックしてくたさい。 FOME 図 5 には、横線 (hr) に挟まれた、、奇屋な・・・・・解き明 UNIX MAGAZINE 2003.11 ページから初めてこのページに移動したときは、宣伝文旬 タが生成した宣伝文旬を表示させます。また、 Welcome サンプルの文を表示していますが、山辭冬的にはコンヒュー かす ! " という部うゞあります。いまは雰囲気を擱むために