войти зарегистрироваться

JAVA whois

индекс
106,89

Настраиваем Tomcat для работы с JSF2 и другими компонентами Java EE 6

Данная статья описывает по шагам как настроить Tomcat (на текущий момент версия 6.0.26) на работу с разными компонентами Java EE 6.


Мы можете пропустить чтение этой статьи и сразу получить настроенный Tomcat и пример приложения.

Пробуем 3D с помощью jMonkeyEngine

Практически каждый, кто занимался геймдевом, понимает, что наилучшей производительности в этой области, по понятным причинам, можно добиться лишь на языках С/С++/asm. С данным утверждением в этой статье я спорить не буду, да и раньше даже как-то не задумывался о создании realtime-игр на других языках. Однако, игры бывают разные, и надо отдавать себе отчёт в том, насколько оправданы трудозатраты на реализацию очередного продукта. Если проект монструозен, с «тяжёлой» графической составляющей, даже после проведения весьма агрессивной оптимизации всё равно требующий от конечных пользователей (геймеров) топового железа на борту, то особых конкурентов на данный момент среди языков разработки у С/С++ в этом случае нету. Но если игрушка — не более чем обыкновенная казуалка, для запуска которой и нетбука будет достаточно, то можно позволить себе куда больший простор для фантазии в вопросе выбора инструментов для разработки. Исходя из этого принципа, в данной статье попробуем разобраться, чем может похвастаться в области геймдева такой, казалось бы, не совсем подходящий для этого, но удобный в целом язык Java, на примере движка jME.

Видеоурок — Java + Intellij IDEA 9 + GWT 2.0 + Apache Tomcat

Записал видеоурок, думаю многим начинающим он пойдёт на пользу и ответит на многие вопросы.

image

Скачать в разрешении 1280x800 можно здесь Размер 32 мегабайта.

Вы узнаете, как создать приложение на GWT в среде Intellij IDEA 9. Мы напишем простой асинхронный запрос, сгенерируем число на сервере, отправим ответ клиенту и выведем результат на экране.

Далее, всё задеплоим на сервер Apache Tomcat и покажем работающий пример.

Конечно, многие нюансы опущены. Всё-таки урок для начинающий гвт-шников!
Удачи в программировании!

ПС. Один момент сглючил при сжатии видео, когда нужно было скопировать библиотеку gwt-servlet.jar с папки GWT 2.0 в папку WEB-INF/lib.

Преобразование объектов Java в формат JSON и обратно

В поисках библиотеки для работы с JSON в Java, наткнулся на интересный проект google-gson.
В кратце, Gson — это Java библиотека, которая может быть использована для преобразования Java объектов в представление JSON, а так же для обратного преобразования JSON в объекты Java. Gson может работать с произвольными объектами Java, включая объекты к исходным кодам которых вы не имеете доступа.

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

Введение в Spring MVC с аннотациями

Вчера начал разбираться со Spring MVC 3.0.Искал статьи на Хабре, нашел пару штук.Правда они были без аннотаций.
Цель этой статьи написать Hello World c использованием возможностей писать конфиги прямо в коде, благодаря аннотациям.Ну что приступим.

Abstract и Final class одновременно в языке программирования Java?!

Статья представляет авторское понимание главы из книги Effective Java, Second Edition by Joshua Bloch

Простым языком определим понятие абстрактного и финального класса:
Абстрактный класс не может быть инстанциирован, но он может иметь подклассы.
Финальный класс это класс от которого запрещено наследоваться.

Для более точного определения обратитесь к официальному туториалу:

Комбинация abstract и final для класса означает, что у класса не может быть наследников и нельзя создать экземпляр для данного класса.

Сделать класс abstract и final одновременно нам, например, необходимо когда мы ходим создать класс утилит, состоящих из статических методов (например java.lang.Math или java.util.Arrays).

Использование паттерна Builder в случае, когда мы сталкиваемся с конструктором с многими параметрами

Статья представляет вольный перевод главы из книги Effective Java, Second Edition by Joshua Bloch

В статье рассматриваются 3 альтернативных подхода к упрощению использования класса, с конструктором с многими параметрами.

Sun Tech Days и Хабралюди

Все уже наверняка видели баннеры и слышали про намечающееся событие.

Sun Tech Days
8 и 9 апреля 2010 года в Санкт-Петербурге.

Захотелось написать пару слов о том «что это и зачем» для тех, кто ни разу не был по каким-то причинам и узнать (welcome в комменты) кто собирается из уважаемого Хабрасообщества в этот раз.

Для начала стоит сказать, что конференция международная и Sun привозит людей самых разных. Много докладов на английском языке. В прошлом году бесплатно делали синхронный перевод для тех у кого с языками не все гладко. Я ради интереса взял один раз незамысловатую приблуду для прослушивания перевода и… выключил минут через пять. Слушать можно, но благо уровень английского позволяет понимать и вживую. На стендах можно задавать вопросы и общаться с разработчиками.

Об использовании элементов функционального программирования при обработке коллекций на Java

Тема функционального программирования и использования функциональных языков довольно интересна, но к сожалению не частно поднимается на Хабре. Особую мощь функционального программирования можно почувствовать при обработке коллекций (или, в терминах функциональных языков, — списков). Недаром название самого известного языка программирования, поддерживающего функциональную парадигму, Lisp расшифровывается как LISt Processing language.

Однако, не каждый программист, особенно работающий над уже существующим большим проектом, имеет возможность сменить используемый язык программирования на поддерживающий функциональную парадигму, но на языке Java некоторые полезные мысли и подходы можно эмулировать.

В данной статье мы рассмотрим как на Java описать и использовать для обработки коллекций следующие возможности:
— Функции высших порядков и анонимные функции
— Цепочки вызовов
— Ленивые вычисления

Используем Hibernate в OSGi-среде

В последнее время тема построения модульных приложений на Java становится все более актуальной, в том числе и разработка Enterprise-приложений. Не секрет, что во многих Enterprise приложениях для взаимодействия с БД используется технология ORM, в частности — Hibernate. Вот о том, как использовать Hibernate в модульной системе мы и поговорим.

Если вы еще не знаете, что такое OSGi и какие у этой технологии есть преимущества, то рекомендую прочитать статью.

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

1. Нам нужен отдельный бандл, который инкапсулирует в себе Hibernate, необходимые для его работы библиотеки и какие-то средства инициализации.

2. Все дополнительные средства (c3p0, jdbc-драйвера, oscache, hibernate.cfg.xml) выносим в отдельные фрагментные бандлы. Это позволит заменять используемые средства при необходимости (например, вместо oscache использовать ehcache).

3. Сессия Hibernate должна быть доступна любому бандлу, которому она требуется, поэтому мы ее выносим в сервис.

4. Каждый бандл, использующий Hibernate, должен иметь возможность зарегистрировать мэпинги для своих сущностей. Для этого бандлы будут выставлять свои собственные реализации соответствующего сервиса.

5. Должна быть реализована опциональная поддержка мэпинга на основе аннотаций, т.е. должен быть реализован отдельный бандл, который инкапсулирует hibernate-annotations и ejb3-persistence, а также позволяет регистрировать аннотированные классы.

6. Все используемые сервисы определить как декларативные, что позволит прозрачно разрешить проблему запуска бандлов в нужном порядке.

С требованиями разобрались, приступим к реализации, описание которой вы можете найти под катом.