Apache Wicket - Apache Wicket

Apache Wicket
Apache Wicket logo.png
ӘзірлеушілерApache Software Foundation
Тұрақты шығарылым
7.х7.17.0 / 16 шілде 2020 ж; 4 ай бұрын (2020-07-16)[1]
8.х8.9.0 / 11 шілде 2020 ж; 4 ай бұрын (2020-07-11)[2]
9.х9.0.0 / 8 шілде 2020 ж; 4 ай бұрын (2020-07-08)[3]
РепозиторийWicket репозиторийі (айна)
ЖазылғанJava
ТүріВеб-бағдарламаның құрылымы
ЛицензияApache лицензиясы 2.0
Веб-сайтбикет.apache.org

Apache Wicket, әдетте деп аталады Бикет, компоненттерге негізделген веб-бағдарламаның негізі үшін Java бағдарламалау тілі тұжырымдамалық тұрғыдан ұқсас JavaServer Faces және Гобелен. Оны Джонатан Локк 2004 жылы сәуірде жазған. 1.0 нұсқасы 2005 жылдың маусым айында шыққан. Ан Apache 2007 жылғы маусымда жоғары деңгейлі жоба.[4]

Негіздеме

Дәстүрлі модель-қарау-контроллері (MVC) шеңберлер тұтасымен жұмыс істейді сұраныстар және барлық беттер. Әрбір сұраныс циклінде кіріс сұраныс а бойынша әдіспен салыстырылады контроллер объект, содан кейін шығыс жауабын толығымен шығарады, әдетте а-дан мәліметтерді шығару арқылы модель толтыру көрініс мамандандырылған түрде жазылған шаблонды белгілеу. Бұл қосымшаны сақтайды басқару ағыны қарапайым және түсінікті, бірақ жасай алады кодты қайта пайдалану контроллерде қиын.

Керісінше, Wicket кейіннен тығыздалған мемлекеттік GUI сияқты құрылымдар Әткеншек. Wicket қосымшалары - бұл ағаштар компоненттертыңдаушыны қолданатын делегаттар реакция жасау HTTP сілтемелер мен формаларға қарсы сұраулар Swing компоненттері тышқан мен пернелерді басу оқиғаларына реакция жасағандай. Wicket компоненттік негіз ретінде жіктеледі.

Дизайн

Wicket қарапайым пайдаланады XHTML темплирование үшін (презентацияның нақты бөлінуін талап етеді және іскерлік логика және шаблондарды әдеттегідей редакциялауға мүмкіндік береді WYSIWYG жобалау құралдары[5]). Әр компонент XHTML-дегі аталған элементпен байланысты және бұл элементті қорытынды шығаруда жауап береді. The бет жай құрамдас бөлігі болып табылады және дәл бір XHTML шаблонымен жұптасады. Арнайы тегті қолдану арқылы жеке компоненттер тобы а деп аталатын бір компонентке абстракциялануы мүмкін панель, содан кейін оны сол бетте, басқа беттерде немесе тіпті басқа панельдерде қайта пайдалануға болады.

Әр компонент компоненттің күйін білдіретін өзіндік модельмен қамтамасыз етілген. Құрылымда компоненттердің өз модельдерімен өзара әрекеттесуі туралы білімдері жоқ, олар қарастырылады мөлдір емес нысандар автоматты түрде серияланған және табанды сұраулар арасында. Неғұрлым күрделі модельдер жасалуы мүмкін ажыратылатын және қамтамасыз ету ілгектер әр сұраныстың басында және соңында сақтауды және қалпына келтіруді ұйымдастыруға. Wicket белгілі бір тұрақтылықты талап етпейді немесе ORM қабаты, сондықтан қосымшаларда көбінесе кейбір комбинациясы қолданылады Ұйықтау нысандар[дәйексөз қажет ], EJB немесе POJOs модель ретінде.

Wicket-те барлық сервер жағындағы күй автоматты түрде басқарылады. Күйді сақтау үшін ешқашан HttpSession нысанын немесе ұқсас ораушыны тікелей қолдануға болмайды. Оның орнына күй компоненттермен байланысты. Әрбір сервер жағындағы компонент күйге енетін иерархияны иемденеді, мұнда әрбір компоненттің моделі, соңында, POJO (Plain Old Java Object) болып табылады.

Wicket қарапайымдылыққа бағытталған. Wicket-те оқитын конфигурация файлдары жоқ. Wicket - бұл компоненттер құрылымына дәйекті көзқараспен қарапайым сынып кітапханасы.

Мысал

A Сәлем Әлем Төрт файлдан тұратын Wicket қосымшасы:

HelloWorld.html
XHTML үлгісі.
      «http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd»> 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>    <аралық бикет: id =«хабар» id =«хабар»>Хабар осында</span></body></html>
HelloWorld.java
Үлгіге байланысты болатын бет компоненті. Ол өз кезегінде еншілес компонентті байланыстырады («хабарлама» деп аталатын Label компоненті).
пакет org.wikipedia.wicket;импорт org.apache.wicket.markup.html.WebPage;импорт org.apache.wicket.markup.html.basic.Label;қоғамдық сынып Сәлем Әлем ұзарады Веб парақ {    /**     * Конструктор     */    қоғамдық Сәлем Әлем() {        қосу(жаңа Заттаңба(«хабар», «Сәлем Әлем!»));    }}
HelloWorldApplication.java
Басты бетке сұраныстарды HelloWorld бет компонентіне бағыттайтын негізгі қосымшалар класы.
пакет org.wikipedia.wicket;импорт org.apache.wicket.protocol.http.WebApplication;қоғамдық сынып HelloWorldApplication ұзарады WebApplication {    /**     * Конструктор.     */    қоғамдық HelloWorldApplication() {    }    /**     * @see org.apache.wicket.Application # getHomePage ()     */    қоғамдық Сынып getHomePage() {        қайту Сәлем Әлем.сынып;    }}
web.xml
The сервлет қолдану Орналастыру дескрипторы, ол Wicket-ті сервлет үшін әдепкі өңдеуші ретінде орнатады және HelloWorldApplication іске қосылуына себеп болады.
<?xml version="1.0" encoding="UTF-8"?><веб-қосымша 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» нұсқа ="2.5">    <display-name>Wicket мысалы</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 нұсқалары
СерияСипаттамаСоңғы шығарылымСоңғы шыққан күні
Ағымдағы тұрақты нұсқа: 9.хJava 11-ге қажетті минималды платформа ретінде көшу, JUnit 4-тен 5-ке көшу, Java 12 және 13-ке қолдау көрсету, бетті қайта өңдеу және деректерді сақтау және басқа жақсартулар.[6]9.0.02020-07-08
Ескі нұсқасы, әлі де сақталған: 8.хJava 8-ге қажетті минималды платформа ретінде көшу. Lambdas-қа қолдау, 3.1-ге ауысатын Servlet API нұсқасы, күндерді өңдеуге арналған жаңа түрлерге қолдау және басқа жақсартулар.[7] 9.x нұсқасына дейін жаңартуға кеңес береміз.8.9.02020-07-11
Ескі нұсқасы, әлі де сақталған: 7.хҚажетті минималды платформа ретінде Java 7-ге көшу, сайттар арасында жалған құжат жасаудың алдын-алу, кірістірілген суреттерді қолдау. Шығарылым 300-ге жуық мүмкіндіктерден, жақсартулардан және түзетулерден тұрады.[8] 9.x нұсқасына дейін жаңартуға ұсынылған қауіпсіздік түзетулері ғана.7.17.02020-07-16
Ескі нұсқасы, енді қолданылмайды: 6.хJava 6-ға қажетті минималды платформа ретінде көшу. Қораптан тыс jQuery интеграциясы, AJAX сұраныстарын толық бақылау, браузерлерде оқиғаларды тіркеуді жақсарту, үлкен мәліметтер жиынтығын қолдау, клиенттік JavaScript кітапханалары үшін тәуелділікті басқару, веб-желілерді тәжірибелік қолдау.[9]6.30.02018-12-05
Ескі нұсқасы, енді қолданылмайды: 1.5.xWicket мүмкіндіктерін жақсарту.[10]1.5.162016-08-05
Ескі нұсқасы, енді қолданылмайды: 1.4.xJava 5-ке қажетті минималды платформа ретінде көшу.[11]1.4.232014-02-06
Ескі нұсқасы, енді қолданылмайды: 1.3.x1.3.72009-07-30
Ескі нұсқасы, енді қолданылмайды: 1.2.x1.2.72008-03-23
Ескі нұсқасы, енді қолданылмайды: 1.1.x1.1.1ТБД
Ескі нұсқасы, енді қолданылмайды: 1.0.x1.0.3ТБД
Аңыз:
Ескі нұсқа
Ескі нұсқасы, әлі де сақталған
Соңғы нұсқасы
Соңғы алдын ала қарау нұсқасы
Болашақ шығарылым

Сондай-ақ қараңыз

Әдебиеттер тізімі

  • Серегатти Лонго, Джоао Савио (26 тамыз, 2013). Instant Apache Wicket 6 (1-ші басылым). Packt Publishing. б. 54. ISBN  978-1783280018.
  • Мадер, Джохен (28.03.2012). Wicket: Komponentenbasiert und objektorientiert (1-ші басылым). Энтвиклер. б. 220. ISBN  978-3868020816. Архивтелген түпнұсқа 2010-12-23. Алынған 2009-01-23.
  • Вайнберг, Игорь (2011 ж. 15 мамыр). Apache Wicket Cookbook (1-ші басылым). Packt Publishing. б. 312. ISBN  978-1-84951-160-5.
  • Дашорст, Мартин; Hillenius, Eelco (15 қыркүйек, 2008). Іс-әрекет (1-ші басылым). Manning басылымдары. б. 392. ISBN  978-1-932394-98-6.
  • Гурумурти, Картик (7 қыркүйек, 2006). Pro Wicket (1-ші басылым). Апрес. б. 328. ISBN  1-59059-722-2. Архивтелген түпнұсқа 2010-12-23. Алынған 2009-01-23.

Ескертулер

  1. ^ «Apache Wicket 7.17.0 шығарылымы». Алынған 5 қазан 2020.
  2. ^ «Apache Wicket 8.9.0 шығарылымы». Алынған 5 қазан 2020.
  3. ^ «Apache Wicket 9.0.0 шығарылымы». Алынған 5 қазан 2020.
  4. ^ Dashorst, Martijn (2007-07-20). «Apache Инкубациясының Wicket түлектері». Алынған 2008-03-07.
  5. ^ Карлтон, Даниэль (2007-10-12). «Java Web Development Wicket Way». DevX. Мұрағатталды түпнұсқадан 2008 жылғы 10 наурызда. Алынған 2008-03-07.
  6. ^ Apache Wicket 9 жариялау: заманауи Java әлеміне ену!. wicket.apache.org. 2020-10-05 шығарылды.
  7. ^ Apache Wicket 8-ті жариялау: аз жаз, көп нәрсеге қол жеткіз. wicket.apache.org. 2018-05-22 алынды.
  8. ^ Apache Wicket v7.0 шығарылды. wicket.apache.org. 2018-04-16 аралығында алынды.
  9. ^ Apache Wicket v6.0.0 шығарылды. wicket.apache.org. 2020-10-05 шығарылды.
  10. ^ Apache Wicket - Apache Wicket Wicket 1.5 шығарады. Wicket.apache.org. 2013-08-13 аралығында алынды. Мұрағатталды 6 қазан 2014 ж., Сағ Wayback Machine
  11. ^ Apache Wicket - Apache Wicket 1.4 қауіпсіздікті келесі деңгейге шығарады Мұрағатталды 25 сәуір 2012 ж Wayback Machine. Wicket.apache.org. 2013-08-13 аралығында алынды.

Сыртқы сілтемелер

Ресми сайт Мұны Wikidata-да өзгертіңіз