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

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

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

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

Tomcat

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

Q&A

解決済

1回答

8287閲覧

tomcat8.5からpostgresqlに接続できない

toon

総合スコア26

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

Tomcat

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

0グッド

0クリップ

投稿2017/07/14 01:49

初めまして。
Webアプリケーション開発経験0の初心者です。
似たような事例を探したのですが、解決できずお力添えいただきたいと思い質問させていただきました。

WindowsのEclipseで開発しwarファイルを出力→
Centos7でtomcatのwebappsに入れて実行しています。

今回必要な部分でのWindowsのテスト環境とCentosの実行環境は同じにできていると思っています。
・tomcatやpostgresのバージョンは同じ
・DB名・テーブル名も同じ

DB名・テーブル名も同じにしているので、
テスト環境で動いている設定を特に変えずに実行環境にもっていけると思っていたのですが・・・
(テスト環境ではDB接続ができているのでエラーは発生していません。)

###前提・実現したいこと
JavaサーブレットとJSPで開発しているWebアプリケーションでうまくブラウザ表示をさせたいです。

###発生している問題・エラーメッセージ
DB接続が失敗しているためNullpointExceptionが返ってくる。
( con = ds.getConnection();部分)

###該当のソースコード

//DB接続 public Connection Connect(){ // データソースの取得 DataSource ds = null; try { InitialContext ctx = new InitialContext(); ds = (DataSource) ctx.lookup("java:comp/env/jdbc/datasource"); } catch (NamingException e) { e.printStackTrace(System.err); } Connection con =null; try { // データベースとの接続 con = ds.getConnection(); } catch (SQLException e) { e.printStackTrace (); } return con; }

context.xml

<?xml version="1.0" encoding="UTF-8"?> <Context> <WatchedResource>WEB-INF/web.xml</WatchedResource> <WatchedResource>${catalina.base}/conf/web.xml</WatchedResource> <Resource name="jdbc/datasource" auth="Container" type="javax.sql.DataSource" driverClassName="org.postgresql.Driver" url="jdbc:postgresql://localhost:5432/DB2" username="postgres" password="hoge" /> </Context>

###試したこと
content.xmlを何度か変更

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

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

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

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

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

matobaa

2017/07/19 11:20

エラーメッセージにはなんて書いてありますか? tomcat が吐く catalina.out などに出ていると思います。
guest

回答1

0

ベストアンサー

context.xml の url で気になる文字列があります。

url="jdbc:postgresql://localhost:5432/DB2"

DB2 で間違いないですか?

投稿2017/07/14 07:18

A-pZ

総合スコア12011

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

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

toon

2017/07/14 08:32

DB名はDB2で間違いありません。
A-pZ

2017/07/14 08:43

他に考えられる事例としては、実行環境は接続ユーザ・パスワード・ポートが異なるなどもあります。ぱっと見たところ、他に誤りがなければ特に設定内容に間違いはありません。
toon

2017/07/14 09:05

ユーザーとパスワードは実際にPostgresに接続して確かめました。 ポートもnmap localhostで確認してopenになっていることを確かめました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問