- PR -

DataSourceを利用したPostgresへの接続について

投稿者投稿内容
ykhr
会議室デビュー日: 2004/11/12
投稿数: 18
投稿日時: 2006-03-30 12:15
デフォルトでは、webappsの下にあるものは
contextの情報がなくても読み込まれるはずです。
なので、アプリが読み込まれる際にエラーが出て
読み込まれていないのではないでしょうか?

もしくは、jsp自体がないとか・・・

[ メッセージ編集済み 編集者: SEY 編集日時 2006-03-30 12:16 ]
いっぽ
会議室デビュー日: 2005/08/30
投稿数: 12
投稿日時: 2006-03-30 19:47
返信いただきました皆様>
なんとか自己解決できましたのでご報告します。

eclipse上からMETA-INF/context.xmlを参照させようとしたのですが、
結果的には無理でした。私の環境では、tomcatのwebappsディレクトリとは
まったく関係のない場所にworkspaceを作成していました。
そのため、Contextタグに記述される内容をTomcatのサーバに反映させる
ためには、server.xmlかCATALINA_HOMEの/conf/Catalina/localhost/[app].xml
内に記述しなければなりませんでした。

正確には後者は試していませんが、workspaceを参照するためのContextタグが
このファイルに記述されているので、おそらくここに設定する必要があると
思います。

プロジェクトを.warファイル化し、webappsに配置したところ無事動作しました。

1点、context.xmlのURLの書式に誤りがありましたので、その点だけ訂正しました。
返答いただきました皆様、ありがとうございました。

【context.xml】(windowsのディレクトリは通常のバックスラッシュです。)
<?xml version='1.0' encoding='utf-8'?>
<Context path="/strutsdb" reloadable="true" docBase="C:\\eclipse-SDK-3.1.1-win32\\eclipse\\workspace\\strutsdb" workDir="C:\\eclipse-SDK-3.1.1-win32\\eclipse\\workspace\\strutsdb\\work" >
<Resource name="jdbc/postgres" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/postgres">
<parameter>
<name>username</name>
<value>postgres</value>
</parameter>
<parameter>
<name>password</name>
<value>hogehoge</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>org.postgresql.Driver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:postgresql:hellodb</value>
  </parameter>
  </ResourceParams>
</Context>


いっぽ
会議室デビュー日: 2005/08/30
投稿数: 12
投稿日時: 2006-03-31 00:21
SEYさん>
返信ありがとうございました。まったくおっしゃるとおりです。
eclipseでの開発環境とtomcatを同じマシン内に配置し、META-INF/context.xml
を読ませようとしたところに、今回の試行の問題点があったようです。

context.xmlですが、ほかにも修正がありました。すいません。
docBaseの変更およびworkディレクトリに関する記述を削除していました。
(上記を変更しないと、デプロイの際にエラーになります。
当たり前といえば当たり前ですが不勉強でした。)
【context.xml】
<?xml version='1.0' encoding='utf-8'?>
<Context path="/strutsdb" reloadable="true" docBase="strutsdb" >
<Resource name="jdbc/postgres" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/postgres">
<parameter>
<name>username</name>
<value>postgres</value>
</parameter>
<parameter>
<name>password</name>
<value>hogehoge</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>org.postgresql.Driver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:postgresql:hellodb</value>
  </parameter>
  </ResourceParams>
</Context>

スキルアップ/キャリアアップ(JOB@IT)