2013-05-28 6 views
4

다음 코드에서 예외가 있습니다 ... 간단한 서블릿 프로젝트를 빌드하려고하는데 다음 예외가 발생했습니다 : java.net.UnknownHostException ...
나는 mysql jar 파일이 추가되었습니다. 게다가 ... this page에 명시된 바와 같이 외부 jar 파일과 WEB-INF의 lib 디렉토리에 추가했습니다. 그러나 이제는 java.net.UnknownHostException을 던지고 있습니다.데이터베이스 연결 - java.net.UnknownHostException

이것은 코드 및 예외 스택 추적입니다.

package com.servlet.Mysql; 

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.SQLException; 


public class Connection_Class { 
String driver_ClassName="com.mysql.jdbc.Driver"; 
String URL_connection="jdbc:mysql://localhost3306/vendor"; 
String user="root"; 
String password="lifesuckzz"; 
private static Connection_Class connectionclass=null; 

private Connection_Class(){ 
    try{ 
     Class.forName(driver_ClassName); 

    }catch(ClassNotFoundException e){ 
     e.printStackTrace(); 
    } 
} 

public Connection getConnection() throws SQLException{ 
    Connection con=null; 
    con=DriverManager.getConnection(URL_connection,user,password); 
    return con; 
} 

public static Connection_Class getInstance(){ 
    if(connectionclass==null){ 
     connectionclass=new Connection_Class(); 
    } 
    return connectionclass;}} 

스택 추적 :

com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception: 

** BEGIN NESTED EXCEPTION ** 

java.net.UnknownHostException 
MESSAGE: localhost3306 

STACKTRACE: 

java.net.UnknownHostException: localhost3306 
at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) 
at java.net.InetAddress$1.lookupAllHostAddr(Unknown Source) 
at java.net.InetAddress.getAddressesFromNameService(Unknown Source) 
at java.net.InetAddress.getAllByName0(Unknown Source) 
at java.net.InetAddress.getAllByName(Unknown Source) 
at java.net.InetAddress.getAllByName(Unknown Source) 
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:133) 
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:280) 
at com.mysql.jdbc.Connection.createNewIO(Connection.java:1699) 
at com.mysql.jdbc.Connection.<init>(Connection.java:405) 
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:268) 
at java.sql.DriverManager.getConnection(Unknown Source) 
at java.sql.DriverManager.getConnection(Unknown Source) 
at com.servlet.Mysql.Connection_Class.getConnection(Connection_Class.java:25) 
at com.servlet.Mysql.LoginServlet.doGet(LoginServlet.java:49) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) 
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) 
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004) 
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) 
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
at java.lang.Thread.run(Unknown Source) 


** END NESTED EXCEPTION ** 


at com.mysql.jdbc.Connection.createNewIO(Connection.java:1764) 
at com.mysql.jdbc.Connection.<init>(Connection.java:405) 
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:268) 
at java.sql.DriverManager.getConnection(Unknown Source) 
at java.sql.DriverManager.getConnection(Unknown Source) 
at com.servlet.Mysql.Connection_Class.getConnection(Connection_Class.java:25) 
at com.servlet.Mysql.LoginServlet.doGet(LoginServlet.java:49) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) 
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) 
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004) 
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) 
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
at java.lang.Thread.run(Unknown Source) 

제가 아파치 웹 컨테이너와 이클립스를 사용하고, java.lang.ClassNotFoundException in spite of using CLASSPATH environment variable 내가 여기 내 경우에 가까이 않네 생각이 게시물 ..... 저를 도와주세요, 여러분 모두 감사합니다 미리 ...

답변

4

당신은

String URL_connection="jdbc:mysql://localhost:3306/vendor"; 
+0

이 친구를 어떻게 몇 번 ... 우리는 .... 모두 동일합니다 당신은 대답 경우를 찬성 투표 할 수 있습니다 연결 URL이 있어야 할 호스트 이름과 포트 번호 ... 사이의 콜론을 놓친 너를 도왔다. .. – aProgrammer

3

연결 URL은 jdbc:mysql://localhost:3306/vendor이어야한다고 생각합니다. localhost은 서버 이름이고 으로 구분 된 포트 이름은 3306입니다.

String URL_connection="jdbc:mysql://localhost:3306/vendor"; 

docs을 통해 이동하십시오.

는 는

MySQL의 커넥터를위한 JDBC URL 형식/J 대괄호의 항목으로, 다음과 같다 ([,])는 선택되고 : 호스트 이름이 지정되지

jdbc:mysql://[host][,failoverhost...][:port]/[database] » 
[?propertyName1][=propertyValue1][&propertyName2][=propertyValue2]... 

경우, 기본값 ~ 127.0.0.1. 포트를 지정하지 않으면 기본값은 3306입니다.

관련 문제