LINUX.ORG.RU

Автоматическая инициализация сервлета!

 


0

1

Делаю сайт на java.
Хочу поинтересоваться, как реализовать автоматическую инициализацию сервлетов? при развёртовании приложения? (задолбался я через адресную строку вызывать сервлеты, которые инициалезируют глобальные массивы данных)

Deleted

Ответ на: комментарий от f1xmAn

Это безусловно понятно. Но вопрос в другом. Я делаю сайт на netbeans а там есть замечательная кнопка «play» отвечающая за сборку и развертование сайта. И я хочу чтоб при этом самом развёртовании, мне не нужно было ходить в браузере по адресной строке, делаю так, чтоб запустился метод init сервлета . Мне нужно, чтоб когда я нажал play, осуществилась сборка проекта. И вызов этих init был произведён автоматически.

Deleted
()

...которые инициалезируют глобальные массивы данных

а это не те ли самые глобальные переменные, за которые обычно называют программистов (использующих эти переменные не-к-месту) криворукими?

если удалить из твоего сайта эти глобальные массивы (и прочие дурацкие глобальные переменные) — может быть как раз всё станет нормально? :-)

user_id_68054 ★★★★★
()
Последнее исправление: user_id_68054 (всего исправлений: 1)
Ответ на: комментарий от user_id_68054

Глобальные массивы данных, разумеется содержат в себе не изменяемые данные, взятые из СУБД. Для того , чтобы физически они находились в ОЗУ , для предотвращения лишнего обращения к БД. Для быстрого отклика на запросы пользователей. Очевидно же.......
Я не жаловался, что в коде что-то работает не так. Я поинтересовался, как сделать автоматическую инициализацию сервлетов при развертовании приложения. (Это для удобства! чтоб вручную не запускать , каждый сервлет с глобальными данными)

Deleted
()
Ответ на: комментарий от Deleted

Для того , чтобы физически они находились в ОЗУ , для предотвращения лишнего обращения к БД.

понятно, кэш.

здесь ладно, разобрались :-) ..

Это для удобства! чтоб вручную не запускать , каждый сервлет с глобальными данными

ну а зачем кстати вообще сервлет запускать? (даже если вручную?)

Для ускорения разработки...

а если сервлет не запускать (вообще — ни как. даже вручную. только деплоить но не запускать!) — то это замедляет разработку?

user_id_68054 ★★★★★
()
Последнее исправление: user_id_68054 (всего исправлений: 2)
Ответ на: комментарий от user_id_68054

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

ТС, если я правильно тебя понял, то ты делаешь неправильно. Почитай куда и как нужно совать кеши, а так же что вообще нужно кешировать, тогда вопрос с инициализацией сервлета из иде отпадет сам собой. К слову, постарайся написать build или pom файл для своего проекта, чтобы не собирать его постоянно со среды разработки. Это как бы не тру по ряду легко гуглящихся причин.

f1xmAn ★★★★★
()

в <servlet/> добавляешь <load-on-startup>1</load-on-startup>

инициализация будет в порядке увеличения циферок в этом элементе

а вообще - бросай это занятие и узнай что такое DI.

maloi ★★★★★
()
Последнее исправление: maloi (всего исправлений: 1)
Ответ на: комментарий от ya-betmen

Меня уже убеждал один лоровец, начавший изучать джаву с нетбинса, что нетбинс это хорошо, потому вместо проектных файлов генерируется build.xml для анта.

f1xmAn ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.