サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
新内閣発足
www.h3.dion.ne.jp/~alpha-pz
Eclipse3.7に対して、正式プラグインとしてmavenプラグインが導入可能になりました。使い方は以前と同じまま、微妙な不具合が解決されているんですが、初期導入時に、ちょっとした問題が発生するようです。 初めて導入した場合、Nexus Indexerから最新リポジトリの情報を取得しますが…。 既にmaven2を利用している場合でも、m2eclipseプラグイン独自にリポジトリ情報を取得します。 その時にNexus Indexerと呼ばれるjarのpom情報(+バージョン情報)を取得するのですが、初回のみ大きなファイルを自動的に入手します。 ただしその初回ロードファイルのダウンロードに要する時間が長く、約1時間ほど必要になることがあります。 その際、ダウンロードを中断してしまうと、Indexerのダウンロードも中断されて二度と取得できなくなります。 その場合、m2eclipseプ
Struts2といえば、簡単ビルド、デプロイ、メンテナンス(改修)を売り文句としていますが、一体どこまで簡単なんでしょうか(ω・ 実際の最短経路を紹介して、超絶速いことを紹介してみます 構成さえ作れば理解はすぐできる アプリケーションの構成にも依存しますが、いわゆるMVCアーキテクチャの代表格である、データベースを利用したアプリケーションであれば、Struts2+Springの構成でトランザクション管理を行い、データベースとのやりとりは、Hibernateにするかmybatisを選択するのが主流です。 (私はmybatisでやってますが、どれを選ぶかは個人の経験や趣向に依るものでしょう) つまりStruts2だけでなく、他のフレームワークやライブラリを組み合わせて初めて1つのキットになります。従来のStrutsのように、Struts単体だけではデータベースへの機能は一切ありません。St
Struts2にて提供されているデフォルトの例外ハンドラ。 インターセプタの先頭に登録されていることから、一番最初と最後に稼働しますので このインターセプタに例外を登録することで、例外による画面のハンドリングを行えます。 その境界は実装領域(Actionクラス~)と、Struts2層の間 Actionクラスのアクションメソッドが標準でExceptionをスローするようになっているので Actionクラス内部で発生した何らかの例外は、そのままActionクラスを通り抜けて、 ExceptionInterceptorへ伝播します。 ここでハンドリングしない場合は、そのまま例外画面へと遷移します。 サンプル設定例 <struts> <package name="default" extends="struts-default" abstract="true"> … <globa
ふと、スクレイピングしようと思いたって、HTMLパーサって何かいいのないかな、と思ってたときのことです。 JavaでHTMLパーサと言えば… 公式のHTMLParserでなく、Jericho HTMLParserの方が便利なメソッドを提供しています。 しかしこのHTMLParser、やはり要素を1つ1つ階層を追っていくのが面倒です。 というのも、すっかりjQueryに慣れてしまったので、タグの要素を追いかけるのが面倒なのです。綺麗なHTMLをしているサイトだけではないですし… じゃあjQueryのセレクタ(要素の検索や選択)が使えるものが無いかと調べたら、一瞬で出てきました。素晴らしい世界です。 jsoup: Java HTML Parser MITライセンスです。 ちなみにHTMLパース機能だけでなく、HTTPクライアントの機能も持ち合わせている優等生です。スクレイピングした
SQLも使って記述できるO/RマッピングフレームワークiBATISがApacheプロジェクトで凍結し、その後継プロジェクトがMyBatisとしてスピンアウトしました。 今回はそのMyBatisを、Struts2+Spring経由で使ってみます。 動いてしまうとアッサリなのでした MyBatisは、iBATISのバージョン3.0の位置づけとなります。 最終GA版であるiBATIS2.3.4との違いを挙げると… ・アノテーションで記述もできる(Java5必須) ・Springで接続する場合にはSpring3.0必須 ・微妙に要素名やクラス名が異なる それ以外は同じです。SQL定義内容は特に変更することはなく、動的SQLを作成していたタグがEL式っぽく簡略化されました。 Struts2;Springのキット 作成したEclipseキットを公開します。 mybatisSample.z
Actionクラスのおさらいと、Actionクラスの設定に関するConventionプラグインのまとめを書いてなかったので、ここでもう一度まとめます。 1. Actionクラスでやるべきこと HTTPリクエスト~レスポンスを返すだけならば、以下の2つだけです。 ・画面(View)からのリクエストを受け取るメソッドをpublicで作成し、 ・Actionクラスでの処理が終わった後に表示する画面(View):レスポンスを決定するresultを返す レスポンスはJSPだけではなく、Velocityなどのテンプレートや、ダウンロードやテキストも可能で、PDF、JSON形式もプラグイン導入で可能です。レスポンスの形式を必ず指定します。(指定しない場合はJSPへフォワード) それ以外の実装、たとえばデータベースを利用したActionを作る場合は、それに応じたコードを追加していくことになります。
作業中に突然出始めたエラーでした。接続はできるけれど、一切アクセス権限がなかったり、一部のアカウントのみ参照できたりと異常事態が起きていました。 作業はいつもどおりに、つつがなく MySQLを使ったアプリは結構な数作っていますので、弊社の中のサーバにもいくつかMySQLのインスタンスが現役稼動しております。 検証環境を含めても、Oracleのインスタンスと同じくらいいます。 私が検証や試験で使う場合は、いつもだと自分専用のインスタンスにしているんですが、今回は本番リリース予定のアプリだったので、規模は小さいながらも念のためテスト用のインスタンスも用意しておきました(ω・ そのアプリは、ほとんどが検索処理で、更新処理はバッチが99%以上を占めるものでしたので、結構穏やかな機能のものでした。 通常のSELECT文を発行していて、いくつか動作テストをしていましたが、特に問題はありませんで
info. サイト紹介ならびに管理人紹介 Profile. Wired name : A-pZ 近隣では、A先生とか影さん、ぢつにんさん と呼ばれています。 肩書きはITアーキテクトの模様です。言語は主にJava、特にWEBアプリケーション、認証処理、フレームワーク策定なんぞもやってます。 調査、ツール製造、制御層作成なんてのが得意技ですが、何故かサーバ構築なんかもオシゴトの一貫として修得しました。 Struts2は個人的な興味で調べています。現在CodezineにてStruts2の記事を連載しています。はてさて(ω・ Site info. 日々思ったことをblog形式、そして調査したことをまとめる場所としてまとめるために misc.にて記事をツラツラと書いています。 2000/2/9より初めてはや10年以上。続くもんですね。 ごく稀に音楽の話題が出ます。本当は曲書きさんです、
MyBatis-Springのライブラリのガイドがありましたので和訳してみました。 和訳してみて思ったんですが、最終的にはそんなに大きな変更しなくても大丈夫なようになってます。 一部意訳している部分があります。また、誤訳なども含まれているかも知れません。 1. 導入部 1.1 動機 (iBATIS)バージョン2では、SpringFramework(以降Spring)はiBATISのバージョン2のみサポートしています。同様にMyBatis3(以降、MyBatis)もSpring3.0のサポートに加えようと試みました。(Apache JiraのISSUE[https://jira.springsource.org/browse/SPR-5991]を参照) 残念なことに、MyBatisのオフィシャルリリースをする前に、Spring3.0の開発が終わってしまいました。そのため、リリースされ
Struts2.1標準のAjaxValidationではロケールに対応したメッセージが出せない問題がありましたが、JQueryプラグイン2.0を使うことによって、この問題は回避されます。 まずはダウンロードから JQueryプラグインのダウンロードはこちらから。 Struts2-JQuery Plugin 2.0 対応バージョンは、JQuery1.4.1 です。 新しいJQuery-uiのテーマも同梱されています(あまりイケテませんが) サンプルビルドセットはこちら(・ω・ AjaxValidatorSample.zip 例によってEclipse3.5+WTP+maven2プロジェクトで作成しておりますので、[Struts2]m2eclipseの導入を参考にしてください。 Actionクラス以外でのValidatoin実装をしています 何故Actionクラスや、従来のStrut
バージョンは2.0.9。 オートコンプリータとは、いわゆるコンボボックスと同じ使い方ができます。 名前を聞くと間違えそうですが… ブラウザのオートコンプリートは、入力フォームでクリックすると、過去入力さ れた値を出してくれる機能ですが、 struts2のオートコンプリータは、コンボボックス(テキスト入力可能なプルダウン)と、 AJAX対応なので、リフレッシュ機能を搭載することができます。 なので、複数のプルダウンを構成して、ひとつを選んだら、 もう一方の内容を再検索して表示…といったことが手軽にできます。 必要なもの Struts2-JSONプラグイン(mavenでは取得できません。2008/1/28) ※http://code.google.com/p/jsonplugin/downloads/list 現在は0.21です。稼働確認をしたのは0.19です。 これをWEB
Struts2では、画面遷移チェック用トークン生成とチェック用インターセプターが標準実装されてます。 内容は従来のものと一緒です。 稼動させるためには… 次の準備を行います。 (1)遷移チェックをさせたい前画面で、トークンタグ <s:token /> を置く (2)struts.xmlにて、TokenInterceptorを稼動させる宣言をする。 TokenInterceptorは2種類用意されており、 2重リクエスト防止用の TokenInterceptor(リクエスト単位) 同一クライアントからの多重送信防止を防ぐ SessionTokenInterceptor(セッション単位) この2つをActionクラスごとに選択できます。 ポリシーにあわせて実装を選びましょう。 同一セッション内で複数操作を禁止する場合はSessionTokenInterceptorを使います。
デフォルトでMultipartのリクエストを解析できるようになっていますので、 作法にならってフォームを作るだけで、中間ファイルの取得~破棄までを行います。 Jakarta FileUploadを使いますので、libへインポートしましょう。 次のようにします。ポイントはnameで、この値が、そのままActionのFileプロパティになります。 <form name="myForm" enctype="multipart/form-data" method="post" action="fileUploadSample!upload.action"> <input type="file" name="myDoc" value="参照 ..." /> <input type="submit" value="送信"/> </form> APIリファレンスにもありますが
Serendipity ./ Light in moment にようこそ(・ω・) 当サイトでは、私[A-pZ]が作成した楽曲、活動を公開しています。 詳細は各コンテンツのリンクより、概要は、上リンクの Info.リンクにて 紹介しております。
■ M i s c e l l a n e o u s ::: Lumi Version 2.0 / Dryad 2 rev#5 [Local]
struts-defalut.xmlで書かれている内容を抜粋すると、、、 <interceptor-ref name="validation"> <param name="excludeMethods">input,back,cancel,browse</param> </interceptor-ref> このように、input(),back(),cancel(),browse()メソッドは、 バリデーション無効と設定されているので、チェックが走らない。 これらは定常的に使うアクションで、これってどの処理でも、入力チェックをいちいち走らせないよね?というわけで こういうのを用意しました…ということなんだと思う。 考察してみればすぐにわかる話で、、、 普通に入力画面の表示だけで、入力チェックを走らせるのも無駄だし、 画面の「戻る」ボタン押して、再度入力
このページを最初にブックマークしてみませんか?
『(・ω・)Serendipity ::: Light in Moment - 15 [ 15.1 ]』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く