进程(AbstractProtocol.java:637) 位于org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) 位于java.util.con
进程(AbstractProtocol.java:637) 位于org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) 位于java.util.concurrent.ThreadPoolExecutor.runWorker(未知源) 位于java.util.concurrent.ThreadPoolExecutor$Worker.run(未知源) 位于org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 位于java.lang.Thread.run(未知源)进程(AbstractProtocol.java:637) 位于org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) 位于java.util.con,java,mysql,servlets,amazon-ec2,Java,Mysql,Servlets,Amazon Ec2,进程(AbstractProtocol.java:637) 位于org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) 位于java.util.concurrent.ThreadPoolExecutor.runWorker(未知源) 位于java.util.concurrent.ThreadPoolExecutor$Worker.run(未知源) 位于org.apache.tomcat.ut
修复了它。当我运行代码时,发现有一个终端实例在后台运行。一旦终端被终止,它就会像符咒一样运行。
@WebServlet("/MyServletDB")
public class MyServletDB extends HttpServlet {
private static final long serialVersionUID = 1L;
static String url = "jdbc:mysql://ec2-3-189-8-169.us-east-2.compute.amazonaws.com:3306/myDB";
static String user = "user1";
static String password = "pass123";
static Connection connection = null;
public MyServletDB() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
response.getWriter().println("-------- MySQL JDBC Connection Testing ------------<br>");
try {
Class.forName("com.mysql.cj.jdbc.Driver"); //old:com.mysql.jdbc.Driver
} catch (ClassNotFoundException e) {
System.out.println("Where is your MySQL JDBC Driver?");
e.printStackTrace();
return;
}
response.getWriter().println("MySQL JDBC Driver Registered!<br>");
connection = null;
try {
connection = DriverManager.getConnection(url, user, password);
} catch (SQLException e) {
System.out.println("Connection Failed! Check output console");
e.printStackTrace();
return;
}
if (connection != null) {
response.getWriter().println("You made it, take control your database now!<br>");
} else {
System.out.println("Failed to make connection!");
}
try {
String selectSQL = "SELECT * FROM myTable WHERE MYUSER LIKE ?";
String theUserName = "user%";
response.getWriter().println(selectSQL + "<br>");
response.getWriter().println("------------------------------------------<br>");
PreparedStatement preparedStatement = connection.prepareStatement(selectSQL);
preparedStatement.setString(1, theUserName);
ResultSet rs = preparedStatement.executeQuery();
while (rs.next()) {
String id = rs.getString("ID");
String username = rs.getString("MYUSER");
String email = rs.getString("EMAIL");
String phone = rs.getString("PHONE");
response.getWriter().append("USER ID: " + id + ", ");
response.getWriter().append("USER NAME: " + username + ", ");
response.getWriter().append("USER EMAIL: " + email + ", ");
response.getWriter().append("USER PHONE: " + phone + "<br>");
}
} catch (SQLException e) {
e.printStackTrace();
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
java.sql.SQLException: Access denied for user 'user1'@'ip98-179-22-56.om.om.cox.net' (using password: YES)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:827)
at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:447)
at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:237)
at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:199)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at MyServletDB.doGet(MyServletDB.java:39)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:494)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:1025)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1136)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)