[Seasar-user:1666] struts + dao 連携

yamafuji yama yamafujiyamajp
2005年 3月 23日 (水) 15:50:32 JST


藤山と申します。

現在 Struts + S2Struts + S2Dao を連携させるプログラムを作成しております。
具体的にはログイン画面で入力されるユーザID、パスワードがDB内のUSERSテーブルに登録されているかを確認し、成功すれば次画面に遷移するといった簡単なものです。
ログイン画面のログインボタン押下のタイミングでActionクラスのexecute内で、ログイン情報を検証するサービスクラスのcheckメソッドが呼ばれるようにしております。checkメソッド内ではDBからユーザ情報を取得するDaoクラス内のgetAllUsersメソッドを呼んでおります。
現時点ではcheckメソッド内で、USERSテーブルのDaoダイコンファイルを読込みS2Containerオブジェクトを生成するところで以下のようなエラーとなっています。

-------------Eclipse上エラー-----------------------------------------------------------------------------------------------------------------------
2005-03-23 14:47:07,937 [http-8080-Processor25] ERROR StandardWrapper[/gaams114-S2Sample:action] - サーブレット action のServlet.service()が例外を投げました
java.lang.NoClassDefFoundError: javax/transaction/TransactionManager
 at java.lang.ClassLoader.defineClass1(Native Method)
 at java.lang.ClassLoader.defineClass(Unknown Source)
・・・

--------------ブラウザ上エラー------------------------------------------------------------------------------------------------------------------------
javax.servlet.ServletException: サーブレットの実行により例外を投げました
	org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:45)
	org.seasar.extension.filter.EncodingFilter.doFilter(EncodingFilter.java:47)


エラー対象クラスファイルは以下の通りです。

--------------エラー対象クラス------------------------------------------------------------------------------------------------------------------------
public class LoginServiceImpl implements LoginService {

 private static final String PATH = "org/seasar/dao/examples/login/LoginDao.dicon";
     public boolean check (String username, String password) {
  
        S2Container container = S2ContainerFactory.create(PATH);  ←ここでエラー
        container.init();
        
        try {
            LoginDao dao = (LoginDao) container
                    .getComponent(LoginDao.class);
            List users = dao.getAllUsers();
            for (int i = 0; i < users.size(); ++i) {
                System.out.println(users.get(i));
            }

        } 
        catch (Exception e) {
         e.printStackTrace();
        }
        
        finally {
            container.destroy();
        }
}

ちなみにmain内で上記プログラムは普通にDBに接続できています。
基本的なことかも知れませんがエラー原因がお分かりになる方ぜひともよろしくお願いします。

開発環境は以下の通りです。
・JDK:1.5
・S2:2.2.3
・Dao:1.0.23
・Struts:1.1.4
・コンテナ:Tomcat5.5
・DB:HSQL
・開発環境:Eclipse3.0

 




---------------------------------
Do You Yahoo!?
Upgrade Your Life
-------------- next part --------------
HTMLの添付ファイルが除去されました.
URL: http://lists.sourceforge.jp/mailman/archives/seasar-user/attachments/20050323/4a0b9abb/attachment.htm



Seasar-user メーリングリストの案内