Estou tentando conectar minha aplicação com o banco My SQL, mas…
Erro:
javax.servlet.ServletException: Name jdbc is not bound in this Context
O nome do meu banco de dados chama-se “strutsdemo”
Abaixo minha classe e configurações para efetuar a conexão
desde ja agradeço quem puder me ajudar!!
Rodrigo Marini.
Classe de conexão com banco de dados:
[code]package com.myapp.struts;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.LinkedList;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
public class AdminUsers {
protected static DataSource dataSource;
public AdminUsers() throws Exception {
if (dataSource == null) {
try {
InitialContext ic = new InitialContext();
// se for tomcat ("java:comp/env/jdbc/StrutsDemoDS")mysql
dataSource = (DataSource) ic.lookup("java:comp/env/jdbc/StrutsDemoDS");
// no JBoss faça
//dataSource = (DataSource) ic.lookup("java:jdbc/StrutsDemoDS");
} catch (NamingException ex) {
System.out.println(ex.getMessage());
throw ex;
}
}
}
protected Connection getConnection() throws SQLException {
Connection conn = null;
try {
conn = dataSource.getConnection();
}
catch (SQLException e) {
throw e;
}
return conn;
}
protected void closeConnection(
Connection conn,
PreparedStatement stmt,
ResultSet rs) {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
}
}
if (stmt != null) {
try {
stmt.close();
} catch (SQLException e) {
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
}
}
}
}
[/code]No meu ODBC do windows não configurei nada!
Minha configuração no TOMCAT foi feita no arquivo:
C:\Arquivos de programas\Apache Software Foundation\Tomcat 5.0\conf\Catalina\localhost
onde preferi criar um arquivo chamado: strutsdemo.xml do que alterar o meu Server.xml
me disseram que fazer isso seria o mais correto(não sei se esta certo)…
Arquivo strutsdemo.xml
<DefaultContext>
<Resource name="jdbc/StrutsDemoDS" auth="Container" type="javax.sql.DataSource" scope="Shareable"/>
<ResourceParams name="jdbc/StrutsDemoDS">
<parameter><name>factory</name><value>org.apache.commons.dbcp.BasicDataSourceFactory</value></parameter>
<parameter><name>driverClassName</name><value>com.mysql.jdbc.Driver</value></parameter>
<parameter><name>url</name><value>jdbc:mysql://localhost/strutsdemo</value></parameter>
<parameter><name>username</name><value>root</value></parameter>
<parameter><name>password</name><value>root</value></parameter>
<parameter><name>maxActive</name><value>20</value></parameter>
<parameter><name>maxIdle</name><value>10</value></parameter>
<parameter><name>maxWait</name><value>100</value></parameter>
</ResourceParams>
</DefaultContext>
O Connector usado é mysql-connector-java-3.0.17-ga
eu coloquei o arquivo mysql-connector-java-3.0.17-ga-bin.jar no diretorio
C:\Meus Projetos\Net Beans\cadastroDataSource\build\web\WEB-INF\lib da minha aplicação
(mesmo onde se encontra o struts.jar)
A versão do meu My SQL é 5.0