Java практикум

Практические заметки по программингу на языке Java

JCaptcha JSP совместное ипользование.

Заинтересовала меня captcha в java и как ее можно быстро прикрутить к простому
сайту написанному на jsp. Нашел не много информации о jcaptcha, вот теперь хочу
поделиться ей. Давайте напишем простое приложение состоящее из сервлета -
который создает captch'y и проверяет правильность заполнения поля формы у captcha.
Нам понадобится - Apace Tomcat, набор библиотек jakarta-commons 3.2 или выше,
библиотека jcaptcha:

JSF Spring совместное ипользование.

В свое время я не нашел в инете простого примера как связать JSF и Spring. Давайте напишем вместе простое hello world - приложение, оно будет состоять из 2 - объектов, 1-й helloWorldMessage - создается spring'om  и вставляется в jsf-объект helloWorld. Для связки 2-х технологий нужно только правильно настроить файлы конфигураций JSF и Spring. Нам понадобится - Apace Tomcat, набор библиотек jsf1.2, набор библиотек spring-framework-2.5.5:
commons-codec.jar
commons-logging.jar
jsf-api.jar
jsf-impl.jar
jstl.jar
jtds-1.2.4.jar
spring-security-core-2.0.4.jar

Spring кратко - введение.

Я бы spring fraemwork назвал бы клеем, который позволяет создавать и удобно
связывать различные java модули и технологии(jdbc, struts, servlets, etc.).
Spring это модульная система в основе которого лежит основной его модуль
Spring core - к которому мы начинаем прикреплять необходимые кирпичики-модули,
ядро представляет собой IoC - контейнер, который позволяет нам "не жестко"
склеивать технологии, что в свою очередь позволяет сократить код и сделать
его интуитивно понятным. Давайте расмотрим все на примерах, начнем с HelloWorld.

Struts 2 Spring совместное ипользование.

В свое время я не нашел в инете простого примера как связать Struts 2 и Spring.
Давайте напишем вместе простое hello world - приложение. Для связки 2-х технологий используется простой плагин struts2-spring-plugin который содержится в библиотеке struts2-spring-plugin-2.1.6.jar. Нам понадобится - Apace Tomcat, набор библиотек struts2.1.6, набор библиотек spring-framework-2.5.5:

Hibernate 3 Mapping collections

В прошлой статье мы научились сохранять,редактировать и удалять данные для 1 таблицы БД, но часто на практике встречается что нам нужно извлечь данные из нескольких таблиц связанные между собой некоторым ключем(foregen key). В hibernate все это можно сделать при помощи collections(list, map, set).
Немножко теории:
    Интерфейс List хранит последовательность элементов, они могут быть вставлены или извлечены с помощью их позиции в списке отсчитываемым от нуля индексом, список может содержать дублированные элементы. Интерфейс Set похож на List  но он не допускает дублирования элементов. Интерфейс Map отображает уникальные  ключи в значения, ключ это произвольный объект который вы испотзуете для отыскания соответствующего значения. Нам так же понадобится понимание некоторых постулатов которые вводятся hibernate: а именно понятий one-to-one, one-to-many, many-to-one, many-to-many.

Hibernate Unidirectional One to One Association Mapping

Дистанционное управление компьютером с помощью сотового телефона и bluetooth

Java-практикумНа днях увидел ссылку на программу BluePad, превращающую сотовый телефон в пульт дистанционного управления компьютером. Давно собирался написать что-то подобное, а тут - пожалуйста, готовый вариант. Скачав и распаковав продукт, обнаружил, что серверная часть написана на Pithon'е, требует удовлетворения некоторых специфических зависимостей, разбираться с которыми не было ни времени, ни желания. К тому же интерфейс клиентской части (мидлета) и функционал не вполне соответствовуют моим потребностям. Заглянув в исходный код BluePad, я обнаружил там массу замечательных идей, побудивших взяться за собственную разработку. В итоге буквально за пару дней родился проект Bluetooth Backdoor. Основное его назначение - быстрое создание мидлетов, с помощью которых можно управлять ПК посредством Bluetooth.

Hibernate 3 удаление, изменение и загрузка pojo-объектов

В прошлой статье мы научились настраивать hibernate,  в этой научимся сохранять, редактировать и удалять. Немножко теории есть стандарт Как нужно пользоваться  hibernat'om. Открываем сессию(Session), получаем все необходимые нам данные, удаляем, вычисляем, редактируем, выводим данные пользователю, сохраняем все данные, сессию закрываем. После закрытия сессии не желательно использовать данные сохраненные в pojo-объекте. До тех пор пока вы используете объекты, полученные из Hibernate, вы должны иметь открытой сессию, в которой были получены эти объекты, и иметь активную транзакцию!
Использовать эти объекты можно только в однопоточной среде! Иначе со стороны Hibernate возможны ошибки (Рекомендация разрабочиков Hibernate). Если что-то пойдет не так Hibernate выкидывает ошибку HibernateException  и её надо вылавливать в catch, Для Hibernate ошибка HibernateException то же самое что Exception в Java т.е. она стоит во главе иерархии ошибок Hibernate.
Приведу стандартный набор кода:

Настройка Hibernate 3 java

Сидя на прошлой линуксовке рядом с Mabel'ом он спросил после 8 кружки Пива что такое Hibernate? Я как смог объяснил :) Этот разговор натолкнул меня на мысль что в русском сегменте интернета нет практически полных статей на тему что такое  Hibernate и как его настроить и использовать, по этому я Начинаю ряд статей посвяшенных Hibernate 3 версии.

Нам потребуется:
1. jdk 1.6
2. ant 1.6.5
3. mysql 5
4. hibernate-3.2.0
5  mysql-connector-java-3.1.13-bin.jar

Справочная карточка Администратора JBoss 4.X.X (OS Linux)

Хотя я пишу эту статью для  OS Linux возможно некоторые примеры будут
работать и с другими операционными системами, я на это надеюсь. Прежде чем
перейти к изложению материала, я бы хотел напомнить как установить JBoss в крации.
Прежде всего нужно скачать дистрибутив ( у меня jboss-4.2.2.GA.zip),
распаковать его в директорию (у меня /opt/jboss-4.2.2.GA), установить переменную
окружения $JBOSS_HOME  я делаю все в файле .bashrc (запускается каждый  раз при
входе пользователя в sh):
#cat /home/vit/.bashrc

Tomcat: умный котег для Java-программиста

Помня свое обязательство рассказать про написанный на Java и для Java веб-сервер Tomcat, начать хотел бы с такого понятия, как сервлет. Появилось оно в конце 90-х, когда популярность Java была, можно сказать, в зените и в ходу у веб-разработчиков были апплеты. Они представляли собой встраиваемые в html-странички "приложеньица", умевшие примерно то же, что нынешние Flash и AJAX. Java всегда стремилась проникнуть во все сферы программирования, так что написанные на этом языке программки, исполняемые на стороне сервера и призванные заменить популярные тогда perl-скрипты (CGI) не заставили себя долго ждать. Сначала их "прикручивали" к веб-серверам любительскими способами (вот ссылка, датируемая 1998 годом для интересующихся историей Java). Потом фирма Sun, идя навстречу пожеланиям трудящихся, разработала Servlets API, позволяющее создавать на стороне сервера сколь угодно сложные и при этом удобно организованные обработчики веб-запросов.

 

Установка JBOSS

Начинал я когда-то изучать java, хороших и свежих статей на русском про установку
 JDK + Jboss + Mysql  не было пришлось учить английский :)  счас есть но в них тупо говорится
 как поставить но не говориться зачем мы так делаем, в этой статье я хочу дать основы и понятия
 установки связки JDK + Jboss + Mysql. И так приступим. Для начала надо сказать что Jboss
 - это Application server написанный на java по этому нам понадобиться:

Java-практикум. Удаленные процедуры в GWT

Некоторое время назад я опубликовал на нашем ресурсе матераил о Google Web Toolkit - одном из замечательнейших творений команды Google. Напомню, что этот инструмент позволяет писать сайты не зная даже толком HTML. Не нужно заморачиваться тем, что разные браузеры по-разному интерпретируют интернет-странички, не нужно увязывать в единую систему кучу разнородных файлов. Правда, нужно знать Java. Но это, скорее достоинство, чем недостаток, потому что разве не прекрасно, когда клиент и сервер пишутся на одном и том же языке? Но достоинства GWT для Java-программиста на этом не заканчиваются. Из браузера можно обращаться к методам на удаленной машине почти так же просто, как к локальным. Об этом сегодняшний материал.

Летнее время в Java

Работаю над GPS-проектом и столкнулся с проблемой, когда трекер передает на сервер время на час большее, чем реальное. Причина выяснилась быстро - китайские производители устройства не учли переход на летнее время. Можно было оставить всё как есть и потерпеть несколько дней: в конце марта переведем часы и искажения исчезнут сами собой. Можно было избавиться от проблемы на скорую руку, т.е. где-нибудь в SQL-процедурах добавить что-то вроде "... - INTERVAL '1 HOUR' ". Но  решил таки сделать всё как следует.

Коротко о Java Enterprise Edition(JEE)

Меня попросили написать статью что такое JEE я решился взятся за это надеюсь адекватно рассказать зачем все таки нужна технология JEE в Java. Итак приступим Зачем нам нужна эта технология,  в голове крутиться мысль - жили жи без неё и не тужили а вот  кто-то взял и придумал ее и осложнил и без того нелегкую  жизнь java-программиста :)  Так давайте попорядку  сначала расшифруем и переведем термин JEE - Java Enterprise Edition - Java предприятие издание - а понятно часть языка Java отвечающее за написание приложений для предприятий т.е.

Из жизни насекомых: сборщик Ant в Java-проектах

Из цикла "Java + консоль"В статьях под рубрикой Java-практикум постоянно упоминается сборщик Ant. В русской википедии об этой программе написано достаточно скупо.  Хочу немного восполнить этот пробел.

Сборщик - главный инструмент программиста. Можно было бы возразить, сказав, что таковым является компилятор, но без выполнения огромного количества вспомогательных рутинных операций (копирование и преобразование файлов, упаковка их в библиотеки, очистка временных директорий, выгрузка на удаленный сервер и многое другое) успешная компиляция немногого стоит.