Apache branka - Apache Wicket
![]() | |
Vývojáři | Softwarová nadace Apache |
---|---|
Stabilní uvolnění | |
Úložiště | Wicket Repository (Mirror) |
Napsáno | Jáva |
Typ | Rámec webových aplikací |
Licence | Licence Apache 2.0 |
webová stránka | branka |
Apache branka, běžně označované jako Branka, je založen na komponentách rámec webových aplikací pro Programovací jazyk Java koncepčně podobný Tváře JavaServeru a Gobelín. To bylo původně napsáno Jonathanem Lockem v dubnu 2004. Verze 1.0 byla vydána v červnu 2005. Promovala do Apache projekt nejvyšší úrovně v červnu 2007.[4]
Odůvodnění
Tradiční řadič pohledu modelu (MVC) rámce fungují z hlediska celku žádosti a celé stránky. V každém cyklu požadavku je příchozí požadavek mapován na metodu na a ovladač objekt, který poté generuje odchozí odpověď v plném rozsahu, obvykle vytažením dat z a Modelka naplnit a Pohled napsáno odborně označení šablony. To udržuje aplikace tok kontroly jednoduché a jasné, ale může opětovné použití kódu v ovladači obtížné.
Naproti tomu Wicket je úzce vzorován stavový GUI rámce jako Houpačka. Integrované aplikace jsou stromy komponenty, kteří používají posluchače delegáti reagovat HTTP požadavky na odkazy a formuláře stejným způsobem, jakým komponenty Swing reagují na události myši a stisknutí kláves. Wicket je kategorizován jako rámec založený na komponentách.
Design
Branka používá prostý XHTML pro šablonování (které vynucuje jasné oddělení prezentace a obchodní logika a umožňuje úpravy šablon konvenčními WYSIWYG návrhové nástroje[5]). Každá komponenta je vázána na pojmenovaný prvek v XHTML a stává se odpovědným za vykreslení tohoto prvku v konečném výstupu. The strana je jednoduše součást obsahující nejvyšší úroveň a je spárována s přesně jednou šablonou XHTML. Pomocí speciální značky může být skupina jednotlivých komponent abstrahována do jedné komponenty zvané a panel, které lze poté znovu použít celé na této stránce, jiných stránkách nebo dokonce v jiných panelech.
Každá komponenta je podložena svým vlastním modelem, který představuje stav komponenty. Rámec nemá znalosti o tom, jak komponenty interagují s jejich modely, s nimiž se zachází jako s neprůhledný objekty automaticky serializováno a vytrval mezi požadavky. Mohou však být vyrobeny složitější modely odnímatelný a poskytnout háčky zajistit vlastní skladování a obnovu na začátku a na konci každého cyklu žádosti. Wicket nestanoví žádnou konkrétní perzistenci objektu nebo ORM vrstva, takže aplikace často používají nějakou kombinaci Přezimovat předměty[Citace je zapotřebí ], EJB nebo POJO jako modely.
V brance je automaticky spravován veškerý stav na straně serveru. K ukládání stavu byste nikdy neměli přímo používat objekt HttpSession nebo podobný wrapper. Místo toho je stav přidružen ke komponentám. Každá komponenta na straně serveru obsahuje vnořenou hierarchii stavových komponent, kde je model každé komponenty nakonec POJO (Plain Old Java Object)
Wicket usiluje o jednoduchost. Ve Wicketu nejsou k dispozici žádné konfigurační soubory. Wicket je jednoduchá knihovna tříd s konzistentním přístupem ke struktuře komponent.
Příklad
A Ahoj světe Integrovaná aplikace se čtyřmi soubory:
- HelloWorld.html
- Šablona XHTML.
„http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“> xmlns =„http://www.w3.org/1999/xhtml“ xmlns: branka =„http://wicket.apache.org/dtds.data/wicket-xhtml1.3-strict.dtd“ xml: lang =„cs“ lang =„cs“><body> branka: id ="zpráva" id ="zpráva">Zpráva jde sem</span></body></html>
- HelloWorld.java
- Součást stránky, která bude svázána s šablonou. Na druhé straně váže podřízenou komponentu (komponenta Label s názvem „message“).
balík org.wikipedia.wicket;import org.apache.wicket.markup.html.WebPage;import org.apache.wicket.markup.html.základní.štítek;veřejnost třída Ahoj světe rozšiřuje Webová stránka { /** * Konstruktor */ veřejnost Ahoj světe() { přidat(Nový Označení("zpráva", "Ahoj světe!")); }}
- HelloWorldApplication.java
- Hlavní třída aplikace, která směruje požadavky na domovskou stránku na komponentu stránky HelloWorld.
balík org.wikipedia.wicket;import org.apache.wicket.protocol.http.WebApplication;veřejnost třída HelloWorldApplication rozšiřuje Webová aplikace { /** * Konstruktor. */ veřejnost HelloWorldApplication() { } /** * @see org.apache.wicket.Application # getHomePage () */ veřejnost Třída getHomePage() { vrátit se Ahoj světe.třída; }}
- web.xml
- The servlet aplikace Deskriptor nasazení, který nainstaluje Wicket jako výchozí obslužnou rutinu pro servlet a zajistí vytvoření instance HelloWorldApplication při spuštění.
<?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“ verze ="2.5"> <display-name>Příklad branky</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>
Součásti
Základní komponenty jako forma, odkazy, opakovače atd. Jsou integrovány.
Zprávy
Série | Popis | Poslední vydání | Poslední datum vydání |
---|---|---|---|
9.x | Přechod na Javu 11 jako požadovanou minimální platformu, migrace z JUnit 4 na 5, podpora pro Javu 12 a 13, přepracování stránky a ukládání dat a další vylepšení.[6] | 9.0.0 | 2020-07-08 |
8.x | Přechod na Java 8 jako požadovaná minimální platforma. Podpora pro Lambdas, požadovaná verze Servlet API s přechodem na 3.1, podpora nových typů pro zpracování dat a další vylepšení.[7] Doporučeno upgradovat na verzi 9.x. | 8.9.0 | 2020-07-11 |
7.x | Přechod na Javu 7 jako požadovanou minimální platformu, prevence padělání mezi webovými stránkami, podpora vložených obrázků. Vydání se skládá z téměř 300 funkcí, vylepšení a oprav.[8] Pouze opravy zabezpečení, doporučuje se upgradovat na verzi 9.x. | 7.17.0 | 2020-07-16 |
6.x | Přechod na Javu 6 jako požadovanou minimální platformu. Integrovaná integrace jQuery, úplná kontrola nad požadavky AJAX, vylepšená registrace událostí v prohlížečích, podpora velkých datových sad, správa závislostí pro knihovny JavaScriptu na straně klienta, experimentální podpora pro webové zásuvky.[9] | 6.30.0 | 2018-12-05 |
1.5.x. | Vylepšení funkcí branky.[10] | 1.5.16 | 2016-08-05 |
1.4.x | Přechod na Javu 5 jako požadovanou minimální platformu.[11] | 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 | Bude upřesněno | |
1.0.x. | 1.0.3 | Bude upřesněno | |
Stará verze Starší verze, stále udržovaná Nejnovější verze Nejnovější verze náhledu |
Viz také
Reference
- Ceregatti Longo, João Sávio (26. srpna 2013). Okamžitá branka Apache 6 (1. vyd.). Packt Publishing. p. 54. ISBN 978-1783280018.
- Mader, Jochen (28. března 2012). Branka: Komponentenbasiert und objektorientiert (1. vyd.). Entwickler. p. 220. ISBN 978-3868020816. Archivovány od originál dne 2010-12-23. Citováno 2009-01-23.
- Vaynberg, Igor (15. května 2011). Kuchařka Apache Wicket (1. vyd.). Packt Publishing. p. 312. ISBN 978-1-84951-160-5.
- Dashorst, Martijn; Hillenius, Eelco (15. září 2008). Branka v akci (1. vyd.). Manning Publications. p. 392. ISBN 978-1-932394-98-6.
- Gurumurthy, Karthik (7. září 2006). Profesionální branka (1. vyd.). Apress. p. 328. ISBN 1-59059-722-2. Archivovány od originál dne 2010-12-23. Citováno 2009-01-23.
Poznámky
- ^ „Vydání Apache Wicket 7.17.0“. Citováno 5. října 2020.
- ^ „Vydání Apache Wicket 8.9.0“. Citováno 5. října 2020.
- ^ „Vydání Apache Wicket 9.0.0“. Citováno 5. října 2020.
- ^ Dashorst, Martijn (2007-07-20). „Wicket absolventi Apache inkubace“. Citováno 2008-03-07.
- ^ Carleton, Daniel (10.10.2007). „Java Web Development the Wicket Way“. DevX. Archivováno z původního dne 10. března 2008. Citováno 2008-03-07.
- ^ Oznamujeme Apache Wicket 9: vstupte do moderního světa Java!. wicket.apache.org. Citováno 2020-10-05.
- ^ Oznamujeme Apache Wicket 8: Pište méně a dosahujte více. wicket.apache.org. Citováno 2018-05-22.
- ^ Vydán Apache Wicket v7.0. wicket.apache.org. Citováno 2018-04-16.
- ^ Vydán Apache Wicket v6.0.0. wicket.apache.org. Citováno 2020-10-05.
- ^ Apache Wicket - Apache Wicket vydává Wicket 1.5. Wicket.apache.org. Citováno 2013-08-13. Archivováno 6. října 2014 na adrese Wayback Machine
- ^ Apache Wicket - Apache Wicket 1.4 posouvá bezpečnost na další úroveň Archivováno 25.dubna 2012, na Wayback Machine. Wicket.apache.org. Citováno 2013-08-13.