Netbeanse Tomcat From Servlet -> Mysql ( Linux )

Тема в разделе "Java", создана пользователем serg777, 31 окт 2013.

  1. serg777

    serg777 New Member

    Регистрация:
    28 окт 2013
    Сообщения:
    4
    Симпатии:
    0
    Не получается доступ к mysql.
    Пробую все в NetBeans7.4 + jdk1.7.0_45( oracle ) + tomcat 7.0.41 в Linux.

    Делаю на базе примера: http://www.javaprobooks.ru/java-%D0%BF%D1%...0%B5%D1%82.html

    Проблема - не подключается из кода к 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 оно вроде как не надо )

    Помогите, пожалуйста.
     
  2. serg777

    serg777 New Member

    Регистрация:
    28 окт 2013
    Сообщения:
    4
    Симпатии:
    0
    Помогла эта рекомендация:
    http://stackoverflow.com/questions/1585811...sql-jdbc-driver
    ,а именно это место:
    "
    What did you put exactly in lib, jre/lib or jre/lib/ext? Was it the jar mysql-connector-java-5.1.5-bin.jar or something else (like a directory)?

    By the way, I wouldn't put it in lib, jre/lib or jre/lib/ext, there are other ways to add a jar to the classpath. You can do that by adding it explicitly the CLASSPATH environment variable. Or you can use the -cp option of java. But this is another story.

    "
    Мои действия:
    1. скопировал
    cp /home/ksr/bin/netbeans-7.4/ide/modules/ext/mysql-connector-java-5.1.23-bin.jar /usr/lib/jdk_Oracle/jre/lib/ext
    2. закрыл NetBeans ( когда он закрывается - гасится tomcat )
    3. запустил NetBeans
    4. Для моего проекта сдала: "Clean and Buikd" и затем "Run"
    После этого получил свой первый ответ на запрос от mysql, вызванный из servlet:
    ID Сообщение
    1 amit
    2 kumar
    3 singh
    4 raghuwanshi
    5 vineet
    6 sandeep
    7 suman
    8 vineet

    При "Clean and Build" по-прежнему получаю WARNING-и такие
    ========Начало Один из 4-х WARING-ов=======
    /home/ksr/NetBeansProjects/JSPMultipleForms/src/java/DataServlet.java:60: warning: [unchecked] unchecked call to add(E) as a member of the raw type List
    dataList.add(rs.getInt("id"));
    where E is a type-variable:
    E extends Object declared in interface List
    ============Конец. Один из 4-х WARNING-ов===

    По всей видимости они относятся к этому куску кода
    ====== начало куска кода====
    // Сохраняем всё в список
    dataList.add(rs.getInt("id"));
    dataList.add(rs.getString("message"));
    ====== конец куска кода=====

    Может кто растолковать - что не так и на что изменить, что-бы неыбло warning ?
     

Поделиться этой страницей