Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как хранить connection к базе....? 
:(
    Опции темы
xoma
Дата 21.2.2008, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 4.4.2007

Репутация: нет
Всего: нет



Добрый день!

Вопрос вот такой.....есть некий сервлет....который обрабатывает все запросы....так же этот сервлет создает коннект к базе.....
После этого в зависимости от запроса - сервлет перенаправляет пользователя на нужную страничку....
Вопрос...как и где правльно хранить коннект к базе - что бы он был доступен целевой страничке(ну или сервлету)....я нашел несколько вариантов...
1) в контексте всего приложения...
2) как атрибут запроса, при редиректе на целевую страничку(или сервлетик)...


PM MAIL WWW   Вверх
Llucas
Дата 21.2.2008, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


J2EE Developer
*


Профиль
Группа: Участник
Сообщений: 160
Регистрация: 29.11.2006
Где: Одесса

Репутация: нет
Всего: нет



А фреймворки не думал использовать ?
PM MAIL WWW   Вверх
xoma
Дата 21.2.2008, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 4.4.2007

Репутация: нет
Всего: нет



нельзя....по заданию можно только "чистые" сервлеты и jsp.....

p.s. а какой фреймворк подойдет???
PM MAIL WWW   Вверх
v2v
Дата 21.2.2008, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: 9
Всего: 56



не надо фреймворки.!
конекшины например можно хранить в server.xml 
Код


    <Context path="/yourapplication" docbase="/yourapplication"" reloadable="true" >
        <Resource name="jdbc/yuorDB" auth="Container" type="javax.sql.DataSource"
                    driverClassName="com.pom.bom.Driver"
                    maxActive="50" maxIdle="60" maxWait="10000"
                    username="********" password="*****" 
                    url="jdbc:somedb://somserver:port/yourDB"/>
    </Context>



--------------------
PM   Вверх
Llucas
Дата 21.2.2008, 23:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


J2EE Developer
*


Профиль
Группа: Участник
Сообщений: 160
Регистрация: 29.11.2006
Где: Одесса

Репутация: нет
Всего: нет



Цитата

не надо фреймворки.!


Это почему же не надо?
Подойдет например Spring.
PM MAIL WWW   Вверх
v2v
Дата 21.2.2008, 23:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: 9
Всего: 56



А ЗАЧЕМ?

Добавлено через 1 минуту и 5 секунд
может быть человеку надо получить доступ к базе достать оттуда одну табличку и разместить это на одной jsp  страничке. для этого надо использовать фреймворк!?


--------------------
PM   Вверх
Kangaroo
Дата 21.2.2008, 23:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


Профиль
Группа: Участник Клуба
Сообщений: 2042
Регистрация: 7.10.2006
Где: US

Репутация: 14
Всего: 104



Цитата(v2v @  21.2.2008,  22:16 Найти цитируемый пост)
может быть человеку надо получить доступ к базе достать оттуда одну табличку и разместить это на одной jsp  страничке. для этого надо использовать фреймворк!? 

+1


Llucas, фреймворки не всегда помогают  smile 


--------------------
Lost....
PM MAIL MSN   Вверх
VSergeyV
Дата 22.2.2008, 07:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 299
Регистрация: 9.5.2006
Где: Новосибирск

Репутация: нет
Всего: 3



Цитата(v2v @  21.2.2008,  16:09 Найти цитируемый пост)
конекшины например можно хранить в server.xml 

т.е. саму инфу о коннекшинах так хранить, чуть дополню - под тем как правильно хранить коннекшины автором топика видимо подразумевалось что-то типа Database Connection Pool - к примеру для Tomcat 6.0

Это сообщение отредактировал(а) VSergeyV - 22.2.2008, 07:14
PM MAIL ICQ   Вверх
xoma
Дата 22.2.2008, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 4.4.2007

Репутация: нет
Всего: нет



Собственно говоря задача вот какая.....есть (как я и писал контроллер, который все обрабатывет)......и есть странички....так вот....я хочу что бы коннект....к базе был доступен на каждой из страничек....я не хочу его каждый раз там создавать.....(аналогичная задача на перле - решалась так....был так же некий контроллер который при каждом обращении к нему создавал коннект как глобальную переменную.....и все последующие скрипты использовали эту глобальную переменную для коннекта)......
PM MAIL WWW   Вверх
Llucas
Дата 25.2.2008, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


J2EE Developer
*


Профиль
Группа: Участник
Сообщений: 160
Регистрация: 29.11.2006
Где: Одесса

Репутация: нет
Всего: нет



Не понял, а я что говорил что нужно всегда использовать фреймворки? С чего это вы взяли, что я такое говорил? Я просто предложил, мало ли как потом разрастется проект, я же не могу знать полную картину того, что хочет xoma. Вы абсолютно не правильно меня закритиковали...
PM MAIL WWW   Вверх
Eustace
Дата 25.2.2008, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 20.10.2006

Репутация: нет
Всего: нет



xoma, ничего страшного не случится, тягай коннект каждый раз. Твой сервлет может и не дожить до следующего запроса пользователя, так что не факт, что переменная будет должным образом проинициализирована (если, конечно, метод init() не заоверрайдить).
На самом деле, App-сервер создаёт пул коннекшенов, так что при запросе на коннект он просто отдаёт тебе уже созданный коннекшн. Это достаточно дёшево по перфомансу, любое исполнение SQL-кода стоит дороже такого коннекта.
Как вариант решения могу предложить синглетонный класс, который инкапсулирует логику "взять коннект", а ты просто на каждой страничке будешь вызывать этот метод.

Это сообщение отредактировал(а) Eustace - 25.2.2008, 23:35
PM MAIL   Вверх
xoma
Дата 26.2.2008, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 4.4.2007

Репутация: нет
Всего: нет



Цитата(Eustace @ 25.2.2008,  21:03)
xoma, ничего страшного не случится, тягай коннект каждый раз. 

Так вот как раз и стоит задача в том что бы при разработке страничек - разработчик не задумывался над тем как и с какой базой ему создать коннект.....Разработчик должен знать что коннект уже есть и он может просто его использовать....
PM MAIL WWW   Вверх
tux
Дата 26.2.2008, 10:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 74
Всего: 132



Цитата(xoma @  26.2.2008,  09:50 Найти цитируемый пост)
Разработчик должен знать что коннект уже есть и он может просто его использовать.... 

А пул соединений в таком случае почему не устраивает? Разработчик может получить источник данных по JNDI-имени, взять у него соединение и просто использовать. Что-то еще нужно?
PM MAIL Skype GTalk Jabber YIM   Вверх
ProgMaster
Дата 27.2.2008, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 24.1.2006
Где: Estonia

Репутация: нет
Всего: нет



Use managed beans for example.
PM MAIL ICQ   Вверх
xoma
Дата 27.2.2008, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 4.4.2007

Репутация: нет
Всего: нет



Цитата(tux @ 26.2.2008,  10:01)

А пул соединений в таком случае почему не устраивает? Разработчик может получить источник данных по JNDI-имени, взять у него соединение и просто использовать. Что-то еще нужно?

Да наверное вариант с пулом соединений подойдет.....(просто сделаю какой-то класс обертку - для более удобного извлечения коннектов....)

Спасибо всем!
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0567 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.