Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / JDBC+Tomcat+MySQL / 11 сообщений из 11, страница 1 из 1
08.09.2005, 15:20
    #33259055
Denis555
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JDBC+Tomcat+MySQL
Ребята , поможите начинающему вскарабкаться на Эльбрус!
Необходимо посмотреть работу некоего сервлета, использующего JDBC-драйвер для коннекта с MySQL. На компе: Windows XP,сервер приложений Tomcat (есть 4 и 5 версии), MySQL, j2sdk1.4.2_01, mysql-connector-java-3.1.10-bin.jar. Как чего настроить и прописать (serwer.xml, web-inf,..)? Можно ли запускать сервлет прямо из IDE IntelliJ-IDEA-4.5 (куда развернуть сервлет)? Извините за обилие вопросов, но уже голова слетает!
...
Рейтинг: 0 / 0
08.09.2005, 15:28
    #33259087
Naug
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JDBC+Tomcat+MySQL
/topic/152870


-----------------------------------------------------------------------------------------
Q)-В чём отличие (объектного) от РМДБ джойна?
A)- в том, наверное, что объекты не так охотно "сливаются", как записи ...
...
Рейтинг: 0 / 0
08.09.2005, 15:34
    #33259109
Penkov Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JDBC+Tomcat+MySQL
Denis555
> Ребята, поможите начинающему вскарабкаться на Эльбрус!
> Необходимо посмотреть работу некоего сервлета, использующего
> JDBC-драйвер для коннекта с MySQL. На компе: Windows XP,сервер
> приложений Tomcat (есть 4 и 5 версии), MySQL, j2sdk1.4.2_01,
> mysql-connector-java-3.1.10-bin.jar. Как чего настроить и прописать
> (serwer.xml, web-inf,..)? Можно ли запускать сервлет прямо из IDE
> IntelliJ-IDEA-4.5 (куда развернуть сервлет)? Извините за обилие
> вопросов, но уже голова слетает!Тема==Ответить




в лоб:
кидаешь коннектор в папку {Tomcat}/WEB_APPS/ROOT/WEB-INF/lib
сервлет в {Tomcat}/WEB_APPS/ROOT/WEB-INF/classes

прописываешь сервлет в {Tomcat}/WEB_APPS/ROOT/WEB-INF/web.xml:

<servlet>
<servlet-name>muuuu</servlet-name>
<servlet-class>...</servlet-class>
</servlet>
<servlet>
<servlet-name>muuuu</servlet-name>
<servlet-class>/muuu</servlet-class>
</servlet>

в сервлете classForName(...); и т. д. и работаешь.

чтоб запустить в идее, надо делать web модуль, в качестве контейнера
выбрать томкат.
-----------------------------------
The Bat + My Gate

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
08.09.2005, 15:34
    #33259113
Denis555
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JDBC+Tomcat+MySQL
Большое спасибо, но все же как насчет доступа к базе – сейчас для меня это главное!
...
Рейтинг: 0 / 0
08.09.2005, 15:37
    #33259117
Naug
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JDBC+Tomcat+MySQL
А что с доступом к базе? JDBC он вроде JDBC и есть... или у вас какой-то апп.сервер с пулом соидений есть?
...
Рейтинг: 0 / 0
08.09.2005, 15:39
    #33259128
Denis555
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JDBC+Tomcat+MySQL
Нет, нет. Ваше сообщение прочитал позже, чем отослал свое. Будем пробовать, Спасибо!!
...
Рейтинг: 0 / 0
08.09.2005, 15:59
    #33259214
Denis555
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JDBC+Tomcat+MySQL
Если можно, подробнее:
В сервлете Query (его имя) мы считываем параметры инициализации из файла web.xml (который будет лежать, по видимому, в {Tomcat}/WEB_APPS/ROOT/WEB-INF/web.xml). Как правильно задать там эти параметры?
...
Рейтинг: 0 / 0
08.09.2005, 16:12
    #33259273
Penkov Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JDBC+Tomcat+MySQL
Denis555
> Если можно, подробнее:
> В сервлете Query (его имя) мы считываем параметры инициализации
> из файла web.xml (который будет лежать, по видимому, в
> {Tomcat}/WEB_APPS/ROOT/WEB-INF/web.xml). Как правильно задать там
> эти параметры?Тема==Ответить




<servlet>
<servlet-name>muuuuuu</servlet-name>
<servlet-class>...</servlet-class>
<init-param>
<param-name>muuuuuuu</param-name>
<param-value>muuuuuuu</param-value>
</init-param>
</servlet>

тока причем тут параметры инициализации и базы данных?

-----------------------------------
The Bat + My Gate

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
08.09.2005, 16:23
    #33259307
Denis555
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JDBC+Tomcat+MySQL
Вот мой сервлет, который очень хочет просмотреть некую базочку:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
import javax.servlet.http.*;
import javax.servlet.*;
import java.sql.*;
import java.io.*;


/**
 * Created by IntelliJ IDEA.
 * User: Администратор
 * Date: 07.09.2005
 * Time: 10:11:34
 * To change this template use File | Settings | File Templates.
 */
public class Query extends HttpServlet
{
    // Это общее JDBC-соединение с базой данных
    Connection connection;

    public void init() throws ServletException
    {
        // Считываем параметры инициализации из файла web.inf
        ServletConfig conf=getServletConfig();
        String driverClassName=conf.getInitParameter("driverClassName");
        String url=conf.getInitParameter("url");
        String username=conf.getInitParameter("username");
        String pasword=conf.getInitParameter("password");
        //Используем эти параметры для установки соединения с бд
        //При возникновении ошибки, записываем ее и повторно генерируем исключение
        try
        {
            Class.forName(driverClassName);
            connection=DriverManager.getConnection(url,username,pasword);
        }
        catch(Exception e)
        {
            log("Невозможно создать соединения с bd",e);
            throw new ServletException("Запрос невозможно инициализировать"+e.getMessage(),e);
        }
    }

    //Закрываем соединение с бд при выгрузке сервлета
    public void destroy()
    {
        try
        {
            connection.close();
        }
        catch(SQLException e)
        {
            //Игнорируем ошибки
        }
    }
    public void doGet(HttpServletRequest request, HttpServletResponse response)
     throws IOException, ServletException
    {
        //Выводим HTML
        response.setContentType("text/html");
        //Куда его выводить
        PrintWriter out=response.getWriter();
        //Выводим заголовок документа и форму для ввода SQL-запросов
        //Когда форма отсылается - сервлет загружается повторно
        out.println("<head><title>DB Query</title>\n<body bgColor=blue text=gray>" +
                "<form><b>Query: </b><input type=text name='q'><br><input type=submit></form></body>");
        //Смотрим, была ли указана SQL-команда в этом запросе
        String query=request.getParameter("q");
        if (query!=null)
        {
        //Если была, отображаем запрос в виде заголовка страницы
            out.println("<h1>"+query+"</h1>");
        //Теперь пытаемся выполнить запрос и отображаем результаты в виде таблицы
        //Объект для выполнения запроса
            Statement statement=null;
            try
            {
                statement=connection.createStatement();
        //Используем его для выполнения заданного запроса и получаем результат
                ResultSet result=statement.executeQuery(query);
        //Запрашиваем дополнительную информацию о результатах
                ResultSetMetaData metadata=result.getMetaData();
        //Сколько полей содержится в результатах
                int cols=metadata.getColumnCount();
        //Выводим таблицу, начиная со строки заголовка, содержащей имена полей
                out.println("<table border=2><tr>");
                for (int i=0; i<cols; i++)
                    out.print("<th>"+metadata.getColumnLabel(i+1)+"</ht>");
                out.println("</tr>");
        //Выполняем цикл по всем строкам итогового набора
                while (result.next())
                {
        //Выводим значения всех полей для каждой строки
                    out.println("<tr>");
                    for (int i=0; i<cols; i++)
                        out.print("<td>"+result.getObject(i+1)+"</td>");
                    out.println("</tr>");
                }
                out.println("</table>");
            }
            catch (SQLException e)
            {
        //Если возникает ошибка (как правило SQL-ошибка) - показываем ее, чтобы user мог ее испрвить
                out.println("Ошибка SQL: "+e.getMessage());
            }
        //Чтобы не произошло, всегда закрываем объект Statement
            finally
            {
                try
                {
                    statement.close();
                }
                catch(Exception e) {}
            }
        }
        out.println("</body>");
    }
}

Начальные параметры он читает из web.xml. Значит, там они должны быть заданы. Как это сделать и куда его кинуть, чтобы приложение могло узнать, какой JDBC драйвер использовать, с какой базочкой соединиться и т.д.
Код: plaintext
1.
                    
...
Рейтинг: 0 / 0
09.09.2005, 13:13
    #33261142
Tomaso
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JDBC+Tomcat+MySQL
Server BD propisivajut v context.xml
...
Рейтинг: 0 / 0
11.09.2005, 23:38
    #33263114
botpride
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JDBC+Tomcat+MySQL
Как раз по MySQL есть пример в факе Томката:
http://jakarta.apache.org/tomcat/tomcat-5.5-doc/jndi-datasource-examples-howto.html

Читать начиная отсюда: "MySQL DBCP Example"

Сам, честно скажу, не пробовал, т.к. с MySQL не связывался. Но и Оракловые и JDBC-to-ODBC соединения юзал - работают на ура.

Единственная тонкость - начиная с 5-го томката, лушче прописывать соединения не в общем server.xml, а в той xml-ке, которую ты создаешь для своей аппликухи в conf\catalina\localhost
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / JDBC+Tomcat+MySQL / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]