我是Docker的新手。我需要连接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错误。 感谢您宝贵的时间浪费在我的问题上。