🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

1回答

986閲覧

ローカルのindex.jspがサーバを見てしまう

shinya_yamada

総合スコア5

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2019/10/20 01:19

AWSで動いているシステムがあります。
そこで、動いているjava,jspをローカルPCに設定して、ローカルPCで動作させようとしています。
ローカルPCにApache、tomcatを設定して、localhostでindex.jspを起動するのですが、
index.jspはローカルPCのファイルが起動されるのですが、そこから起動されるサブレットがAWSにあるサブレットが動作しているように見えます。

それは、ローカルPCのソースに指定したDBを見ずに、AWSにあるソースに指定しているDBを参照してしまうから、そのように考えました。

ローカルPCのソースには、AWSのサーバの指定等どこにもないのに、このような状況になってしまします。

何か、考えられることがあるでしょうか?

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

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

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

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

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

guest

回答1

0

違いました。やはりローカルのソースを見ていました。
index.jspから呼び出されるソースのURLはローカルのソースを指していましたし、ローカルで指定していた

<title>の文字を変更して、ローカルで起動したら、titleが変更されていた文字に変わっていました。

そうすると、何故DBがローカルで指定したDBを参照してくれていないのか、そこが問題になります。

投稿2019/10/20 01:47

shinya_yamada

総合スコア5

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

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

y_waiwai

2019/10/20 01:57

そのソースがローカルを見るようになってないのでは
shinya_yamada

2019/10/20 02:10

ローカルのソースは、AWSにある別のDB(テストDB)を見るように指定しています。 そこで、変更したのは、 String jdbcUrl = ここでテストDBのエンドポイントを指定 これを conn=DriverManager.getConnection(jdbcUrl,dbId,dbPass); で指定しています。 何か足りないでしょうか?
y_waiwai

2019/10/20 02:28

ろくにコード提示しないで聞かれても答えようがないです それがホンマにローカルを指してるのか調べてみては。
shinya_yamada

2019/10/20 06:24

すみません。コードをできるだけ提示します。 public class Database_owner { public static Connection conn = null; public static Connection getConn() { if(Database_owner.conn == null) { try { String jdbcUrl = "jdbc:mysql://[テストDBのエンドポイント]:3306/XXXXX"; String dbId = "YYYYYY"; String dbPass = "ZZZZZZZ"; Class.forName("com.mysql.jdbc.Driver"); Database_owner.conn = DriverManager.getConnection(jdbcUrl, dbId, dbPass); } catch (ClassNotFoundException | SQLException e) { } } return Database_owner.conn; } } で、コネクションを取得し、 Database.conn = null; Database.getConn(); String sql1 = String.format("SELECT * FROM v_notice_order_customer WHERE status_id = '%d' and delete_flg is null order by register_date desc;", 1); Statement stmt1 = Database.conn.createStatement(); ResultSet rs1 = stmt1.executeQuery(sql1); でSQLを実行しているのですが、取得されるデータがエンドポイントで指定したDBとは違うDBのデータが取得されてしまいます。 何か、考えられる事あるでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問