Conectar MySQL + TomCat 7.0

7 respostas
D

Primeiramente quando subo o Tom Cat tomo o seguinte erro:

13/08/2012 21:09:59 org.apache.catalina.realm.UserDatabaseRealm startInternal

GRAVE: Exception looking up UserDatabase under key UserDatabase

javax.naming.NameNotFoundException: Name UserDatabase is not bound in this Context

at org.apache.naming.NamingContext.lookup(NamingContext.java:820)

at org.apache.naming.NamingContext.lookup(NamingContext.java:168)

at org.apache.catalina.realm.UserDatabaseRealm.startInternal(UserDatabaseRealm.java:255)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

at org.apache.catalina.realm.CombinedRealm.startInternal(CombinedRealm.java:201)

at org.apache.catalina.realm.LockOutRealm.startInternal(LockOutRealm.java:120)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1114)

at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:302)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:732)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

at org.apache.catalina.startup.Catalina.start(Catalina.java:645)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:597)

at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:322)

at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:450)

13/08/2012 21:09:59 org.apache.catalina.realm.CombinedRealm startInternal

GRAVE: Failed to start org.apache.catalina.realm.UserDatabaseRealm/1.0 realm

org.apache.catalina.LifecycleException: Failed to start component [Realm[UserDatabaseRealm]]

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)

at org.apache.catalina.realm.CombinedRealm.startInternal(CombinedRealm.java:201)

at org.apache.catalina.realm.LockOutRealm.startInternal(LockOutRealm.java:120)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1114)

at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:302)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:732)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

at org.apache.catalina.startup.Catalina.start(Catalina.java:645)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:597)

at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:322)

at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:450)

Caused by: org.apache.catalina.LifecycleException: No UserDatabase component found under key UserDatabase

at org.apache.catalina.realm.UserDatabaseRealm.startInternal(UserDatabaseRealm.java:264)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

 17 more

Mas o sistema sobe e da para usar normalmente,

Porem, quando necessario salvar algo no banco tenho a chamada do seguinte metodo:

public class ConnectionFactory {

public static Connection getConnection() {
      
    Connection con = null;  
    
    try {  
    	[color=red]return DriverManager.getConnection("jdbc:mysql://localhost:8080/fj21", "root", "senha");[/color]
    } catch (Exception e) {  
        System.out.print("\nNão foi possível estabelecer conexão com a base de dados.\n");  
        e.printStackTrace();  
        return null;  
    }  
}

}

Na linha do DriverMenanger.getConnection, debugando percebi que os parâmetros são guardados em variaveis com nomes do tipo arg0, arg1 e arg2, porem, no método getConnection() ele usa os parametros como:

public static Connection getConnection(String url,
String user, String password)

portanto quando vai usa-las estão com o valor null.

Alguem poderia me ajudar???

7 Respostas

romarcio

Nunca vi esse erro, mas tem uma coisa errada na URL:

return DriverManager.getConnection("jdbc:mysql://localhost:8080/fj21", "root", "senha"); localhost:8080 ???
O Mysql usa a porta 3306

return DriverManager.getConnection("jdbc:mysql://localhost:3306/fj21", "root", "senha");
D

Vlw a ajuda… mas continua os mesmos problemas…

J

Quanto ao seu banco de dados a senha dele seria esta string “senha”?

Você consegue acessar o seu banco pelo prompt normalmente ?

D

referente ao primeiro erro que estava dando na hora de subir o tomcat, consegui arrumar: Problema de permisão na pasta, entao, criei o tomcat no desktop.

João, sim, minha senha de conexão é “senha”, e sim, consigo acessar do console mysql.

J

bom vamos tentar todas alternativas…

o jar está no projeto?
no build path ?

Matheus_Paiva

Adcionou a biblioteca "Driver jdbc do mysql " ?

Matheus_Paiva

Tu utiliza algum framework ?

Criado 13 de agosto de 2012
Ultima resposta 14 de ago. de 2012
Respostas 7
Participantes 4