
128K+
Охват за 30 дней
Java *
Объектно-ориентированный язык программирования
87,5
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности
Формат публикации
Java EE 6. Что нового в Servlet API 3.0
3 мин
22K
С выходом Java EE 6 на ряду со значительными изменениями в JPA 2.0 спецификации сервлетов 3.0 также притерпела ряд улучшений: упростилась разработка и процедура развертывания, конфигурирование стало более удобным, появилась поддержка асинхронных запросов и улучшилась модель безопасности. Далее я попытаюсь осветить основные изменения в API.
Программирование и развертывание сервлетов упростилось главным образом за счет введения аннотаций для декларирования сервлет (@WebServlet), фильтров (@WebFilter), листнеров (@WebListener) и ограничений безопасности (@ServletSecurity). Таким образом, и дескриптор развертывания web.xml стал опциональным элементом. Обращаю внимание, что сами компоненты Servlet API не стали POJO, привычную иерархию интерфейсов и классов никто не отменял. Также добавилась аннотация для поддержки загрузки файлов @MultipartConfig и для установки параметров инициализации @WebInitParam.
Пример Hello World сервлета
package net.ismailov.tests;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
@WebServlet(name="hw", urlPatterns = "/hello_world")
public class HelloWorld extends HttpServlet{
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter writer = response.getWriter();
writer.println("<h1>Hello, World!</h1>");
}
}
+27
Настраиваем Tomcat для работы с JSF2 и другими компонентами Java EE 6
7 мин
21KДанная статья описывает по шагам как настроить Tomcat (на текущий момент версия 6.0.26) на работу с разными компонентами Java EE 6.
- Unified EL 2.2 — язык выражений для JSF
- JSF 2.0 реализация — Mojarra (документация)
- JSR 299 реализация — Weld (документация)
- JSR 303 Bean Validation реализация — Hibernate Validator (документация)
- JPA 2.0 реализация — EclipseLink
+24
Пробуем 3D с помощью jMonkeyEngine
6 мин
30KПрактически каждый, кто занимался геймдевом, понимает, что наилучшей производительности в этой области, по понятным причинам, можно добиться лишь на языках С/С++/asm. С данным утверждением в этой статье я спорить не буду, да и раньше даже как-то не задумывался о создании realtime-игр на других языках. Однако, игры бывают разные, и надо отдавать себе отчёт в том, насколько оправданы трудозатраты на реализацию очередного продукта. Если проект монструозен, с «тяжёлой» графической составляющей, даже после проведения весьма агрессивной оптимизации всё равно требующий от конечных пользователей (геймеров) топового железа на борту, то особых конкурентов на данный момент среди языков разработки у С/С++ в этом случае нету. Но если игрушка — не более чем обыкновенная казуалка, для запуска которой и нетбука будет достаточно, то можно позволить себе куда больший простор для фантазии в вопросе выбора инструментов для разработки. Исходя из этого принципа, в данной статье попробуем разобраться, чем может похвастаться в области геймдева такой, казалось бы, не совсем подходящий для этого, но удобный в целом язык Java, на примере движка jME.
+26
Видеоурок — Java + Intellij IDEA 9 + GWT 2.0 + Apache Tomcat
1 мин
11KЗаписал видеоурок, думаю многим начинающим он пойдёт на пользу и ответит на многие вопросы.

Скачать в разрешении 1280x800 можно здесь Размер 32 мегабайта.
Вы узнаете, как создать приложение на GWT в среде Intellij IDEA 9. Мы напишем простой асинхронный запрос, сгенерируем число на сервере, отправим ответ клиенту и выведем результат на экране.
Далее, всё задеплоим на сервер Apache Tomcat и покажем работающий пример.
Конечно, многие нюансы опущены. Всё-таки урок для начинающий гвт-шников!
Удачи в программировании!
ПС. Один момент сглючил при сжатии видео, когда нужно было скопировать библиотеку gwt-servlet.jar с папки GWT 2.0 в папку WEB-INF/lib.

Скачать в разрешении 1280x800 можно здесь Размер 32 мегабайта.
Вы узнаете, как создать приложение на GWT в среде Intellij IDEA 9. Мы напишем простой асинхронный запрос, сгенерируем число на сервере, отправим ответ клиенту и выведем результат на экране.
Далее, всё задеплоим на сервер Apache Tomcat и покажем работающий пример.
Конечно, многие нюансы опущены. Всё-таки урок для начинающий гвт-шников!
Удачи в программировании!
ПС. Один момент сглючил при сжатии видео, когда нужно было скопировать библиотеку gwt-servlet.jar с папки GWT 2.0 в папку WEB-INF/lib.
+25
Введение в Spring MVC с аннотациями
4 мин
82KВчера начал разбираться со Spring MVC 3.0.Искал статьи на Хабре, нашел пару штук.Правда они были без аннотаций.
Цель этой статьи написать Hello World c использованием возможностей писать конфиги прямо в коде, благодаря аннотациям.Ну что приступим.
Цель этой статьи написать Hello World c использованием возможностей писать конфиги прямо в коде, благодаря аннотациям.Ну что приступим.
+4
Abstract и Final class одновременно в языке программирования Java?!
1 мин
24KСтатья представляет авторское понимание главы из книги Effective Java, Second Edition by Joshua Bloch
Простым языком определим понятие абстрактного и финального класса:
Абстрактный класс не может быть инстанциирован, но он может иметь подклассы.
Финальный класс это класс от которого запрещено наследоваться.
Для более точного определения обратитесь к официальному туториалу:
Комбинация abstract и final для класса означает, что у класса не может быть наследников и нельзя создать экземпляр для данного класса.
Сделать класс abstract и final одновременно нам, например, необходимо когда мы ходим создать класс утилит, состоящих из статических методов (например java.lang.Math или java.util.Arrays).
Простым языком определим понятие абстрактного и финального класса:
Абстрактный класс не может быть инстанциирован, но он может иметь подклассы.
Финальный класс это класс от которого запрещено наследоваться.
Для более точного определения обратитесь к официальному туториалу:
Комбинация abstract и final для класса означает, что у класса не может быть наследников и нельзя создать экземпляр для данного класса.
Сделать класс abstract и final одновременно нам, например, необходимо когда мы ходим создать класс утилит, состоящих из статических методов (например java.lang.Math или java.util.Arrays).
+6
Использование паттерна Builder в случае, когда мы сталкиваемся с конструктором с многими параметрами
7 мин
40KСтатья представляет вольный перевод главы из книги Effective Java, Second Edition by Joshua Bloch
В статье рассматриваются 3 альтернативных подхода к упрощению использования класса, с конструктором с многими параметрами.
В статье рассматриваются 3 альтернативных подхода к упрощению использования класса, с конструктором с многими параметрами.
+37
Sun Tech Days и Хабралюди
2 мин
838Все уже наверняка видели баннеры и слышали про намечающееся событие.
Sun Tech Days
8 и 9 апреля 2010 года в Санкт-Петербурге.
Захотелось написать пару слов о том «что это и зачем» для тех, кто ни разу не был по каким-то причинам и узнать (welcome в комменты) кто собирается из уважаемого Хабрасообщества в этот раз.
Для начала стоит сказать, что конференция международная и Sun привозит людей самых разных. Много докладов на английском языке. В прошлом году бесплатно делали синхронный перевод для тех у кого с языками не все гладко. Я ради интереса взял один раз незамысловатую приблуду для прослушивания перевода и… выключил минут через пять. Слушать можно, но благо уровень английского позволяет понимать и вживую. На стендах можно задавать вопросы и общаться с разработчиками.
Sun Tech Days
8 и 9 апреля 2010 года в Санкт-Петербурге.
Захотелось написать пару слов о том «что это и зачем» для тех, кто ни разу не был по каким-то причинам и узнать (welcome в комменты) кто собирается из уважаемого Хабрасообщества в этот раз.
Для начала стоит сказать, что конференция международная и Sun привозит людей самых разных. Много докладов на английском языке. В прошлом году бесплатно делали синхронный перевод для тех у кого с языками не все гладко. Я ради интереса взял один раз незамысловатую приблуду для прослушивания перевода и… выключил минут через пять. Слушать можно, но благо уровень английского позволяет понимать и вживую. На стендах можно задавать вопросы и общаться с разработчиками.
+4
Вышла NetBeans 6.9 Milestone 1
1 мин
853С сегодняшнего дня доступна для скачивания новая тестовая NetBeans 6.9.
Для себя как для PHP-программиста выделил:
— поддержка Zend Framework (напомню что уже есть выбор Symfony);
— улучшенный PHPDoc;
— добавлены новые настройки форматирования Вашего PHP-кода;
— поработали также над обработкой CSS
Также добавлены новые прелести для Java разработчиков и увеличена скорость работы IDE, что не может не радовать )
Подробности здесь на оф. сайте.
Для себя как для PHP-программиста выделил:
— поддержка Zend Framework (напомню что уже есть выбор Symfony);
— улучшенный PHPDoc;
— добавлены новые настройки форматирования Вашего PHP-кода;
— поработали также над обработкой CSS
Также добавлены новые прелести для Java разработчиков и увеличена скорость работы IDE, что не может не радовать )
Подробности здесь на оф. сайте.
+23
Java 1.6.0_18 Update доступен — что нового?
1 мин
1.7KПрежде всего — java.sun.com/javase/6/webnotes/6u18.htm l.
Коротко:
Саппорт для нескольких новых конфигураций — Windows 7, Red Hat Enterprise Linux 5.3, Firefox 3.6.
VisualVM версии 1.2 с новыми фичами (мне, например, понравился семлинг-профайлинг).
Java DB — добавлена Java DB 10.5.3.0.
Улучшения производительности, в т.ч. на уровне JVM (новая версия JVM — Hotspot 16 включена в релиз).
Никаких security fixes — все последние уже есть в 17-ой версии.
Прошу прощения за короткий пост, но времени мало, и решил лучше запостить такой. Все равно те, кому по настоящему интересно, пойдут читать оригинал :))
Коротко:
Саппорт для нескольких новых конфигураций — Windows 7, Red Hat Enterprise Linux 5.3, Firefox 3.6.
VisualVM версии 1.2 с новыми фичами (мне, например, понравился семлинг-профайлинг).
Java DB — добавлена Java DB 10.5.3.0.
Улучшения производительности, в т.ч. на уровне JVM (новая версия JVM — Hotspot 16 включена в релиз).
Никаких security fixes — все последние уже есть в 17-ой версии.
Прошу прощения за короткий пост, но времени мало, и решил лучше запостить такой. Все равно те, кому по настоящему интересно, пойдут читать оригинал :))
-7
Марк Райнхольд о JDK 7, замыканиях, JRockit и HotSpot
3 мин
1.9KПеревод
Oracle TechCasts возобновились. Сегодня [т.е. 16-го февраля] Марк Райнхольд рассказывал о JDK 7 и отвечал на вопросы зрителей. Райнхольд обсуждал самое существенное, над чем он работает в проекте OpenJDK, и раскрыл некоторые предварительные наметки, направленные на объединение кода JRockit и HotSpot. Project Lambda, о котором обычно говорят, как о «замыканиях для Java», также был темой обсуждения.
+42
Weborama + Java
3 мин
3.3K
Я уверен, что большинство пользователей habrahabr.ru проводит не малую часть своего времени слушая музыку.
Когда все старые песни уже изрядно поднадоели и хочется послушать чего-то нового на выручку приходят полезные веб-сервисы.
Существует множество веб-сервисов позволяющих слушать популярные композиции прямо с сайта, из них можно выделить вебораму, сайт-плеер.
Однако, эта статья не о том, на сколько удобно слушать и музыку на вебораме, она скорее поможет организовать свою коллекцию популярной музыки, используя яву и вебораму.
+1
Ближайшие события
Java сертификация — прохождение SCJP и SCBCD
8 мин
85KНе нашел на хабре статей, в которых бы авторы описывали сертификации по Java и делились своим опытом подготовки и ощущениями от сдачи.
В некоторой степени хотел бы заполнить пробел этой статьей. Под катом – мое мнение по вопросу – сдавать или не сдавать сертификации, краткий обзор сертификаций по Java, а так же собственный опыт и ощущения от регистрации, подготовки и сдачи Java сертификаций SCJP и SCBCD.
В некоторой степени хотел бы заполнить пробел этой статьей. Под катом – мое мнение по вопросу – сдавать или не сдавать сертификации, краткий обзор сертификаций по Java, а так же собственный опыт и ощущения от регистрации, подготовки и сдачи Java сертификаций SCJP и SCBCD.
+42
JVM изнутри – организация памяти внутри процесса Java
2 мин
125KНаверное, все, работающие с Java, знают об управлении памяти на уровне, что для ее распределения используется сборщик мусора. Не все, к сожалению, знают, как именно этот сборщик (-и) работает, и как именно организована память внутри процесса Java.
+20
Делаем простое веб приложение на Spring Framework MVC
13 мин
254K
В данной статье я хочу рассказать начинающим Java разработчикам, как написать простое веб приложение, используя популярный фреймворк Spring Framework.
При разрабокте приложения мы будем использовать утилиту Ant для автоматизации действий и изучим, как писать простой тест с помощью библиотеки JUnit. Весь код будем писать в Eclipse IDE.
Статья написана на основе первой части руководства «Introduction to Spring MVC». Вам достаточно иметь лишь общее представление о Spring, чтобы прочитать статью с пользой.
Так что милости просим :)
+30
Корпоративный портал Jahia – обзор архитектуры (часть 2)
12 мин
4.7KПеревод
Вы читаете вторую часть обзора архитектуры корпоративного портала Jahia.
+3
Корпоративный портал Jahia – обзор архитектуры (часть 1)
13 мин
7.8KПеревод
В статье представлен высокоуровневый обзор архитектуры корпоративного портала Jahia.
Jahia – одна из немногих open source систем, которая объединяет Java EE портал и управление
контентом в один продукт. CMS является законченным решением, представляющим альтернативу порталам
от крупных компаний.
Обзор призван помочь читателю разобраться с различными компонентами системы и связями между ними.
Также данный обзор может послужить основой для понимания исходного кода системы, который является
свободно доступным.
Jahia – одна из немногих open source систем, которая объединяет Java EE портал и управление
контентом в один продукт. CMS является законченным решением, представляющим альтернативу порталам
от крупных компаний.
Обзор призван помочь читателю разобраться с различными компонентами системы и связями между ними.
Также данный обзор может послужить основой для понимания исходного кода системы, который является
свободно доступным.
+2
Java и паттерн Public Morozov
3 мин
33KОднажды понадобилось мне переопределить на работающей программе поле, помеченное как private final. Причем останавливать программу было нельзя, ибо сервер. Ну и как маленькое дополнение тип переменной был определен как inner класс. Разумеется тоже private.
К счастью, программа позволяет на ходу подключать модули, содержащие произвольный код. А значит — в нашем распоряжении вся мощь reflection!
К счастью, программа позволяет на ходу подключать модули, содержащие произвольный код. А значит — в нашем распоряжении вся мощь reflection!
+37
Пишем парсер на Java + MySQL
15 мин
44KНедавно пробегал на Хабре пост про базу доменных имен с электронной почтой. Решил написать парсер, чтоб благополучно слить всю эту базу. Но так как очень быстро сервис загнулся в силу хабраэффекта (а может админы пофиксили, черт его знает), я пошел дальше и нашел просто базу доменов в plaintext'е в зоне .RU. Решил ее пропарсить с помощью whois на nic.ru. Но на последнем действует скрипт, благополучно притормаживая слив базы с одного ip адреса. Выход — использование proxy листа. И, будучи благополучно задушенным жабой покупать прокси листы, я решил написать на Java два скрипта:
1. Парсит samair.ru/proxy и сливает в mysql прокси лист.
2. Проходит по базе и проверяет timeout полученных проксей.
1. Парсит samair.ru/proxy и сливает в mysql прокси лист.
2. Проходит по базе и проверяет timeout полученных проксей.
-3