- - PR -
struts データソース
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-03-29 11:38
現在データベースソースを以下のように使っています。
struts-config.xml <data-sources> <!-- BasicDataSourceクラスを利用する --> <data-source type="org.apache.commons.dbcp.BasicDataSource"> <!-- JDBCドライバクラス名の設定 --> <set-property property="driverClassName" value="com.mysql.jdbc.Driver" /> <!-- JDBCの接続文字列の設定 --> <set-property property="url" value="jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=SJIS" /> <!-- MySQLのユーザIDの設定 --> <set-property property="username" value="root" /> <!-- MySQLのパスワードの設定 --> <set-property property="password" value="root" /> </data-source> </data-sources> web.xml <resource-ref> <description>DB Connection</description> <res-ref-name>jdbc/test</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> test.java private DataSource source; Context ic = new InitialContext() ; source = (DataSource)ic.lookup("java:comp/env/jdbc/test"); Connection conn = source.getConnection(); 以上のように、ソース→web.xml→struts-config.xmlという流れでそれぞれの中身を読んでいます。 この方法ではなく、ソース→struts-config.xmlを直接呼び出す方法はないでしょうか? ソースをきれいに書く方法やアドバイスがありましたら、よろしくお願いいたします。 [ メッセージ編集済み 編集者: よし 編集日時 2006-03-29 11:43 ] |
|
投稿日時: 2006-03-29 12:29
公式サイトのデータソースに関する説明
http://struts.apache.org/struts-doc-1.2.4/faqs/database.html Strutsが提供しているデータソース機能は現在推奨されていません。 サーブレットコンテナ等のデータソースを使用すべきです。 どのみち両方が使用可能ですが、両方を設定する意味はないでしょう。 |
|
投稿日時: 2006-03-30 13:27
返信が遅くなりまして、すみませんでした。
アドバイスありがとうございます。 現在、struts1.1 tomcat4系で作ったアプリケーションを tomcat5.5にして今までデータベースソースを使っていなかったソースに データソースを組み込もうとしています。 しかし、tomcat起動時に以下のようなメッセージが出て、データソースを利用することができません。 2006/00/00 00:00:00 org.apache.commons.modeler.Registry registerComponent 致命的: Null component Catalina:type=DataSource,path=/test,host=localhost,class=javax.sql.DataSource,name="jdbc/MySQL" 現在の環境情報 jre1.50_05 tomcat5.5 struts1.0 web.xml <?xml version="1.0" encoding="Shift_JIS"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-app_2_4.xsd" version="2.4"> <resource-ref> <res-ref-name>jdbc/MySQL</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> </web-app> 自分で作ったlocalhost内のserver.xml(test.xml) <?xml version='1.0' encoding='utf-8'?> <Context docBase="C:/Program Files/eclipse/workspace/test" path="/test" workDir="C:\eclipse\workspace\test\work"> <Resource name="jdbc/MySQL" auth="Container" type="javax.sql.DataSource" username="root" password="admin" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/testdb?useUnicode=true&characterEncoding=SJIS"/> </Context> struts-config.xml <?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd"> <struts-config> </struts-config> test.xmlに関しては、tomocat5系の書き方に沿ってデータベースソースを書きました。 また、別のプロジェクトでstrutsを使わす同じ設定でjspからデータは所得できています。 そのほかにも、server.xmlの中にデータベースソースを書き、 test.xmlでリンクをはってもうまくデータベースソースを所得できません。 これは、バージョンによるものなのでしょうか? 書き方がまずいのでしょうか? 本当に困っています。アドバイスよろしくお願いいたします。 [ メッセージ編集済み 編集者: よし 編集日時 2006-04-12 16:35 ] |
|
投稿日時: 2006-03-30 19:43
テーマが代わりましたね。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=29537&forum=12&8 このスレッドが参考になるでしょうか。 |
1