Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Wicket.docx
Скачиваний:
7
Добавлен:
23.03.2015
Размер:
68.23 Кб
Скачать

Міністерство освіти і науки, молоді та спорту України

Дніпропетровський національний університет ім. Олеся Гончара

Реферат

з дисципліни:

«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:

  1. Только Java и HTML — Для настроек достаточно одного стандартного файла web.xml. Не нужно тратить время на изучение правил XML-файлов или нового языка;

  2. Настоящее повторное использование — Конечная страница может состоять из множества мелких блоков, объединенных в единое целое. Написанный код можно поместить в jar-файл и повторно использовать без изменений;

  3. Просто и мощно одновременно — Wicket не загроможден множеством запутанных API;

  4. Использование 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=Информация о платеже