아파치 위켓
Apache Wicket| 개발자 | Apache 소프트웨어 재단 |
|---|---|
| 안정된 릴리스 | |
| 저장소 | gitbox |
| 기입처 | 자바 |
| 유형 | 웹 응용 프로그램 프레임워크 |
| 면허증. | Apache 라이센스 2.0 |
| 웹 사이트 | wicket |
Apache Wicket(일반적으로 Wicket이라고 함)은 Java 프로그래밍 언어를 위한 컴포넌트 기반 웹 응용 프로그램 프레임워크로 JavaServer Faces 및 Tapestry와 개념적으로 유사합니다.그것은 원래 2004년 4월에 조나단 로크에 의해 쓰여졌다.버전 1.0은 2005년6월에 출시되었습니다.2007년 [4]6월에 Apache의 톱 레벨 프로젝트로 졸업했습니다.
근거
기존의 Model-View-Controller(MVC; 모델 뷰 컨트롤러) 프레임워크는 전체 요청 및 전체 페이지에서 작동합니다.각 요구 사이클에서 착신 요구는 컨트롤러 오브젝트상의 메서드에 매핑되며, 컨트롤러 오브젝트는 통상 특정 템플릿 마크업으로 작성된 뷰를 모델로부터 꺼냄으로써 발신 응답 전체를 생성합니다.이로 인해 애플리케이션의 제어 흐름이 단순하고 명확하게 유지되지만 컨트롤러에서 코드를 재사용하기 어려울 수 있습니다.
반면 Wicket은 Swing과 같은 스테이트풀한 GUI 프레임워크에 따라 긴밀하게 패턴화되어 있습니다.Wicket 어플리케이션은 컴포넌트 트리로, Swing 컴포넌트가 마우스 및 키 입력 이벤트에 반응하는 것과 마찬가지로 리스너 위임자를 사용하여 링크 및 폼에 대한 HTTP 요구에 응답합니다.Wicket은 컴포넌트 기반 프레임워크로 분류됩니다.
설계.
Wicket은 템플릿 작성에 플레인 XHTML을 사용합니다(프레젠테이션과 비즈니스 로직을 명확하게 구분하고 기존 WYSIWYG 설계[5] 도구로 템플릿을 편집할 수 있습니다).각 컴포넌트는 XHTML의 이름 있는 요소에 바인드되어 최종 출력에서 해당 요소를 렌더링하는 역할을 합니다.이 페이지는 단순히 최상위 수준 포함 구성 요소이며 정확히 하나의 XHTML 템플릿과 쌍을 이룹니다.특수한 태그를 사용하여 개별 컴포넌트 그룹을 패널이라는 단일 컴포넌트로 추상화할 수 있습니다.이러한 컴포넌트는, 그 페이지, 다른 페이지, 또는 그 외의 패널에서도 완전하게 재사용할 수 있습니다.
각 구성 요소는 구성 요소의 상태를 나타내는 자체 모델에 의해 백업됩니다.이 프레임워크에서는 컴포넌트가 해당 모델과 어떻게 상호 작용하는지에 대한 지식이 없습니다.이 모델은 요청 간에 자동으로 직렬화되고 유지되는 불투명한 개체로 처리됩니다.그러나 보다 복잡한 모델은 분리 가능하며 각 요청 사이클의 시작과 종료 시 자체 저장 및 복원을 준비할 수 있는 후크를 제공할 수 있습니다.Wicket은 특정 객체 영속성 또는 ORM 계층을 요구하지 않기 때문에 응용 프로그램에서는 종종 Hibernate[citation needed] 객체, EJB 또는 POJO의 조합을 모델로 사용합니다.
Wicket에서는 모든 서버 측 상태가 자동으로 관리됩니다.상태를 저장하기 위해 HttpSession 개체 또는 유사한 래퍼를 직접 사용하지 마십시오.대신 상태는 컴포넌트와 관련지어집니다.각 서버측 페이지 컴포넌트는 스테이트풀 컴포넌트의 중첩된 계층을 유지합니다.여기서 각 컴포넌트의 모델은 최종적으로 POJO(Plain Old Java Object)입니다.
Wicket은 단순함을 지향한다.Wicket에서 학습할 구성 파일이 없습니다.Wicket은 컴포넌트 구조에 대한 일관된 접근 방식을 가진 단순한 클래스 라이브러리입니다.
예
4개의 파일이 있는 Hello World Wicket 응용 프로그램:
- HelloWorld.html
- XHTML 템플릿
<!DO3}PE html PUBLIC -//W3C//DTD XHTML 1.0 전환기//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <body xmlns="http://wicket.apache.org/dtds.data/wicket-xhtml1.3-strict.dtd" xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.3-strict.dtd" xml:s="en"lang="en"en"> <body> <span wicket:id=" id=" id=" 메시지메시지가 여기에 표시됩니다.< / span > < / body > < / html >- HelloWorld.java
- 템플릿에 바인딩되는 페이지 구성요소.그런 다음 하위 구성 요소("메시지"라는 이름의 레이블 구성 요소)를 바인딩합니다.
패키지 org.module을 클릭합니다.위켓; 수입품 org.module을 클릭합니다.wicket.disc.disc.disc.disc.웹 페이지; 수입품 org.module을 클릭합니다.wicket.syslog.basic.라벨.; 일반의 학급 안녕 세계 확장 웹 페이지 { /** * 컨스트럭터 */ 일반의 안녕 세계() { 더하다(신규 라벨.("메시지, '헬로 월드')); } } - HelloWorld 어플리케이션자바
- 홈페이지 요구를 HelloWorld 페이지컴포넌트로 라우팅하는 메인응용 프로그램클래스
패키지 org.module을 클릭합니다.위켓; 수입품 org.module을 클릭합니다.wicket.disc.disc.disc.disc.웹 응용 프로그램; 일반의 학급 Hello World 응용 프로그램 확장 웹 응용 프로그램 { /** * 컨스트럭터 */ 일반의 Hello World 응용 프로그램() { } /** * @ org.module 참조.wicket.어플리케이션#가져오기홈페이지() */ 일반의 학급 홈페이지 가져오기() { 돌아가다 안녕 세계.학급; } } - web.xml
- 서블릿 어플리케이션의 디폴트핸들러로서 Wicket 를 인스톨 해, 기동시에 HelloWorld Application 의 인스턴스화를 준비합니다.
<?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" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee" id="WebApp_"ID" version="2"5"> <표시명>Wicket의 예 </display-name> <filter> <filter-name>HelloWorld Application </filter-name> <filter-class>org.apache.wicket.disc.disc.disc.disc.WicketFilter </filter-class> <init-param> <param-name> applicationClassName</param-name> <param-value>org.Wikipedia를 참조해 주세요.wicket.HelloWorld Application </param-value> </init-param> </filter> <filter-mapping> <filter-name>HelloWorld Application </filter-name> <url-pattern> /* </filter-mapping> </web-app>구성 요소들
양식, 링크, 리피터 등의 기본 컴포넌트가 내장되어 있습니다.
릴리스
| 시리즈 | 묘사 | 최신 릴리즈 | 최신 출시일 |
|---|---|---|---|
| 9.x | JUnit 4에서5로의 이행, Java 12 및 13 지원, 재작업 페이지 및 데이터 스토리지 및 기타 [6]개선사항으로 Java 11로 이행 | 9.7.0 | 2021-12-01 |
| 버전, 보수: 8.x | 필요한 최소 플랫폼으로서 Java 8로 이행.Lambdas 지원, 3.1로 이행하는 필수 Servlet API 버전, 날짜 처리용 새로운 유형 지원 및 기타 [7]개선 사항.9.x 버전으로 업그레이드하는 것이 좋습니다. | 8.12.0 | 2021-03-30 |
| 버전이지만 7.x | 필요한 최소한의 플랫폼으로 Java 7로 이행하여 사이트 간 위조 방지, 인라인 이미지 지원 요청이 릴리스는 약 300개의 기능, 개선점 및 [8]수정점으로 구성되어 있습니다.보안 수정만. 9.x 버전으로 업그레이드하는 것이 좋습니다. | 7.18.0 | 2021-04-02 |
| 버전더 이상 되지 않음: | 필요한 최소 플랫폼으로서 Java 6으로 이행.즉시 사용할 수 있는 jQuery 통합, AJAX 요청에 대한 완벽한 제어, 브라우저에서의 이벤트 등록 향상, 대규모 데이터셋 지원, 클라이언트 측 JavaScript 라이브러리 의존성 관리, 웹 소켓 [9]실험 지원. | 6.30.0 | 2018-12-05 |
| 버전더 이상 되지 않음: 1.5 | Wicket [10]기능이 개선되었습니다. | 1.5.16 | 2016-08-05 |
| 버전더 이상 되지 않음: 1.4.x | 필요한 최소 [11]플랫폼으로서 Java 5로 이행. | 1.4.23 | 2014-02-06 |
| 버전더 이상 되지 않음: 1.3 | 1.3.7 | 2009-07-30 | |
| 버전더 이상 되지 않음: 1.2 | 1.2.7 | 2008-03-23 | |
| 버전, 보수 1.1.x | 1.1.1 | 미정 | |
| 버전더 이상 되지 않음: 1.0 | 1.0.3 | 미정 | |
구버전 이전 버전, 아직 유지 관리됨 최신 버전 최신 프리뷰 버전 | |||
「 」를 참조해 주세요.
레퍼런스
- Ceregatti Longo, João Sávio (August 26, 2013). Instant Apache Wicket 6 (1st ed.). Packt Publishing. p. 54. ISBN 978-1783280018.
- Mader, Jochen (March 28, 2012). Wicket: Komponentenbasiert und objektorientiert (1st ed.). Entwickler. p. 220. ISBN 978-3868020816. Archived from the original on 2010-12-23. Retrieved 2009-01-23.
- Vaynberg, Igor (May 15, 2011). Apache Wicket Cookbook (1st ed.). Packt Publishing. p. 312. ISBN 978-1-84951-160-5.
- Dashorst, Martijn; Hillenius, Eelco (September 15, 2008). Wicket in Action (1st ed.). Manning Publications. p. 392. ISBN 978-1-932394-98-6.
- Gurumurthy, Karthik (September 7, 2006). Pro Wicket (1st ed.). Apress. p. 328. ISBN 1-59059-722-2. Archived from the original on 2010-12-23. Retrieved 2009-01-23.
메모들
- ^ "Apache Wicket 7.18.0 released". wicket.apache.org. Retrieved 2022-02-13.
- ^ "Apache Wicket 8.14.0 released". wicket.apache.org. Retrieved 2022-02-13.
- ^ "Apache Wicket 9.8.0 released". wicket.apache.org. Retrieved 2022-02-13.
- ^ Dashorst, Martijn (2007-07-20). "Wicket graduates from Apache Incubation". Retrieved 2008-03-07.
- ^ Carleton, Daniel (2007-10-12). "Java Web Development the Wicket Way". DevX. Archived from the original on 10 March 2008. Retrieved 2008-03-07.
- ^ Apache Wicket 9 발표: 최신 Java 세계로!wicket.apache.org 를 참조해 주세요.2020-10-05에 취득.
- ^ Apache Wicket 8 발표: 적은 비용으로 더 많은 성과를 달성합니다.wicket.apache.org2018년 5월 22일 취득.
- ^ Apache Wicket v7.0 출시wicket.apache.org 를 참조해 주세요.2018-04-16에 취득.
- ^ Apache Wicket v6.0.0 출시wicket.apache.org 를 참조해 주세요.2020-10-05에 취득.
- ^ Apache Wicket - Apache Wicket 1.5 출시Wicket.apache.org 를 참조해 주세요.2013년 8월 13일 취득.2014년 10월 6일 Wayback Machine에서 보관
- ^ Apache Wicket - Apache Wicket 1.4는 Wayback Machine에서 2012년 4월 25일 아카이브된 한 단계 높은 활자 안전성을 제공합니다.Wicket.apache.org 를 참조해 주세요.2013년 8월 13일 취득.