Я новичок в докере.Мне нужно соединить MySQL контейнер и контейнер Tomcat.Затем выберите набор данных из таблицы MySQL.Это структура моей папки, которую я использовал.
Dockerfile
FROM tomcat:8.0.41-jre8
COPY ./webapp /usr/local/tomcat/webapps/webapp
CMD ["catalina.sh", "run"]
docker-compose.yml
version: '3'
services:
web:
build: .
ports:
- "8080:8080"
links:
- "db:custom"
db:
image: mysql/mysql-server:8.0
environment:
MYSQL_ROOT_PASSWORD: 1234
MYSQL_DATABASE: custom
ports:
- "3306:3306"
Мой образ mysql - это mysql / mysql-server: 8.0
index.java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Waliduj {
String url="jdbc:mysql://db:3306/custom?useTimezone=true&serverTimezone=UTC";
String username="root";
String password="1234";
public boolean Waliduje(String uname,String pass) {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection(url,username,password);
PreparedStatement st=con.prepareStatement("SELECT * FROM custom");
ResultSet rs = st.executeQuery();
if(rs.next()) {
return true;
}
} catch (SQLException e) {
e.printStackTrace();
} catch (ClassNotFoundException se) {
// TODO Auto-generated catch block
se.printStackTrace();
}
return false;
}
}
, а мой файл web.xml
<web-app>
</web-app>
ЯНикогда не используйте сервер Tomcat, поэтому я не знаю, где моя ошибка.Я получаю 404 ошибку.Спасибо за ваше драгоценное время, потраченное на мою проблему.