Міністерство освіти і науки, молоді та спорту України
Дніпропетровський національний університет ім. Олеся Гончара
Реферат
з дисципліни:
«java технології»
на тему:
«Wicket»
Виконав студент групи КІ-11-1
Лисуненко О.В.
Перевірив ст. викладач кафедри ЄВМ
Герасимов В.В
м.Дніпропетровськ
2013р.
Введение
Развитие информационных технологий идет по вполне предсказуемому сценарию: одновременно с ростом сложности программных продуктов ужесточаются требования к срокам и стоимости реализации проектов. Поиск способов повышения рентабельности происходит преимущественно в области новейших технологий разработки программного обеспечения, позволяющих повысить эффективность труда разработчиков. Среди чисто технических решений проблемы особо стоит отметить компонентно-ориентированный подход к разработке программного обеспечения. За последние годы этот подход, заключающийся в разбиении приложения на модули с целью многократного повторного использования, хорошо зарекомендовал себя в области разработки настольных и многоуровневых приложений, а затем и в области разработки Web-приложений. За последние годы Java-программисты получили в свое распоряжение целый арсенал программных продуктов, разобраться в особенностях, преимуществах и недостатках которых не так-то и просто. Данная статья представляет читателям новейшее средство Web-разработки c компонентно-ориентированным подходом для платформы Java, библиотеку Wicket.
Apache Wicket — фреймворк с открытым исходным кодом для создания веб-приложений. Разработан Джонатаном Локе (англ. Jonathan Locke) в 2004 году. С июня 2007 года является проектом Apache Software Foundation.
В отличие от многих фреймворков, которые управляются запросами, Wicket использует подход, основанный на использовании компонентов. Состояние компонентов пользовательского интерфейса сохраняется, когда пользователь запрашивает новую страницу, и затем восстанавливается, если запрос повторяется.
Парадигма программирования Wicket знакома разработчикам Java. Им не нужно знать ничего, кроме Java и HTML. AJAX можно использовать без знания JavaScript.
Wicket очень хорошо масштабируется. Если вы работаете в команде из 2 или из 20 человек, вы будете иметь все возможности для разделения функциональности до мельчайших кусочков. В зависимости от потребностей вашего проекта и ресурсов, вы можете разделить труд разработчиков до целых страниц, (многоразовых) панелей, или даже более специализированных компонентов. Из-за того, что Wicket использует обычные HTML-страницы для описания внешнего вида страниц и панелей, вы можете использовать дизайнеров и специалистов HTML/CSS для работы над внешним видом, и им не нужно знать Java или какой-либо другой язык или синтаксис.
Подход Wicket:
Только Java и HTML — Для настроек достаточно одного стандартного файла web.xml. Не нужно тратить время на изучение правил XML-файлов или нового языка;
Настоящее повторное использование — Конечная страница может состоять из множества мелких блоков, объединенных в единое целое. Написанный код можно поместить в jar-файл и повторно использовать без изменений;
Просто и мощно одновременно — Wicket не загроможден множеством запутанных API;
Использование AJAX возможно без единой строчки на JavaScript — Да, это возможно, потому что большинство кода JavaScript генерируются самим Wicket. Но, если вы желаете, можете внедрить JavaScript и вообще всё, что угодно. Ну, или почти всё.
Wicket удобен тем, что в нём отсутствуют многочисленные XML-файлы, все настройки делаются в коде. Если требуются динамические настройки через XML, их всегда можно внедрить. Программный код полностью разделён с HTML. Программный код состоит только из Java, а в HTML добавляются только простые wicket-теги.
Общая концепция wicket Общая концепция схожа с Tapestry: страница формируется из шаблона страницы (MyPage.html), класса страницы (MyPage.java) и файла свойств (MyPage.properties). Шаблон страницы содержит обыкновенную html-разметку, в которую встраиваются wicket - компоненты. Достигается это добавлением специфичного атрибута wicket-id в обычные html теги. Класс страницы должен содержать все компоненты, указанные в шаблоне. Создаются они аналогично Swing приложению. Каждый должен быть явно создан и добавлен в страницу, в противном случае при попытке создания страницы в runtime wicket не найдет соответствия между шаблоном и классом страницы. Наконец, файл свойств необходим для локалилзации сообщений, выводимых на странице. Пример обычной страницы приведен ниже:
Шаблон
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd"> <body>
<!--menu_steps--> <table class='step_tbl' id='menu'> <tr> <td class='active'> <div> <wicket:message key="paymentMethod">payment method</wicket:message> </div> </td> <td> <div> <wicket:message key="choosingAmount">choosing amount</wicket:message> </div> </td> <td> <div> <wicket:message key="paymentInformation">payment information</wicket:message> </div> </td> </tr> </table> <!--/menu_steps-->
<div> <span wicket:id="totalSum"/> </div>
<div id="footer"> <div class='inner'> <div class='update'> Последнее обновление: </div> <div class='legal_info'> <a href="#">Соглашение</a> </div> <div class='contacts'> Телефон для связи: +7 921 000 00 00
E-mail для связи: <a href="mailto:support@blabla.ru">support@blabla.ru</a> </div> <div class='copyright'>© 2000–2010 SomeFirm</div>
</div> </div>
</body> </html> |
Класс страницы:
1 2 3 4 5 6 7 8 |
public class Base extends WebPage {
public Base(final PageParameters aParameters) { add(new Label("totalSum", "12"); } } |
Файл свойств
1 2 3 4 5 |
paymentMethod=Выбор метода платежа choosingAmount=Выбор суммы paymentInformation=Информация о платеже |