Есть множество различных ситуаций, при которых программисту необходимо выйти из приложения, для выполнения различных действий в момент завершения работы над приложением. И основной ошибкой в таких ситуациях является не корректный выход из приложения. Для того чтобы выполнить какой-либо код, даже если вы находитесь в середине процесса выгрузки процесса, у Java-приложений существует элегантный подход к данному действию, который выступает гарантом, что в итоге ваш код непременно будет выполнен.
И так, что же необходимо делать, для того чтобы был выполнен завершающий код в момент прерывания работы с приложением? Например, используя Swing, вы пишите тестовый редактор, при начале работы, ваше приложение создает временный файл. Данный временный файл должен быть удалён, после того как пользователь закроет ваше приложение. До того как завершиться работа, особенно если вы пишите приложения, которые состоят из большого количества сервлетов, вам необходимо вызвать метод destroy, при чем для каждого из вами загруженных сервлетов.
Если пользователь завершил работу с приложением в некорректной форме, а именно так он всегда и поступает, тогда виртуальная машина Java завершает свою работу, но к счастью, прежде чем выгрузить себя, виртуальная машина действует следующим путём:
1. Машиной будут запущены все виртуальные shutdown-ловушки, которые вы установили, если таковые имеются.
2. Во втором случаи машина вызывает все fina-lize-операции (конечно же, если есть подходящие).
Мы поговорим о первом действии, ведь именно первое действие заставляет виртуальную машину озадачиться, перед тем как она совершит все действия по завершению работы с приложением. Shutdown-ловушки запускаются и работают параллельно до тех самых пор, пока они не завершат все операции, которые на них наложены. Регистрируются ловушки с помощью класса Runtime и для того чтобы их создать, необходимо выполнение следующих действий:
- необходимо описать класс, который наследует класс Thread;
- в новом классе следует осуществить метод run. Данный метод содержит код, который и будет влиять на дальнейшее завершение программы не зависимо от того, на сколько корректно было выполнено завершение работы с приложением;
- далее свяжите класс shutdown-ловушки непосредственно с вашим Java-приложением;
- далее регистрируем ловушку по средствам метода addShutdownHook.
Октябрь
15,
2008
— Рубрика: Java
Метки: завершение, пользователь, приложение
Реклама: Лист нержавеющий нормальной точности от компании ТПК Стальресурс.
Первое, что нам необходимо при работе с базой данных — это создание подключения к ней. При этом необходимо указать где она находится, на какой машине в сети, авторизироваться, указать конкретную базу данных в СУБД. При этом в зависимостии от СУБД, меняются требования к определению этих параметров. Ниже мы постараемся рассмотреть примеры подключения к «большой», рассчитанной на большое количество активных сессий (одновременных подключений) Microsoft SQL Server и «маленькой» и простенькой базой Access.
Октябрь
11,
2008
— Рубрика: ASP
Метки: конструктор, параметры, пространство
Реклама: 3d модели
хочу рассказать вам об основах технологии server side includes или ssi.
ssi переводится как “включения со стороны сервера”. Эта технология помогает сохранить уйму времени при создании сайта и закачке его на сервер. Вообще ssi призвана, насколько это возможно, облегчить работу web-мастера.
Август
9,
2008
— Рубрика: SSI
Метки: аспекты, директивы, использование
Реклама: из москвы красный куб
В этой статье я расскажу о технологии server side include (ssi). Вещь эта в www-дизайне чрезвычайно нужная и полезная, так как во много раз облегчает работу по созданию и поддержке web-сайта.
server side include с английского переводится как «включаемый на стороне сервера». Звучит страшновато, но на самом деле все просто: эта технология позволяет web-серверу включать в текст ваших html-страниц любой другой текст: содержимое текстовых файлов или, например, результат работы cgi-скриптов (который, как известно, обычно оформляется в виде html-текста). Происходит это «включение» непосредственно перед передачей текста html-страницы браузеру пользователя, так что посетитель страницы даже не догадывается об этой серверной «возне».
Июль
19,
2008
— Рубрика: SSI
Метки: поддержка, польза, сервер
Реклама: chat rooms
Вот типичная ситуация: Вы, полный желанием и фантазией, хотите сделать свой сайт. Вот Вы уже начали делать html странички, но перед Вами встал серьёзный вопрос, на какой сервер помещать сайт? Естественно Вы не будет платить деньги за представленное место на диске сервера, а следовательно будет искать подходящий бесплатный хостинг. Самыми распространёнными бесплатными серверами на сегодняшний день являются Народ, boom, newmail, chat и др. На них нельзя использовать cgi скрипты и ssi , так что если у Вас на сайте к примеру на каждой страничке одна и та же менюшка, то Вам придётся вставлять её в каждый файл. Но более страшная ситуация настанет, если Вы уже имеете окола ста страниц с этой менюшкой и Вам потребовалось добавить в неё новый раздел. Вас ждёт долгое и мучительное исправление страниц, а затем закачивание их на сервер.
Июль
9,
2008
— Рубрика: SSI
Метки: браузер, скрипт, шаблон
Реклама: meet love
Любой документ, у которого будет установлен обработчик “server-parsed” будет сканироваться этим модулем, если включена опция “includes”. Если вы имеете малое количество документов с ssi, то лучше всего в файле httpd.conf указать следующее:
Июль
8,
2008
— Рубрика: SSI
Метки: модуль, опция
Включаются в html документ в виде комментариев (это не мешает вам использовать обычные комментарии).
Очень часто значение помещается в двойные кавычки. Некоторые команды позволяют иметь только одну пару атрибут-значение. Обратите внимание, что заключительная часть комментария (–>) должна отделяться от директивы пробелом, иначе она будет воспринята, как ее часть.
Рассмотрим определенные в apache элементы ssi:
Июнь
30,
2008
— Рубрика: SSI
Метки: директивы, кавычки, элементы
Основным, простейшим, но в то же время чрезвычайно мощным инструментом поддержки больших наборов документов является SSI (Server-Side Includes - включения на стороне сервера). Если кто-то из вас знает Си, то он быстро поймет, что SSI чрезвычайно похож на макроязык. С помощью SSI можно не только в зависимости от некоторых условий выводить определенные части документа, не только формировать документ из заранее определенных кусочков, но и вставлять результат работы некоторого CGI сценария или программы прямо в документ.
Июнь
23,
2008
— Рубрика: SSI
Метки: документ, параметры, пользователи, шаблоны
Что такое сервлет? Это класс порожденный от класса HttpServlet с переопреденными методами doGet и doPost (управление приходит в один из этих методов в зависимости от того какого типа был запрос. Надеюсь у Вас есть некоторый опыт в cgi-программировании для того чтобы понять разницу между ними).
Июнь
15,
2008
— Рубрика: Java
Метки: код, параметры
Введение
Технология Java Server Pages (JSP) является составной частью единой технологии создания бизнес-приложений J2EE. JSP - это альтернативная методика разработки приложений, динамически генерирующих ответ на те или иные запросы клиента. Прежде чем JSP документ будет использован, специальная процедура преобразует его в соответствующий сервлет. В свою очередь, сервлет, как правило, пишется на языке Java и реализует определенный интерфейс.
Июнь
3,
2008
— Рубрика: Java
Метки: атрибуты, содержимое, тэги, экшен