忍者ブログ

2024
09
09

[PR]

×

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

2024/09/09 (Mon.)

2008
12
26

[S2JDBC-Gen] [ESSR0053]パーサの設定に問題があります

s2container.seasar.org/2.4/ja/DIContainer.html#XInclude

XInclude を利用するには、Java5 以降でかつXInclude に対応した XML パーサが必要です。 Java5 にバンドルされているXML パーサは XInclude に対応しています。

Teeda、S2JSF、Mayaa 等にバンドルされている Xerces 2.6.2 は XInclude に対応していません。 Xerces 2.6.2 は Tomcat 5.0 でも利用されています。 これらの環境で XInclude を使用するには次の設定が必要です.

  • META-INF/servicesディレクトリを作成し、 javax.xml.parsers.SAXParserFactory というファイルを作成し、 以下の内容を記述します (SunのJDK/JREの場合)。
com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl
PR

2008/12/26 (Fri.) Trackback() Comment(0) seasar

2008
12
25

[SAStruts]サブミットボタンはname属性で

サブミットボタンはname属性にメソッド名を指定する。

2008/12/25 (Thu.) Trackback() Comment(0) seasar

2008
12
24

[SAStruts]URLとアクションの関係

Strutsでは、URLとアクションの関係をstruts-config.xmlに記述しますが、 SAStrutsでは、次のルールに従って自動的に決まるので、 設定ファイルを書く必要がありません。

http://localhost:8080/sa-struts-tutorial/login/にアクセスしたとします。 sa-struts-tutorialはWebアプリケーション名です。 SAStrutsは、次のような手順でURLをActionクラスに変換します。

  • Webアプリケーション名の後ろのパス(/login/)の最後のスラッシュをActionに変換(/loginAction)します。 スラッシュがない場合は後ろにActionを付け加えます。
  • 最後のスラッシュの直後を大文字(/LoginAction)にします。
  • スラッシュをドットに変換(.LoginAction)します。
  • ルートパッケージ名.actionを先頭につけます(ルートパッケージ名.action.LoginAction)。 ルートパッケージ名の詳細は、こちらを参照してください。
  • 最終的に、/login/に対応するアクションクラスはtutorial.action.LoginActionになります。

アクション用のパスがない場合、ルートパッケージ.action.IndexActionがあれば、 そのアクションが呼び出されます。 例えば、http://localhost:8080/sa-struts-tutorial/にアクセスすると、 tutorial.action.IndexActionが呼び出されます。

IndexActionを呼び出したいときは、Webのルートにindex.jspをおかないようにしてください。 index.jspの方が優先されて呼び出されるためです。

2008/12/24 (Wed.) Trackback() Comment(0) seasar

2008
12
03

[Seasar][Dolteng][sqlserver] DoltengのDatabaseViewを使うときの注意

Seasar2(Teeda+S2Dao) on Eclipse(with Dolteng) な環境で #複雑だなぁ

Sqlserverを使う場合、このドライバを使うかもしれません。
で、このドライバ(jar)を半角スペースを含むパスに置いては駄目です!

たぶんDolteng(0.33.0)がおばかなので、接続できません。orz

jdbc.diconの記述はほぼデフォルトでOKです。 こんな感じです。


    <!-- for SQLServer -->
    <component name="xaDataSource"
        class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
        <property name="driverClassName">
            "net.sourceforge.jtds.jdbc.Driver"
        </property>
        <property name="URL">
            "jdbc:jtds:sqlserver://localhost:1433/databasename"
        </property>
        <property name="user">"sa"</property>
        <property name="password">""</property>
    </component>

2008/12/03 (Wed.) Trackback() Comment(0) seasar

2008
11
28

seasarについて

DI+AOPの軽量コンテナ

DIとは?
Dependency Injection(依存性注入)
DIを実現するメカニズムの概要は,オブジェクト相互の依存性をプログラム外部に記述して,実行時に結合することである。

依存性とは?
Java言語ではオブジェクトは「Javaクラス」として記述する。ここで,「A」というJavaクラスのソースコード中に,「B」を呼び出すコードが含 まれていたとしよう。このコードは,「AがBを生成し,そのメソッドを呼び出す」という内容になる。生成するためには,AはBを知っていなければならな い。つまり,Aを実行するには同時にBが必要となる。これが依存性である。

依存性の正体がオブジェクトの生成のコードであるならば,この「悪者」となっているコードを消せないか?
具体的には,Bを生成するコード(=依存性)を A本体に含めず,その実行時に動的に「注入」できないか?
この考え方が,依存性注入(Dependency Injection),すなわちDIなのである。

DIを実現するメカニズム
オブジェクトAがオブジェクトBに依存する部分を,Aのソースコードに直接記述するのではなく,間接的な方法で(メタレベルで)記述する。例えば Spring Frameworkの場合は,XML形式の設定ファイルに,AとBとの間の依存性を記述する。EJB3.0では,Java言語仕様に加わったメタデータに より,アノテーション(「@session」など,プログラム・コード中に挿入する付帯情報)として記述する。

AOPとは?
Aspect Oriented Programming:アスペクト指向プログラミング
横断的な関心事
たとえば、ログトレース。いろんなところでログトレースしたい。でもいろんなとこに書くのは無駄。
じゃAOPで、処理を分離する。横断的なロジックと関係無い処理は、アスペクトとして分割する。

静的なAOPと動的なAOP
静的なAOP:AspectJ
動的なAOP:Seasae2、Spring

バイトコードレベルでアスペクトを織り込むタイプ
   クラスロード時や実行時にバイトコード変換を用いて、アスペクトを織り込むタイプのAOPです。Seasar2はバイトコードレベルでアスペクトを織り込むタイプです。

プロキシを利用してアスペクトを織り込むタイプ
Spring

Seasar2のAOPについて
Seasar2のAOPのAdvice

Around Advice、Before Advice、After Advice、After Returning Advice
それぞれ、Joinpointの前後・前・後に実行されるAdvice。これらは独自のAdviceとして実装する必要があります。
Throw Advice
Joinpointで例外が発生した場合に実行されるAdvice。Seasar2の提供するThrowsInterceptorを継承して実装する必要があります。
その他のAdvice
Joinpointに対する機能を実装済みのAdvice。Seasar2の提供するInterceptorをそのまま利用できます。
POJOとは?ポヨ?
Plain Old Java Object
ごく普通のJavaオブジェクトであることを強調した名称。
Javaにおいてもっとも寿命が長いのは、どんなフレームワークでもない、POJOであろう。
それは「Javaである」ことしか要請しないのだから。POJOは中継層やプロセス層のような「うつろいゆくもの」に依存しない。
POJOはテストを容易にする。

2008/11/28 (Fri.) Trackback() Comment(0) seasar

カレンダー

08 2024/09 10
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

リンク

カテゴリー

フリーエリア

最新CM

[08/09 VMAXON]

最新記事

最新TB

プロフィール

HN:
No Name Ninja
性別:
非公開

バーコード

RSS

ブログ内検索

アーカイブ

最古記事

アクセス解析

FX NEWS


-外国為替-

コガネモチ