Форум программистов, компьютерный форум, киберфорум
Java EE (J2EE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 05.09.2016
Сообщений: 11

Ошибки при подключении JDBC БД через JNDI

09.03.2017, 15:29. Показов 817. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Помогите разобраться в чем у меня ошибка при подключении в БД через JNDI.
Делаю все по инструкциям но почему то постоянно вылетают ошибки или нул поинтер или нейминг. Ниже представлен код тестового примера.
Сам Dao класс:
Кликните здесь для просмотра всего текста
Java
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
import javax.sql.DataSource;
import javax.naming.*;
import javax.naming.NamingException;
import java.sql.*;
import java.util.Map;
 
 
public class Dao {
    Context ic=null;
    DataSource ds=null;
    Map result;
 
    public Dao () {
        try {
            ic = new InitialContext();
            InitialContext envContext  = (InitialContext) ic.lookup("java:/comp/env");
            DataSource ds = (DataSource)envContext.lookup("jdbc/CustomerDB");
        } catch (NamingException e) {}
 
 
    }
 
    public Map DaoGet () {
        Connection conn=null;
        Statement st=null;
        ResultSet rs=null;
 
        try {
            conn= ds.getConnection() ;
            try {
                st=conn.createStatement();
                try {
                    rs=st.executeQuery("SELECT * FROM customerdb.us_states;");
                    while (rs.next()) {
                        result.put(rs.getInt("US_STATE_ID"),rs.getString("US_STATE_NM"));
                    }
                }catch (SQLException e) {}
            } catch (SQLException e) {}
        } catch (SQLException e) {}
 
        return result;
    }
}


И сервлет.
Кликните здесь для просмотра всего текста
Java
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
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Map;
 
 
@WebServlet(name = "Servlet", urlPatterns = "/Servlet")
public class Servlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
 
    }
 
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        Map<?,?> result = new Dao().DaoGet();
        PrintWriter out=response.getWriter();
        out.println("<table>");
        for (Map.Entry<?,?> ent:result.entrySet()) {
            out.println("<tr>");
            out.println("<td>"+ent.getKey().toString()+"</td>"+"<td>"+ent.getValue().toString()+"</td>");
            out.println("</tr>");
        }
        out.println("</table>");
 
    }
}

И код из файла context.xml
Кликните здесь для просмотра всего текста
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
?xml version="1.0" encoding="ISO-8859-1"?>
 
<Resource
        name="jdbc/__CustomerDBPool"
        auth="Container"
        type="javax.sql.DataSource"
        maxActive="100"
        maxIdle="30"
        maxWait="10000"
        driverClassName="com.mysql.jdbc.Driver"
        url="jdbc:mysql://localhost:3306/customerdb"
        username="root"
        password="root"
/>
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.03.2017, 15:29
Ответы с готовыми решениями:

Ошибки при подключении библиотеки к сервлету
Я недавно начал изучать Java EE и столкнулся с проблемой. Для вычисления определителя матрицы я решил использовать библиотеку Apache. При...

JNDI и DataSource (J2EE + InterBase6 + мост JDBC-ODBC)
Ситуация следующая: 1)Есть десктопное приложение, написанное в J2SE1.4.1 с использованием библиотек J2EE для доступа к источнику данных,...

Ошибка при подключении к базе данных средствами jdbc
import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class Main { static final...

6
0 / 0 / 0
Регистрация: 05.09.2016
Сообщений: 11
26.03.2017, 13:56  [ТС]
Может всетаки кто нибуть обьяснит мне почему код подключения к бд который встречается практически везде у меня на отрез отказывается работать?
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
26.03.2017, 13:59
Цитата Сообщение от WadK Посмотреть сообщение
Может всетаки кто нибуть обьяснит мне почему код подключения к бд который встречается практически везде у меня на отрез отказывается работать?
может ошибки покажите?
0
0 / 0 / 0
Регистрация: 05.09.2016
Сообщений: 11
26.03.2017, 14:18  [ТС]
Прошу, стектрейс.
Кликните здесь для просмотра всего текста
Code
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
SEVERE [http-nio-8080-exec-9] org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [Servlet] in context with path [] threw exception
 java.lang.NullPointerException
    at Dao.DaoGet(Dao.java:39)
    at Servlet.doGet(Servlet.java:21)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:783)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:789)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1455)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:745)
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
26.03.2017, 14:23
Цитата Сообщение от WadK Посмотреть сообщение
at Dao.DaoGet(Dao.java:39)
что в этой строке?

Цитата Сообщение от WadK Посмотреть сообщение
}catch (SQLException e) {}
* * * * * * } catch (SQLException e) {}
* * * * } catch (SQLException e) {}
тут вы скрываете исключения. Так делать нельзя. Пишите исключения в лог.

Скорее всего ваша проблема тут
Цитата Сообщение от WadK Посмотреть сообщение
} catch (NamingException e) {}
Но исключение вы опять скрыли поэтому теперь незнаете что происходит.
1
Эксперт Java
378 / 370 / 114
Регистрация: 30.06.2010
Сообщений: 1,445
26.03.2017, 19:09
Цитата Сообщение от WadK Посмотреть сообщение
Java
1
Map result;
кто инициализировать будет?
1
0 / 0 / 0
Регистрация: 05.09.2016
Сообщений: 11
28.03.2017, 12:37  [ТС]
Я идиот.
Только что понял в чем ошибся. Вместо того чтоб проиницыализировать переменую объявленную в класе я в конструкторе создал локальную переменую с тем же именем.
Всем спасибо за потраченое время.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.03.2017, 12:37
Помогаю со студенческими работами здесь

Ошибки при подключении к бд
Пытаюсь подключиться к бд, чтобы отправить ей данные выскакиевает такая ошибка: Deprecated: mysql_connect(): The mysql extension is...

Ошибки при подключении к FTP
В общем суть такова. Всё работает отлично, до момента, когда или пропадёт соединение или интернет или ввести логин не правильно или ещё...

Ошибки при подключении AFNetworking
При подключении к проекту библиотеки AFNetworking появляются ошибки при билде проекта. При этом ошибки высвечивает в самой библиотеке....

Ошибки при подключении картридера
При подключении старого картридера начали появлятся такие ошибки, думал дело в нем, купил новый универсальный карт-ридер, при подключении...

Ошибки при подключении заголовков
При подключении заголовков выдает ошибки Unable to open include file 'stdio.h' и для других заголовков также. Помогите пожалуйста...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru