Java приложения, Java-программы, Java технологии и секреты, J2SE, J2EE, проект Jakarta
February
Описание Velocity Framework
Posted in: Java open-source проекты, Java technologies, J2SE | 2 Comments
Velocity - один из множества подпроектов Jakarta. Это своеобразный движок для обработки шаблонов. Velocity framework позволяет дизайнерам веб-страниц обращаться к методам Java классов. С помощью этого движка можно генерировать веб-страницы, SQL-запросы, XML-документы и т.д.
Вы наверное сразу вспомнили технологию XSL. Да, это тоже обработчик шаблонов, но XSL-преобразования удобнее выполнять при работе с XML-документом, а Velocity помогает при непосредственной работе с Java-объектами.
Перечислю некоторые преимущества движка:
- язык шаблонов VTL прост в изучении (в чем вы убедитесь дальше);
- позволяет веб-дизайнеру и программисту работать раздельно;
- отделяет Java-код от кода веб-страниц;
- удобен при создании библиотек тэгов для JSP;
- может послужить альтернативой для JSP или PHP.
Перейдем к описанию языковых конструкций VTL (Velocity Template Language).
(more…)
February
Standard Widget Toolkit (SWT Eclipse GUI)
Posted in: Java GUI, Swing, AWT, SWT, Java technologies, J2SE | 5 Comments
Познакомился еще с одной Java-библиотекой для создания GUI. Это Standard Widget Toolkit (SWT). Приложения SWT разрабатываются с использованием Eclipse workbench.
SWT приложения используют ОС-зависимый код (native), поэтому они быстрее Java GUI написанных на AWT и тем более на Swing.
(more…)
February
Графический интерфейс на Java (Swing GUI Tutorial)
Posted in: Java GUI, Swing, AWT, SWT, Java technologies, J2SE | 7 Comments
В Java есть 2 основных пакета для создания графических интерфейсов (Graphics User Interface). Это Abstract Windows Toolkit (AWT) и Swing. AWT использует виджеты операционной системы, поэтому эта библиотека немного быстрее. На мой взгляд, Swing более хорошо спроектирован.
В данной статье мы рассмотрим основные элементы библиотеки Swing и создадим простой интерфейс (GUI) в качестве примера.
(more…)
February
Думаю, многие встречались с необходимостью распаковывать zip-архивы из программ.
Давайте напишем небольшую утилиту на Java для извлечения фалов из zip-архива. Необходимые нам классы находятся в пакете java.util.zip - это ZipFile и ZipEntry. В примере импорт классов опущен. Итак:
(more…)
February
В данной статье я хочу рассказать вам о програмных продуктах, написанных на Java, которые я использую чуть ли не каждый день: Intellij Idea, Aqua Data Studio, Poseidon for UML.
(more…)
January
Ограничение доступа или защита jsp-страниц
Posted in: Java Web Design, J2EE, Java technologies, J2SE | 4 Comments
В этой статье я приведу небольшой пример того, как защитить jsp-страницы вашего приложения от несанкционированного доступа.
Все, что вам нужно, - это создать небольшой Java-класс и наследовать jsp-страницы от него.
А вот и упрощенный пример такого класса (импорт пакетов опущен):
(more…)
January
Кэширование страниц браузерами (FireFox, Opera) действительно полезная вещь. Правда, иногда это только мешает.
При разработке серьезных веб-приложений (в частности с помощью Java) важна актуальность информации на страницах сайта. В этом случае нужно застраховаться от того, что кто-то из пользователей во всю пользуется возможностью браузера кэшировать страницы.
Есть простой способ решить эту проблему.
(more…)
January
Анти-паттерн проектирования (Java): интерфейс для констант
Posted in: Java technologies, J2SE, Паттерны проектирования | 17 Comments
Ошибка, которая будет описана в данной статье, иногда привлекает Java-программистов своей многообещающей простой (я знаю, о чем говорю, так как сам ее допускал).
При программировании очень часто приходится использовать константы. Константа, описанная в некотором классе, иногда может понадобится и в другом классе.
Если описать константу в интерфейсе, назовем его символично Unacceptable, то затем можно декларировать любой класс как реализующий (implements) этот интерфейс (interface) и использовать нашу полезную константу:
(more…)
January
Тестирование с помощью JUnit (Test Case)
Posted in: Java open-source проекты, Тестирование кода, Java technologies, J2SE | 9 Comments
English version of this article you can find here.
Тестирование далеко не всегда бывает веселым и интересным. Этот процесс обычно достаточно продолжителен и полон монотонной работы. Большинство программистов пользуются стандартным выводом или же дебаггером для тестирования их классов.
В этой статье я опишу библиотеку JUnit, которая упрощает и во многом автоматизирует процесс написания тестов.
Для демонстрации основных возможностей JUnit Framework, напишем примитивный класс на языке Java и будем над ним издеваться. Этот класс будет иметь два метода - нахождение факториала и суммы двух чисел:
(more…)
December
Использование Connection Pool (DBCP) в Tomcat
Posted in: Java open-source проекты, Java technologies, J2SE | 7 Comments
В наше время трудно представить себе веб-приложение, которое не использовало бы базу данных для своих нужд. При работе с базой данных очень важно следить за соединениями к базе и вовремя освобождать их. Для этих целей разработчики веб-приложений пишут так называемые Connection Pools (или же используют/исправляют существующие).
Одним из лучших сервлет-контейнеров есть Apache Tomcat. Tomcat хорошо еще и тем, что он использует свой собственный DBCP (Database Connection Pool).
О том, как в полной мере воспользоваться преимуществами DBCP сервера Tomcat, и будет эта статья.
(more…)