実現したいこと
AWS上でJava x MySQLのwebアプリを実現したい
前提
https://qiita.com/AIM-Z/items/4848e061f21eacf0e815
を参考にAWSのIAM,EC2,RDSを作成しましたが、
Java x MySQLの部分が失敗します。
発生している問題・エラーメッセージ
:①アプリケーションサーバー ⇨ AWS EC2にtomcat9.0(eclipseとver一致させている)をインストール、ローカルのeclipseで作成したWARファイルを搭載。
:②データベース⇨ ①と同じEC2上にmysqlをインストール。DBの作成まで完了。
①にて作成したjavaのアプリは動作するが、DBアクセスの部分ができていない。
java.lang.NullPointerException dao.AddressDAO.findAll(AddressDAO.java:58) model.GetAdressListLogic.execute(GetAdressListLogic.java:10) servret.AddressBookIndex.doGet(AddressBookIndex.java:33) javax.servlet.http.HttpServlet.service(HttpServlet.java:529) javax.servlet.http.HttpServlet.service(HttpServlet.java:623) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
該当のソースコード
//ここのURLを、AWSのDBにしたい。
private final String JDBC_URL = "jdbc:mysql://localhost:3306/Attendance?characterEncoding=UTF8&serverTimezone=Asia/Tokyo";
private final String DB_USER = "AWSのDBユーザー名";
private final String DB_PASS = "AWSのDBパスワード";
// ログインアカウントを探す public User findByLogin(LoginUser loginUser) { User user = new User(); // データベース接続に使用する情報 try (Connection con = DriverManager.getConnection(JDBC_URL, DB_USER, DB_PASS)) {
(以下処理)
試したこと
・jdbcUrlの文字列。
localhostから、RDSのエンドポイント名:ポート/DB名に変更。
RDSのエンドポイント名:ポート/DB名?characterEncoding=UTF-8&serverTimezone=JSTに変更。
・cllasspathコマンドで ./:./mysql-connector-java-8.0.26.jarを追加
・dateコマンドでJSTが表示されるように設定
・/tomcat/9/libにmysql-connector-java-8.0.26.jarを追加
・RDS側のtime_zoneをAsia/Tokyoに設定
補足情報(FW/ツールのバージョンなど)
・mysql Ver 5.7.42(Amazon RDS)
・Apache Tomcat/9.0.75
・openjdk version "11" 2018-09-25
OpenJDK Runtime Environment 18.9 (build 11+28)
OpenJDK 64-Bit Server VM 18.9 (build 11+28, mixed mode)
・開放ポート:80,443,22, 8080(tomcat用), 3306(mysql用)
回答2件
あなたの回答
tips
プレビュー