2012-06-26 2 views
0

Приветствую всех и благодарим за проверку моего сообщения. Я пытаюсь подключить свой сервлет к моей базе данных с помощью драйвера Mysql jdbc. Мой .jar от драйвера mysql jdbc находится в папке apache-tomcat-7.0.27/lib. MyServlet - это сервлет, и у меня есть SQL.java в той же папке, где должно быть установлено соединение.Невозможность подключения к базе данных (ошибка: `com.mysql.jdbc.Driver`)

private static Connection conn = null; 
Class.forName(driver).newInstance(); 
conn = (Connection) 
DriverManager.getConnection("jdbc:mysql://"+"localhost:3306"+"/"+ "ergasia3", "root" , "spiros");` 

К сожалению, когда я пытаюсь сделать это, у меня есть ошибка:com.mysql.jdbc.Driver.

Вот мой web.xml

<web-app> 
    <display-name>WebApp01</display-name> 
    <welcome-file-list> 
    <welcome-file>index.jsp</welcome-file> 
    </welcome-file-list> 
    <servlet> 
    <servlet-name>MyServlet</servlet-name> 
    <servlet-class>com.srk.pkg.MyServlet</servlet-class> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>MyServlet</servlet-name> 
    <url-pattern>/MyServlet.do</url-pattern> 
    </servlet-mapping> 
    <resource-ref> 
    <description>database</description> 
    <res-ref-name>jdbc/ergasia3</res-ref-name> 
    <res-type>javax.sql.DataSource</res-type> 
    <res-auth>Container</res-auth> 
    </resource-ref> 
</web-app> 

и теперь мой context.xml

<Context path="/ergasia3" docBase="ergasia3" 
debug="5" reloadable="true" crossContext="true"> 
    <Resource name="jdbc/ergasia3" auth="Container" 
    type="javax.sql.DataSource" 
    user="root" password="spiros" 
    driverClassName="com.mysql.jdbc.Driver" 
    url="jdbc:mysql://localhost:3306/ergasia3" 
    maxActive="15" maxIdle="3" /> 
</Context> 

ответ

1

Не помещайте .jar в Lib Tomcat в, поместите его в свои приложения Lib папки. Все внешние .jars должны храниться здесь.

+0

Вы могли бы быть более конкретным, пожалуйста, или не могли бы вы дать мне путь? – Romanos

+0

YourProjectDir> WebContent> WEB_INF> lib .. затем обновите проект. если он не работает, щелкните правой кнопкой мыши свой проект (в среде Eclipse IDE) и щелкните свойства. Затем щелкните вкладку «JavaBuildPath» и выберите вкладку «Библиотеки» в AddJARs (добавьте сюда соединитель MySQL). –

+0

вы можете проверить это [ссылка] (http://stackoverflow.com/questions/11193311/jdbc-error-when-connecting-tomcat-5-5- to-sql-2008-what-am-i-missing) тот же тип проблемы и ответ. –

0

Поместите банку под WEB-INF \ Lib

+0

Большое спасибо за ваш вклад sir/madam – Romanos

0

Поскольку у вас есть информация подключения к базе данных уже определена как ресурс в коте вместо того, чтобы использовать менеджер драйверов, чтобы создать соединение было бы проще использовать ресурс аналогичным к следующему

// context used to create a datasource 
Context dataSourceContext = new InitialContext(); 
// when you need a connection to the database 
DataSource ds = (DataSource)dataSourceContext.lookup("java:comp/env/jdbc/ergasia3"); 
Connection conn = ds.getConnection(); 

Кроме того, как ранее высказанной Soumyadip, вы должны добавлять драйвер JDBC MySQL в качестве внешнего баночку к веб-приложения, а не в Lib каталога TOMCAT, поскольку приложение будет искать в своей Lib directory, а не каталог tomcat lib для jar, содержащий драйвер mysql jdbc. Как вы это делаете, зависит от того, какую IDE вы используете для разработки веб-приложения.

+0

Благодаря вашему ответу я смог понять мою ошибку и встретиться с другими, что произошло, большое спасибо – Romanos

Смежные вопросы