質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Struts

StrutsはJava向けのWebアプリケーションフレームです。MVCモデルに基づいており、JSPやJavaサーブレットを組み合わせ、アプリケーション構築時に使用する各機能を提供しています。

Q&A

解決済

1回答

4180閲覧

InitialContext.lookupでDataSource取得

JectABC

総合スコア34

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Struts

StrutsはJava向けのWebアプリケーションフレームです。MVCモデルに基づいており、JSPやJavaサーブレットを組み合わせ、アプリケーション構築時に使用する各機能を提供しています。

0グッド

0クリップ

投稿2019/06/24 08:16

前提・実現したいこと

現在既存のWebアプリケーションを改修しています。
そこで記述されているDataSouceを作成している部分で質問があります

/** * データソース作成. * @return DataSource * @throws Exception */ protected DataSource createDataSource() throws Exception { DataSource retDs = null; InitialContext ic = null; try { ic = new InitialContext(); retDs = (DataSource)ic.lookup("java:comp/env/jdbc/システム名"); } catch (Exception e) { LogUtility.error("データソース作成中にエラーが発生しました。"); retDs = null; throw e; } return retDs; }

web.xml

<resource-ref> <res-ref-name>jdbc/システム名</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>

調べたところweb.xmlの部分を参照していて、JDNIによって名前が変換されているのがわかるのですが、結局
DataSouceのユーザー名やパスワードがどこから参照されているのかわかりません

また、DataSourceの定義ファイルが存在するなら
表示できるのか、編集できるかも知りたいです

ちなみにこのシステムを作成した前任者はもういません

補足情報(FW/ツールのバージョンなど)

環境
Tomcat,Struts1,eclipse,SQLServer

もし他に必要な情報があれば、追加します
よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

DataSourceの定義は、いくつかの場所があります。

  • tomcatのserver.xml内にある GlobalContext、
  • 同じく server.xmlにある DataSource要素
  • context.xmlにあるDataSource要素
  • Webアプリケーション内にある META-INF/context.xml にあるDataSource要素

JNDIの設定は、これらの中にたいていはあります。

投稿2019/06/24 15:52

A-pZ

総合スコア12011

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

JectABC

2019/06/25 02:23

回答してくださってありがとうございます! 定義はこれらのファイルにはありませんでしたが、プロジェクト内とプログラムファイルの両方にTomcatが存在していて プロジェクト内の指定したTomcatに「Catalina」ファイルがなかった場合には、違うlocalhost内のTomcatを読みにいくという設定を見つけることができました 結果、定義ファイルはプログラムファイル内/Appache/Tomcat/Catalinaファイルの中に存在しました
JectABC

2019/06/25 02:24

解決のきっかけになったのでベストアンサーにさせていただきました! ありがとうございます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問