This domain may be for sale!
流れるようにSQLっぽくO/RマッピングできるS2JDBC:Java初心者が超俊敏にWebアプリを作る方法(最終回)(1/3 ページ) Eclipseプラグイン「Dolteng」のScaffoldという自動生成機能やSeasar 2.4のHOT deploy機能を利用して、DBの参照・更新・削除ができるSAStrutsのWebアプリを作ります。Java初心者だけでなくStrutsに慣れた開発者も必見です 超俊敏にJavaのWebアプリケーションを作るための便利なツールを紹介する本連載も今回で最終回です。 前回の「EL式を拡張したSAStrutsタグ/ファンクションは超便利」では、SAStrutsを利用するうえでJSP記述に便利なSAStrutsのカスタムタグやファンクションについて解説しました。前回までで、SAStrutsをプレゼンテーション層、サービス層、パーシステンス層と分けたときにプ
を作ることにしました。 ※Eclipseがないので、すべて自力ですが・・・ 最近、Javaから離れてたもので、 Javaを思い出すにあたり、Stutsは、時代の流れに逆行してるため、 SAStrutsを採用することにしました。 SAStrutsとは→Strutsを使った開発をSuper Agileに行なうためのフレームワーク。 <<特徴>> xml記述の減少 DI AOP HOT DEPLOY DI(依存性の注入)→コンポーネントを祖結合にして、開発の効率化 AOP(アスペクト志向プログラミング)→トレースログの出力とトランザクション管理、例外処理、ログイン(セキュリティ)処理のように共通で利用でき、元のソースコードを変更せずに追加できる。 S2JDBC→Seaser2のORマッピングツール →サポートツールにS2JDBC-Genが存在し、タイプセーフなコーディングが可能に・・・。 ※SA
HTTPヘッダの特定項目の解析が必要になりましてね。 SAStrutsでどーやんの(--? と思って調べてみました。 ふむ、ビビってたけど実はとても簡単でした。 Action内で @Resource protected HttpServletRequest request; とかやればサーブレットみたいに普通に使えるのですね。 φ(--)サンプル public class TestAction { static Logger logger = Logger.getLogger(TestAction.class.getName()); public String msg1; public String msg2; public String msg3; @Resource protected HttpServletRequest request; /** * 初期表示 * */ @Execu
「Pleiades All in One 日本語ディストリビューション (JREあり)」 (Eclipse 3.5.1 Galileo Windows 32bit ベース / Pleiades All in One 3.5.1.20090930)に SAStrutsのプラグインをインストールしてみる。 eclipseのインストールについてはeclipseのインストール(Eclipse 3.5.2 Galileo編) を参照 「Seasar Plugin3.3」プラグインのインストール Eclipseのメニューから「ヘルプ(H)」→「新規ソフトウェアのインストール...」にて表示されるダイアログボックスにて 「追加(A)...」ボタンを押して表示される「サイトの追加」ダイアログボックスの名前(N)欄に「Seasar Plugin3.3」を ロケーション(L)欄に「http://eclipse
本稿では、Apache Maven を利用して SAStruts プロジェクトを立ち上げ、Subversion などのコラボレーションツールでプロジェクトメンバーとソースコードを共有するまでの手順について解説します。 この記事の目的とゴール 複数人で構成されるプロジェクトにおいて、リーダ役となるプロジェクトメンバーの一人が SAStruts の WEB アプリケーションプロジェクトを Apache Maven で作成して Subversion などにコミットします。 そのコミットされたソースコードを、他のプロジェクトメンバーがチェックアウトし、開発できるようになることをゴールとします。 リーダーもメンバーも行う作業 まずは、リーダー役となる人もメンバーになる人もやっておく必要がある作業について解説します。 Apache Maven をインストールする タイトルの通り Apache Mave
Seasar2のDIコンテナを使用したWebアプリケーション開発プロジェクトに関わっているのですが、 最近、ローカル環境でうまくいく(=HotDeployで問題なし)けど、サーバに乗せて実行する(=CoolDeploy) と問題が発生するパターンの問い合わせが増えました。 メンバーへの教育が徹底されていなかったり、習熟レベルの相違が多少なりともありますので、 そういった場面にまったく遭遇しないメンバーもいます。 メンバーのSeasar2プロダクトの教育は、もっぱら自習が主になっていて、もちろん開発規約や サンプルなどは提供していますが、基礎部分については本をプロジェクトで購入したり、 集合研修を受講したりということを積極的には行っていないので、どうしても知識にばらつきがあります。 今は地道に資料作成をして、開発者に回覧するくらいですね。 さて、最近発生した事例では、HotDeployでは問
デプロイモードをHotDeployからCoolDeployにしたら、DIコンテナの初期化に失敗する。とりあえず解決しているが、なんだか変なことをしている気がして落ち着かない。 問題 今作っているアプリケーションではコンポーネントの自動登録を行っているのだが、そこで落ちる。 org.seasar.framework.beans.IllegalPropertyRuntimeException: [ESSR0059]クラス(org.seasar.framework.container.autoregister.ComponentAutoRegister)のプロパティ(customizer)の設定に失敗しました。理由はorg.seasar.framework.container.TooManyRegistrationRuntimeException: [ESSR0045]interface org
「Hot Deploy」「Hot Deploy」連呼によって、今までで一番長いタイトル。。 気を取り直して本題を。 SeasarのHot Deploy機能はアプリケーションサーバーの再起動不要で修正コードがすぐに反映されるという便利な反面、ちょっとフレームワークの拡張をした時に「Hot Deployでは動くのにCool Deployでは動かない」(またはその逆)といったことにハマることが多いように思います。 S2Container本体やHot Deploy機能の理解が浅いせいもあって、自分も何回泣かされたことか。。。 今回もSAStrutsを使っていて遭遇してしまいました。 Hot Deploy対象外クラス(RequestProcessorやtaglibなど)内で、HotDeploy対象のServiceクラスやDtoクラスをgetComponentするような以下のコードを書くとClassC
VS Code 拡張機能 Java Extension Pack Auto Config の Java 21 対応版をリリースしました。この拡張機能には java.configuration.runtimes 自動設定を含む以下のような機能があり、JAVA_HOME などの設定が不要です。インストーラやパッケージャでインストールした JDK のバージョンアップなどでパスが変わった場合も、VS Code 起動時に settings.json が自動更新されます。 Microsoft、Red Hat、VMware などの Java 拡張機能が付属 複数の JDK を自動設定、エラー修復、更新 Maven や Gradle を自動設定、エラー修復、更新 Java 開発用の自動デフォルト設定 VS Code ターミナルで各バージョンの Java 実行可能 marketplace.visualstu
チュートリアル Seasar2はHOT deployに対応しているので、ソースコードの変更を アプリケーションサーバを再起動することなく認識できます。 また、設定ファイルもほとんど書く必要がありません。 チュートリアルのセットアップに従って、 アプリケーションサーバを起動したら、Javaのコードや*.propertiesファイルをいろいろ 書き換えながら、HOT deployの威力を実感してください。 index ブラウザでhttp://localhost:8080/sa-struts-tutorial/にアクセスしてください。 いろんなアプリケーションを試せるページが表示されましたね。 webapp(Webアプリケーションのルート)の直下を見てみましょう。index.jsp(index.html)は存在しません。 それでは、どのページが表示されているのでしょうか。 SAStrutsは、W
生StrutsのActionクラスではsaveMessagesメソッドを使えば、ビューへメッセージを渡せますが、SAStrutsではどうやって渡すのか調べてみたら、ActionMessagesUtilというユーティリティクラスが用意されていました。 Actionクラスでの使い方は以下のような感じ。 public class HogeAction { public HttpServletRequest request; // 中略 @Execute(input = "index.jsp") public String submit() { ActionMessages messages = new ActionMessages(); messages.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("xxxxxx")); // xxx
SAStrutsで、例外発生時にエラーページに遷移させたい。 これが今回やりたいこと。どうやらStrutsの機能でできるようです。以下はリファレンスの引用です。 struts-config.xml <global-exceptions> <exception path="/error/norole.jsp" key="errors.norole" type="org.seasar.struts.exception.NoRoleRuntimeException"/> </global> Super Agile Struts - Feature Reference これを参考に、struts-config.xmlに以下のように記述。実行時例外が対象です。 <global-exceptions> <exception path="/error.jsp" key="errors.system" t
ActionFormのスコープをデフォルトのrequestから、sessionに変更したい場合のサンプル JSPは、/view/session以下、ActionはSessionActionになります。 見どころ1(Sessionスコープの指定) ActionFormに対して、@ComponentアノテーションにてSessionスコープを指定します。 @Component(instance = InstanceType.SESSION) public class SessionForm implements Serializable { private static final long serialVersionUID = 1L; また、シリアライズするので、Serializableの実装と、serialVersionUIDの定義をします。 見どころ2(検証用アノテーションと、入力値検証の
SAStrutsのバリデーションはアノテーションのみで行う。 SAStrutsのバリデーション用のアノテーション サーバ再起動不要のSMART deployとバリデーション (2/2):Java初心者が超俊敏にWebアプリを作る方法(3) - @IT いくつかバリデーション用のアノテーションを使用してみました。 ・@Required 必須時 ・@IntegerType 数値判定 ・@Minlength 最小桁数 ・@Maxlength 最大桁数 ・@Validwhen 条件 ・@Mask 正規表現 ・@DateType 日付判定 @Mask、@Validwhenの使い方に、少々手こずり〜〜。 @Validwhen(test="(empNo>1200)",msg=@Msg(key="errors.invalid"),args=@Arg(key = "aaa",
ActionFormにアノテーションを追加 まず対象のActionFormのプロパティにアノテーションを付加します。 入力値を受け取るためのプロパティは、検証エラーになっても値を格納できるように型をStringあるいはbooleanとします。 今回は入力必須のチェックを行うためのアノテーションである「@Required」を付加しています。 ValidatorForm.javaの内容 package snowhiro.form; import org.seasar.struts.annotation.Required; public class ValidatorForm { @Required public String args1; @Required public String args2; } application_ja.propertiesの編集 application_ja.p
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く