忍者ブログ
[PR] ()
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

by
tilesの罠 (技術メモ)
struts1.3.8での話です。
他のバージョンは試してません。

tilesを使おうと思ってstruts-config.xmlにplug-inを書いて
tiles-defファイルを作ってやってみたんだけど動きません。
これで結構はまったのですが、色々試して分かったのが
実はweb.xmlのchain-configを明示的に指定しないとダメなんですね。

Actionに対して
<init-param>
    <param-name>chainConfig</param-name>
    <param-value>org/apache/struts/tiles/chain-config.xml</param-value>
</init-param>
こんな感じに指定してあげないと動かないようです。
ちなみにこのchain-config.xmlは多分strutsのjarの中に含まれていると思います。
なので特にこのファイルをどこかに置かないといけない
という訳ではないです。

chain-configはいじると色々カスタマイズできるようですが、
触った事がないので詳細は不明です。
基底のクラスの差し替えとかできるのかな?
PR
by yy3Trackbacks()Comments(0)
認証 (技術メモ)
最近知ったのですが、web.xmlって標準で認証が用意されているんですね。
認証の実装自体はサーバによって異なるでしょうけど
web.xmlの標準的な枠組みにそれが組み込まれているという事が
ちょっとした発見でした。

発見した時期が余りにも遅すぎで作りこんでた部分に
今から盛り込むのはかなり無理がありますが
可能性の検証という感じで今あれこれ試してたりします。
多分いつの日かその実験ソースを組み込む日が来ると思うし。

この標準の認証は基本的に認証処理自体は勝手に行われる事になります。
なので認証自体に介入する事が出来ないと思います。
つまりログを吐いたり細かな制御が難しいという事です。
これは多分認証に特化していて細かい制御は認証後に自力でやってねって
いうものなんだと思います。
そこら辺である程度作りこんだ後にこの認証を組み込もうとすると
あれこれ悩む事になる訳です。
by yy3Trackbacks()Comments(0)
DWR (技術メモ)
DWRって前のプロジェクトで見かけたんだけど
何の事かよく分からなかったし、プロジェクト独自のライブラリかな?
って思ってたんだけど今日調べる機会がありました。
といってもDWRの事を調べるという目的じゃなくて
他の事を見ている過程で見る事になったので深いとこまでは見てないです。

さて、そのDWRですがどうやらJavaでAjaxをする為の
フレームワークらしいです。
そういえば前のプロジェクトもAjax関係のコードもあった気がします。

で、説明を見てみたらAjaxらしいコーディングをしなくても
Ajaxを使う事ができるらしいんです。
ちらっと見た解説で受けた印象は、SOAPっぽいという事です。
勿論SOAPとは別の仕掛けだけどJavaScriptからPOJOを
呼び出せるというのがSOAPを連想させます。

よさそうな気はするのですが、問題はどこで使うか?
でしょうね。
by yy3Trackbacks()Comments(0)
TCPパケット (技術メモ)
○接続開始時
c→s@SYN
s→c@SYN,ACK
c→s@ACK
○接続終了時
s→c@FIN,ACK
c→s@ACK
c→s@FIN,ACK
s→c@ACK

接続開始のは3ウェイハンドシェークとか呼ばれるもので
終了も似たようなものです。
大体この接続開始、終了の辺りはどこの解説ページにも
書かれているので比較的参考ページは多いと思います。

tcpdumpなどでパケットを見ているとこの接続開始、終了部分と
実際のデータのやり取り部分が見れたりしますが、
そこはそれでまた違うフラグが使われてたりします。
基本的にSYNから始まるというのがルールみたいなので
iptablesの設定で
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
という設定で接続開始がSYN以外なら捨てるというのがあるんですね。

SYNなどのフラグには他にもいくつか種類があります。
SYN@接続開始の最初に使うフラグ
ACK@受信確認に使う
FIN@接続終了に使う
PSH@素早いパケットの送受信に使用
URG@緊急データ転送に使う
RST@接続のリセットに使う

通常はSYN以外は全てのパケットにACKが付くらしいです。
といっても交互にやってる時がそれなのかな?
相手から送られてきた要求に対し、レスポンスを返すのと
同じパケットで受信したよって省略しちゃうみたいです。
途中のデータのやり取りはPSH,ACKが交互に行き交うような
感じのようです。


iptablesの設定をやってる最中でお仕事の方でも
触る機会があったので(つまりネットワークトラブルが
あったという事)早速入手した知識を活用してたりします。
更にはtcpdumpでパケットを見るとかより深い部分にまで
手を出さざるを得なくて、ある意味一石二鳥だったりします。
プログラマの筈なんだけどねっ。
by yy3Trackbacks()Comments(0)
struts@download (技術メモ)
アップロード処理に続いてダウンロード処理も作る事になりました。

まぁ最初に書いておくとstrutsの機能を特に使ってるという訳ではないです。

ダウンロードのやり方にはいくつかやり方はあると思いますが
今回はsourceforgeで採用している方式っぽくしてみました。
といってもsourceforge自体の仕組みを理解してる訳ではなく
なんとなくこんな感じかな〜ってやってみただけなのでかなり怪しいです。

sourceforgeで採用されている方式は
1.ダウンロードリンク(だったかな)をクリック
2.次のページが表示される
3.それと並行してファイルのダウンロードが行われる
という方式でこれの利点としてはダウンロード対象の確認時点でエラーが
あった場合でも次ページを表示する事は確実に行われるので
ダウンロード前に1クッション置ける点です。

具体的に考えた方式としては
1.ダウンロードボタンを押すと通常のActionをキック
2.そのActionではダウンロード対象のデータをForm(ほぼSessionと同意義)に
 設定して元の画面を再表示
3.画面では再表示時に空のformを作って表示時に自動的に
 ダウンロードActionにsubmitしちゃいます
4.ダウンロードActionでダウンロード処理
といった感じです。

3のsubmitでは空のformをsubmitするのでメインのformには
影響がないかな〜って思ってますが、ここは本当に勘です。
ただtokenとかもこれで整合性が保たれてるっぽいのでいけそうな気がします。
(ちなみにtoken周りはforwardとかもあるので妙な制御を入れてます)

今のところこの実装方式でうまくいけてそうな感じです。
怪しいですけどね('-';)
by yy3Trackbacks()Comments(0)
メモとか
MASTER : yy3
カレンダー
04 2025/05 06
S M T W T F S
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
最新記事
(10/28)
(08/18)
(07/27)
(07/27)
(07/15)
ブログ内検索
アクセス解析
OTHERS
Powered by 忍者ブログ
Designed by TABLE ENOCH
[PR]

△ページの先頭へ