Jump to content

Апач Калитка

Апач Калитка
Разработчик(и) Фонд программного обеспечения Apache
Стабильная версия
10.0.0 [1]  Отредактируйте это в Викиданных / 11 марта 2024 г.; 4 месяца назад
Репозиторий github /апач /калитка
Написано в Ява
Тип Фреймворк веб-приложений
Лицензия Лицензия Апач 2.0
Веб-сайт калитка .apache .org

Apache Wicket , обычно называемый Wicket , представляет собой основанную на компонентах среду веб-приложений для языка программирования Java, концептуально похожую на JavaServer Faces и Tapestry . Первоначально он был написан Джонатаном Локком в апреле 2004 года. Версия 1.0 была выпущена в июне 2005 года. Apache . В июне 2007 года она превратилась в проект верхнего уровня [2]

Обоснование

[ редактировать ]

Традиционные структуры модель-представление-контроллер (MVC) работают с целыми запросами и целыми страницами. В каждом цикле запроса входящий запрос сопоставляется с методом объекта контроллера , который затем полностью генерирует исходящий ответ, обычно путем извлечения данных из модели для заполнения представления, написанного с помощью специализированной разметки шаблона . приложением Это делает поток управления простым и понятным, но может затруднить повторное использование кода в контроллере.

Напротив, Wicket тесно связан с с сохранением состояния, фреймворками GUI такими как Swing . Приложения Wicket представляют собой деревья компонентов , которые используют делегаты- прослушиватели для реагирования на HTTP- запросы к ссылкам и формам точно так же, как компоненты Swing реагируют на события мыши и нажатия клавиш. Wicket относится к категории компонентно-ориентированных фреймворков.

Wicket использует простой XHTML для создания шаблонов (что обеспечивает четкое разделение представления и бизнес-логики и позволяет редактировать шаблоны с помощью обычных WYSIWYG). инструментов проектирования [3] ). Каждый компонент привязан к именованному элементу в XHTML и отвечает за отображение этого элемента в конечном выводе. Страница представляет собой просто содержащий компонент верхнего уровня и связана ровно с одним шаблоном XHTML. С помощью специального тега группу отдельных компонентов можно объединить в один компонент, называемый панелью , который затем можно повторно использовать целиком на этой странице, других страницах или даже других панелях.

Каждый компонент поддерживается собственной моделью, которая представляет состояние компонента. Платформа не знает, как компоненты взаимодействуют со своими моделями, которые рассматриваются как непрозрачные объекты, автоматически сериализуемые и сохраняемые между запросами. Однако более сложные модели можно сделать съемными и предоставить крючки для организации собственного хранения и восстановления в начале и конце каждого цикла запроса. Wicket не требует какого-либо конкретного уровня сохранения объектов или ORM , поэтому приложения часто используют некоторую комбинацию Hibernate . объектов [ нужна ссылка ] , EJB или POJO в качестве моделей.

В Wicket все состояния на стороне сервера управляются автоматически. Никогда не следует напрямую использовать объект HttpSession или аналогичную оболочку для хранения состояния. Вместо этого состояние связано с компонентами. Каждый серверный компонент страницы содержит вложенную иерархию компонентов с состоянием, где модель каждого компонента в конечном итоге представляет собой POJO (простой старый Java-объект).

Wicket стремится к простоте. В Wicket нет файлов конфигурации, которые нужно было бы изучать. Wicket — это простая библиотека классов с единообразным подходом к структуре компонентов.

Приложение Hello World Wicket с четырьмя файлами:

HelloWorld.html
Шаблон XHTML.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" 
      xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.3-strict.dtd"
      xml:lang="en" lang="en">

<body>
    <span wicket:id="message" id="message">Message goes here</span>
</body>
</html>
HelloWorld.java
Компонент страницы, который будет привязан к шаблону. Он, в свою очередь, связывает дочерний компонент (компонент Label с именем «message»).
package org.wikipedia.wicket;

import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;

public class HelloWorld extends WebPage {
    /**
     * Constructor
     */
    public HelloWorld() {
        add(new Label("message", "Hello World!"));
    }
}
HelloWorldApplication.java
Основной класс приложения, который направляет запросы домашней страницы компоненту страницы HelloWorld.
package org.wikipedia.wicket;

import org.apache.wicket.protocol.http.WebApplication;

public class HelloWorldApplication extends WebApplication {
    /**
     * Constructor.
     */
    public HelloWorldApplication() {
    }

    /**
     * @see org.apache.wicket.Application#getHomePage()
     */
    public Class getHomePage() {
        return HelloWorld.class;
    }
}
веб.xml
Дескриптор сервлета приложения развертывания , который устанавливает Wicket в качестве обработчика по умолчанию для сервлета и обеспечивает создание экземпляра HelloWorldApplication при запуске.
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
         xmlns="http://java.sun.com/xml/ns/javaee" 
         xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
                             http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
         id="WebApp_ID" version="2.5">
    <display-name>Wicket Example</display-name>
    <filter>
        <filter-name>HelloWorldApplication</filter-name>
        <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
        <init-param>
            <param-name>applicationClassName</param-name>
            <param-value>org.wikipedia.wicket.HelloWorldApplication</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>HelloWorldApplication</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>

Компоненты

[ редактировать ]

Основные компоненты, такие как форма, ссылки, повторители и т. д., встроены.

Версии Apache Wicket
Ряд Описание Последний выпуск Последняя дата выпуска
Текущая стабильная версия: 10.x. Перенесен с API Javax на API Jakarta. Зависимости обновлены для поддержки Spring Framework 6 и, следовательно, переходят на Java 17 в качестве необходимой минимальной платформы и совместимы с Java 21. CGLib заменен на ByteBuddy. [4] 10.0.0 2024-03-11
Текущая стабильная версия: 9.x. Переход на Java 11 в качестве необходимой минимальной платформы, переход с JUnit 4 на 5, поддержка Java 12 и 13, переработка страницы и хранилища данных и другие улучшения. [5] 9.16.0 2023-11-23
Старая версия, но все еще поддерживается: 8.x. Переход на Java 8 как необходимую минимальную платформу. Поддержка Lambdas, обязательный переход версии API сервлетов на 3.1, поддержка новых типов для обработки дат и другие улучшения. [6] Рекомендуется обновиться до версии 9.x. 8.14.0 2022-01-29
Старая версия, но все еще поддерживается: 7.x. Переход на Java 7 в качестве необходимой минимальной платформы, предотвращение подделки межсайтовых запросов, поддержка встроенных изображений. Релиз состоит из почти 300 функций, улучшений и исправлений. [7] Только исправления безопасности, рекомендуется обновиться до версии 9.x. 7.18.0 2021-04-02
Старая версия, больше не поддерживается: 6.x. Переход на Java 6 как необходимую минимальную платформу. Готовая интеграция jQuery, полный контроль над запросами AJAX, улучшенная регистрация событий в браузерах, поддержка больших наборов данных, управление зависимостями для клиентских библиотек JavaScript, экспериментальная поддержка веб-сокетов. [8] 6.30.0 2018-12-05
Старая версия, больше не поддерживается: 1.5.x. Улучшения функций Wicket. [9] 1.5.16 2016-08-05
Старая версия, больше не поддерживается: 1.4.x. Переход на Java 5 как необходимую минимальную платформу. [10] 1.4.23 2014-02-06
Старая версия, больше не поддерживается: 1.3.x. 1.3.7 2009-07-30
Старая версия, больше не поддерживается: 1.2.x. 1.2.7 2008-03-23
Старая версия, больше не поддерживается: 1.1.x. 1.1.1 подлежит уточнению
Старая версия, больше не поддерживается: 1.0.x. 1.0.3 подлежит уточнению
Legend:
Старая версия
Старая версия, все еще поддерживается
Последняя версия
Последняя предварительная версия
Future release

См. также

[ редактировать ]
  • Черегатти Лонго, Жоау Савио (26 августа 2013 г.). Мгновенный Apache Wicket 6 (1-е изд.). Пакт Паблишинг . п. 54. ИСБН  978-1783280018 .
  • Мадер, Йохен (28 марта 2012 г.). Калитка: компонентная и объектно-ориентированная (1-е изд.). Разработчик . п. 220. ИСБН  978-3868020816 . Архивировано из оригинала 23 декабря 2010 г. Проверено 23 января 2009 г.
  • Вайнберг, Игорь (15 мая 2011 г.). Поваренная книга Apache Wicket (1-е изд.). Пакт Паблишинг . п. 312. ИСБН  978-1-84951-160-5 .
  • Дашорст, Мартейн; Хиллениус, Eelco (15 сентября 2008 г.). Калитка в действии (1-е изд.). Публикации Мэннинга . п. 392. ИСБН  978-1-932394-98-6 .
  • Гурумурти, Картик (7 сентября 2006 г.). Про Калитка (1-е изд.). Апресс . п. 328. ИСБН  1-59059-722-2 . Архивировано из оригинала 23 декабря 2010 г. Проверено 23 января 2009 г.

Примечания

[ редактировать ]
  1. ^ https://wicket.apache.org/news/2024/03/ . {{cite web}}: Отсутствует или пусто |title= ( помощь )
  2. ^ Дашорст, Мартейн (20 июля 2007 г.). «Wicket выпускники Apache Incubation» . Проверено 7 марта 2008 г.
  3. ^ Карлтон, Дэниел (12 октября 2007 г.). «Веб-разработка на Java: путь калитки» . ДевХ. Архивировано из оригинала 10 марта 2008 года . Проверено 7 марта 2008 г.
  4. ^ Анонс Apache Wicket 10: создавайте современные веб-приложения с помощью Java! . wicket.apache.org. Проверено 11 марта 2024 г.
  5. ^ Анонс Apache Wicket 9: окунитесь в современный мир Java! . wicket.apache.org. Проверено 5 октября 2020 г.
  6. ^ Анонс Apache Wicket 8: пишите меньше, достигайте большего . wicket.apache.org. Проверено 22 мая 2018 г.
  7. ^ Выпущен Apache Wicket v7.0 . wicket.apache.org. Проверено 16 апреля 2018 г.
  8. ^ Выпущен Apache Wicket v6.0.0 . wicket.apache.org. Проверено 5 октября 2020 г.
  9. ^ Apache Wicket — Apache Wicket выпускает Wicket 1.5 . Wicket.apache.org. Проверено 13 августа 2013 г. Архивировано 6 октября 2014 г. в Wayback Machine.
  10. ^ Apache Wicket — Apache Wicket 1.4 выводит типобезопасность на новый уровень. Архивировано 25 апреля 2012 г. на Wayback Machine . Wicket.apache.org. Проверено 13 августа 2013 г.
[ редактировать ]

Официальный сайт Отредактируйте это в Викиданных

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: ef91dadf52865981da7b8c97edec923d__1714587240
URL1:https://arc.ask3.ru/arc/aa/ef/3d/ef91dadf52865981da7b8c97edec923d.html
Заголовок, (Title) документа по адресу, URL1:
Apache Wicket - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)