JSP thread safety - еще одни чайниковский вопрос

User avatar
OBender
Уже с Приветом
Posts: 1564
Joined: 27 Nov 2001 10:01
Location: Live free or die

Post by OBender »

Sabina wrote:Говорили мне, что без J2EE ни одно JSP приложение не обходиться...
Сабина


Вы упорно сопротивляетесь (почему то) :) против того что бы ваш код просто поместить в клас - "бин" не EJB, а просто класс в котором будут различные get/set методы.
Кастом таги это конечно тоже очень хорошо и даже красивее чем бин, но бин быстрее и немного проще. Ведь у вас на страничке 90% это Java.
Интересный вы человек! Все у вас в порядке. Удивительно, с таким счастьем - и на свободе. (C) О.Бендер
User avatar
WildVlad
Уже с Приветом
Posts: 3982
Joined: 13 Jul 2000 09:01
Location: SVX -> BOS -> BUR -> SJC

Post by WildVlad »

Sabina wrote:
OBender wrote:А вообще то ту страничку таки стоит переписать так что бы вся джава была в каком нибудь классе, а JSP были бы только вызовы к нему.


Буду очень признательна за пример (линк?) файла где DB connection засунута внутрь класса и в JSP он только вызывается.

Сабина

Есть такие Tag Libraries в JSP :) Да и Стратсы бывают. Вот они то и помогают убрать логику из JSP в .java :mrgreen:
I hated LA
User avatar
Sabina
Уже с Приветом
Posts: 5669
Joined: 13 Oct 2000 09:01
Location: East Bay, CA

Post by Sabina »

OBender wrote:
Sabina wrote:Говорили мне, что без J2EE ни одно JSP приложение не обходиться...
Сабина


Вы упорно сопротивляетесь (почему то) :) против того что бы ваш код просто поместить в клас - "бин" не EJB, а просто класс в котором будут различные get/set методы.


Нет, я не сопротивляюсь, я наоборот "за" (см. пост до "без J2EE ни одно JSP приложение не обходиться"). Этот комментарий был в адрес JNDI.

Сабина
User avatar
Sabina
Уже с Приветом
Posts: 5669
Joined: 13 Oct 2000 09:01
Location: East Bay, CA

Post by Sabina »

WildVlad wrote:Есть такие Tag Libraries в JSP :)


Спасибо, я уже и примеры в своих умных книжках нашла :)

Сабина
User avatar
vlad12345
Уже с Приветом
Posts: 605
Joined: 14 Feb 2002 10:01
Location: Russia

Post by vlad12345 »

Добавлю свою пару копеек, т.е. линков:
http://developer.java.sun.com/developer ... #JSPIntro7
http://www.jguru.com/faq/view.jsp?EID=150

К тому же заметил пару неточностей в дискуссии:
... threadsafe=false так оно вроде как всегда по умолчанию false
По умолчанию все-таки "true".
... все что было в <%! идет в статические переменные/методы
Это будут переменные/методы instance-a, но не статические, для статических надо явно указывать "static" modifier.

А еще isThreadSafe="false" признан неудачным решением, и в версии JSP 2.0 deprecated.
User avatar
webdeveloper
Уже с Приветом
Posts: 2049
Joined: 12 Jul 2000 09:01
Location: Madison, Wisconsin USA

Post by webdeveloper »

Sabina wrote:,,,
Сабина


А чего вы нее позвонили то?
User avatar
Sabina
Уже с Приветом
Posts: 5669
Joined: 13 Oct 2000 09:01
Location: East Bay, CA

Post by Sabina »

webdeveloper wrote:
Sabina wrote:,,,
Сабина


А чего вы нее позвонили то?


Так письмо пришло почти в час ночи :pain1: Я спросила по PM когда можно звонить а в ответ ни ответа ни привета :)

Сабина
User avatar
webdeveloper
Уже с Приветом
Posts: 2049
Joined: 12 Jul 2000 09:01
Location: Madison, Wisconsin USA

Post by webdeveloper »

Sabina wrote:
webdeveloper wrote:
Sabina wrote:,,,
Сабина


А чего вы нее позвонили то?


Так письмо пришло почти в час ночи :pain1: Я спросила по PM когда можно звонить а в ответ ни ответа ни привета :)

Сабина


так я же написал в ответ что в любое время можно :)

хоть сейчас [...moderated...]
User avatar
Sabina
Уже с Приветом
Posts: 5669
Joined: 13 Oct 2000 09:01
Location: East Bay, CA

Post by Sabina »

webdeveloper wrote:так я же написал в ответ что в любое время можно :)

Сеичас я на работе. А ваш второи ПМ до меня не дошел :(

Буду звонить вечером

Сабина
User avatar
smesh
Уже с Приветом
Posts: 203
Joined: 11 Nov 2003 19:53
Location: Bridgepointe

Post by smesh »

webdeveloper wrote:так я же написал в ответ что в любое время можно :)

хоть сейчас [...moderated...]
А чАво это мы все без IM на привете?
User avatar
Sabina
Уже с Приветом
Posts: 5669
Joined: 13 Oct 2000 09:01
Location: East Bay, CA

Post by Sabina »

Преогромное спасибо webdeveloper:gen1: , который буквально за 15 минут разложил мне все по полочкам.

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

Brazen wrote:Just a note: устанавливать соединение с базой каждый раз (и инициализировать класс драйвера) - это тоже жестоко. Особенно делать это три раза внутри одного и того же service(). Соединения лучше брать из пула. Либо из самодельного, либо из того, который предоставляется сервером. Серверный пул обычно доступен через JNDI lookup.


Поскольку JNDI у меня нет, ConnectionPool надо писать самой. Если я верно поняла это массив соединений к которому идет обращение каждый раз, когда приложение посылает запрос в базу. И ConnectionPoolManager отвечает за распределение имеющихся открытых соединений или организует waiting etc.

Вроде вот эта статья как раз и описывает весь этот механизм:
http://www.bitmechanic.com/projects/jdbcpool/faq.html
Верно?

Также похоже я могу использовать чужие утилиты для тех же целей:
http://homepages.nildram.co.uk/~slink/java/DBPool/

Что предпочтительнее?

Спасибо,
Сабина
User avatar
Sabina
Уже с Приветом
Posts: 5669
Joined: 13 Oct 2000 09:01
Location: East Bay, CA

Post by Sabina »

smesh wrote:
webdeveloper wrote:так я же написал в ответ что в любое время можно :)
А чАво это мы все без IM на привете?


Так я же говорю, что он сбоит вроде. Я вот второе сообщение вообще не получила. Вернее по почте пришло уведомление - я полезла в ящик - а там пусто. Только один первый месседж в Inbox висит. :pain1:

Сабина
User avatar
smesh
Уже с Приветом
Posts: 203
Joined: 11 Nov 2003 19:53
Location: Bridgepointe

Post by smesh »

Sabina wrote:
smesh wrote:
webdeveloper wrote:так я же написал в ответ что в любое время можно :)
А чАво это мы все без IM на привете?


Так я же говорю, что он сбоит вроде. Я вот второе сообщение вообще не получила. Вернее по почте пришло уведомление - я полезла в ящик - а там пусто. Только один первый месседж в Inbox висит. :pain1:
Сорьки, я про всякия АСЬКИ хотел спросить. :gen1:
User avatar
Sabina
Уже с Приветом
Posts: 5669
Joined: 13 Oct 2000 09:01
Location: East Bay, CA

Post by Sabina »

smesh wrote:Сорьки, я про всякия АСЬКИ хотел спросить. :gen1:


Говорить получается быстрее чем печатать? :wink:

Сабина
User avatar
KVA
Уже с Приветом
Posts: 5347
Joined: 03 Feb 1999 10:01
Location: NJ, USA

Post by KVA »

Sabina wrote:Вроде вот эта статья как раз и описывает весь этот механизм:
http://www.bitmechanic.com/projects/jdbcpool/faq.html
Верно?

Также похоже я могу использовать чужие утилиты для тех же целей:
http://homepages.nildram.co.uk/~slink/java/DBPool/

Что предпочтительнее?


Лучше сами напишите. Полезно будут потренироваться. Если один раз разберетесь и напишете, то уже никогда не забудете
User avatar
smesh
Уже с Приветом
Posts: 203
Joined: 11 Nov 2003 19:53
Location: Bridgepointe

Post by smesh »

Sabina wrote:
smesh wrote:Сорьки, я про всякия АСЬКИ хотел спросить. :gen1:


Говорить получается быстрее чем печатать? :wink:
У меня? Да. А что, и телефоны даем? :oops:
Palych
Уже с Приветом
Posts: 13683
Joined: 16 Jan 2001 10:01

Post by Palych »

KVA wrote:Лучше сами напишите. Полезно будут потренироваться. Если один раз разберетесь и напишете, то уже никогда не забудете

Zachem pisat'? Razve v Tomcat net connection pools?
User avatar
webdeveloper
Уже с Приветом
Posts: 2049
Joined: 12 Jul 2000 09:01
Location: Madison, Wisconsin USA

Post by webdeveloper »

Palych wrote:
KVA wrote:Лучше сами напишите. Полезно будут потренироваться. Если один раз разберетесь и напишете, то уже никогда не забудете

Zachem pisat'? Razve v Tomcat net connection pools?


Есть конечно, но для первого раза не плохо было бы попробовать его самостоятельно написать, а потом уже можно и datasource использовать, когда знаешь как оно все работает.
Palych
Уже с Приветом
Posts: 13683
Joined: 16 Jan 2001 10:01

Post by Palych »

webdeveloper wrote:Есть конечно, но для первого раза не плохо было бы попробовать его самостоятельно написать, а потом уже можно и datasource использовать, когда знаешь как оно все работает.

ИМХО - лучше не пробовать писать поолс самому: появляется ложное ощущение что ето просто. Потом научишьста как надо, да и спросишь себя: "А нафига столько мучений когда готовые есть?..."
User avatar
KVA
Уже с Приветом
Posts: 5347
Joined: 03 Feb 1999 10:01
Location: NJ, USA

Post by KVA »

Palych wrote:
webdeveloper wrote:Есть конечно, но для первого раза не плохо было бы попробовать его самостоятельно написать, а потом уже можно и datasource использовать, когда знаешь как оно все работает.

ИМХО - лучше не пробовать писать поолс самому: появляется ложное ощущение что ето просто. Потом научишьста как надо, да и спросишь себя: "А нафига столько мучений когда готовые есть?..."


Точно подмечено. Именно так и появляются программисты, которые только и умеют что найти что-то готовенькое. А написать любую мелочь это уже высшый пилотаж для них.

Я сам не гнушаюсь готовыми компонентами потому как на вопрос "когда это должно быть сделано" у нас один ответ "вчера". Но при этом я представляю как написать тоже что и готовый компонент делает. Просто время свое экономлю.

Здесь же совершенно другой случай. Человек учится и поэтому полезнее будет написать самому. При этом человек научится не только пул писать, но получит представление о singleton-е, возможно наступит на грабли с поточной синхронизацией и т.д. Сабина, пишите сами. :umnik1:
Palych
Уже с Приветом
Posts: 13683
Joined: 16 Jan 2001 10:01

Post by Palych »

KVA wrote:Именно так и появляются программисты, которые только и умеют что найти что-то готовенькое. А написать любую мелочь это уже высшый пилотаж для них.


Protivopolozhnost' - programmisty, pishuschie svoi Connection Pools, Application Servers, StringTokenizers, etc.
Obychno krajne nadmenno otnosyaschiesya k drugim programmistam, poskol'ku - chto s nih vzyat'? Oni za vsyu zhizn' ni odnogo poola ne napisali?... :pain1: :D
User avatar
KVA
Уже с Приветом
Posts: 5347
Joined: 03 Feb 1999 10:01
Location: NJ, USA

Post by KVA »

Palych, вы выдумали себе ветряную мельницу и отважно с ней бьетесь. Попробую еще раз. Человек только учится и мое сильное IHMO что для приобретения навыков ей будет полезно написать хотя бы один connection pool. Разовью свою мысль. При этом совершенно не значит что писать свой pool надо всегда. Так понятнее?
Palych
Уже с Приветом
Posts: 13683
Joined: 16 Jan 2001 10:01

Post by Palych »

Ни с кем я не бюсь
Просто счел дОлжным показать слабости однобокого подхода, который часто наблюдаю на практике... :pain1:
User avatar
fruit6
Уже с Приветом
Posts: 4207
Joined: 10 Jan 2004 01:22
Location: n-sk -> MD -> VA

Post by fruit6 »

все "калькуляторы" не написать, а время на это потраченное можно употребить на что нибудь более полезное.
User avatar
webdeveloper
Уже с Приветом
Posts: 2049
Joined: 12 Jul 2000 09:01
Location: Madison, Wisconsin USA

Post by webdeveloper »

Никто и не предлагает писать калькуляторы. кроме того, не забывайте что для того что бы человеку научится чему то, ему это что то нужно сначала попробовать. Беды от того, что человек напишет простенький connection pool никакой не произойдет. Зато будет знать как это все работает.

Return to “Вопросы и новости IT”