Я разрабатываю простой проект. В этом проекте я использую n страниц jsp и сервлетов для взаимодействия с базой данных. Как мне написать строку подключения. В настоящее время я написал строку подключения для каждой страницы jsp (я знал, что это не лучшая практика). Теперь мой вопрос: как мне управлять строкой подключения? Я должен писать только на одной общей странице, тогда я должен использовать это. Как я могу реализовать это?? Может ли кто-нибудь помочь мне в этом??
Нужно предложение о том, как работать с опросом соединения в java (jsp & servlet)
13.04.2011
Ответы:
1
Вам необходимо создать источник данных JNDI в контейнере сервлетов. По умолчанию это уже источник данных с пулом соединений. Как это сделать, зависит от производителя/версии контейнера сервлетов. Итак, вот только пример, ориентированный на Tomcat:
Сначала создайте файл /META-INF/context.xml
(для ясности, META-INF находится на том же уровне, что и WEB-INF веб-приложения) и заполните его следующим (при условии, что это база данных MySQL).
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Resource
name="jdbc/mydatabase" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
url="jdbc:mysql://localhost:3306/mydatabase"
driverClassName="com.mysql.jdbc.Driver"
username="java" password="pass"
/>
</Context>
Затем зарегистрируйте его в файле /WEB-INF/web.xml
вашего веб-приложения.
<resource-env-ref>
<resource-env-ref-name>jdbc/mydatabase</resource-env-ref-name>
<resource-env-ref-type>javax.sql.DataSource</resource-env-ref-type>
</resource-env-ref>
Получите это следующим образом в своем классе менеджера БД / DAO.
try {
this.dataSource = (DataSource) new InitialContext().lookup("java:comp/env/jdbc/mydatabase");
} catch (NamingException e) {
throw new RuntimeException("DataSource is missing in JNDI.", e);
}
Наконец, получите соединение с ним внутри метода DAO, где вы выполняете запрос.
connection = dataSource.getConnection();
Не забудьте close()
положить его внутрь finally
try
, где вы его берете.
Смотрите также:
13.04.2011
Новые материалы
Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..
Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом
Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..
Советы по коду Laravel #2
1-) Найти
// You can specify the columns you need
// in when you use the find method on a model
User::find(‘id’, [‘email’,’name’]);
// You can increment or decrement
// a field in..
Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv)
Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..
3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации —
2. Используя квадратичную формулу —
3. Заполнив квадрат —
Давайте поймем это, решив это простое уравнение:
Мы пытаемся сделать LHS,..
Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..
Демистификация рекурсии
КОДЕКС
Демистификация рекурсии
Упрощенная концепция ошеломляющей
О чем весь этот шум?
Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..
META-INF/context.xml
является неправильным или отсутствует, илиweb.xml
является неправильным) или что имя JNDI в коде Java неверно. Какую версию Tomcat вы используете? После какой версии сервлета объявлен файл web.xml? 13.04.2011