S
serg777
Не получается доступ к mysql.
Пробую все в NetBeans7.4 + jdk1.7.0_45( oracle ) + tomcat 7.0.41 в Linux.
Делаю на базе примера:
Проблема - не подключается из кода к mysql.
В NetBeans, в своем проекте, на вкладке "Services" | "Databases" нормально создал JDBC подключение как root без пароля к тестовой базе testbase.
При выполнении кода сервлета с трудом увидел такую ошибку:
"java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/testbase"
Сам код сервлета такой:
=======Код сервлета НАЧАЛО=
import java.io.*;
import java.util.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
// import com.mysql.jdbc.*;
/**
*
* @author ksr
*/
public class DataServlet extends HttpServlet {
private ServletConfig config;
// Это наша JSP страница
String page = "DataPage.jsp";
public void init(ServletConfig config)
throws ServletException {
this.config = config;
}
// ---------------The Start
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out = response.getWriter();
// Устанавливаем соединение с БД
String connectionURL = "jdbc:mysql://localhost:3306/testbase";
Connection connection = null;
ResultSet rs;
response.setContentType("text/html");
List dataList = new ArrayList();
try {
// Загружаем драйвер БД
// Class.forName("com.mysql.jdbc.Driver");
// Подключаемся к БД
connection = DriverManager.getConnection(connectionURL,"root","");
// Выбираем данные из БД
String sql = "select * from message";
Statement s = connection.createStatement();
s.executeQuery(sql);
rs = s.getResultSet();
while (rs.next()) {
// Сохраняем всё в список
dataList.add(rs.getInt("id"));
dataList.add(rs.getString("message"));
}
rs.close();
s.close();
} catch (SQLException e) {
dataList.add("ERROR0");
dataList.add(e);
System.out.println("Exception is ;" + e);
}
// dataList.add("00000");
// dataList.add("message111113333333333311");
request.setAttribute("data", dataList);
// Переходим на JSP страницу
RequestDispatcher dispatcher = request.getRequestDispatcher(page);
if (dispatcher != null) {
dispatcher.forward(request, response);
}
// ---------------The End
}
}
=======Код сервлета КОНЕЦ==
+ Строку
Class.forName("com.mysql.jdbc.Driver");
закоментил - ругалось на нее. В форумах прочитал рекомендацию ее убрать ( для новых jdbc оно вроде как не надо )
Помогите, пожалуйста.
Пробую все в NetBeans7.4 + jdk1.7.0_45( oracle ) + tomcat 7.0.41 в Linux.
Делаю на базе примера:
Ссылка скрыта от гостей
Проблема - не подключается из кода к mysql.
В NetBeans, в своем проекте, на вкладке "Services" | "Databases" нормально создал JDBC подключение как root без пароля к тестовой базе testbase.
При выполнении кода сервлета с трудом увидел такую ошибку:
"java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/testbase"
Сам код сервлета такой:
=======Код сервлета НАЧАЛО=
import java.io.*;
import java.util.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
// import com.mysql.jdbc.*;
/**
*
* @author ksr
*/
public class DataServlet extends HttpServlet {
private ServletConfig config;
// Это наша JSP страница
String page = "DataPage.jsp";
public void init(ServletConfig config)
throws ServletException {
this.config = config;
}
// ---------------The Start
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out = response.getWriter();
// Устанавливаем соединение с БД
String connectionURL = "jdbc:mysql://localhost:3306/testbase";
Connection connection = null;
ResultSet rs;
response.setContentType("text/html");
List dataList = new ArrayList();
try {
// Загружаем драйвер БД
// Class.forName("com.mysql.jdbc.Driver");
// Подключаемся к БД
connection = DriverManager.getConnection(connectionURL,"root","");
// Выбираем данные из БД
String sql = "select * from message";
Statement s = connection.createStatement();
s.executeQuery(sql);
rs = s.getResultSet();
while (rs.next()) {
// Сохраняем всё в список
dataList.add(rs.getInt("id"));
dataList.add(rs.getString("message"));
}
rs.close();
s.close();
} catch (SQLException e) {
dataList.add("ERROR0");
dataList.add(e);
System.out.println("Exception is ;" + e);
}
// dataList.add("00000");
// dataList.add("message111113333333333311");
request.setAttribute("data", dataList);
// Переходим на JSP страницу
RequestDispatcher dispatcher = request.getRequestDispatcher(page);
if (dispatcher != null) {
dispatcher.forward(request, response);
}
// ---------------The End
}
}
=======Код сервлета КОНЕЦ==
+ Строку
Class.forName("com.mysql.jdbc.Driver");
закоментил - ругалось на нее. В форумах прочитал рекомендацию ее убрать ( для новых jdbc оно вроде как не надо )
Помогите, пожалуйста.