這是一份還有待完成的Wicket用戶手冊,目前主要在Wiki上發佈,以後可能會以PDF或者HTML格式提供文檔。
在Java世界中,有許多Web開發框架,Wicket就是最近出現的一個新框架,但Wicket並不僅僅只是一個重複發明的輪子。正如牛頓所說,“他站在巨人的肩上”,Wicket也借鑑了許多框架的優點,是一個基於組件開發的框架。與早期的一些WEB框架相比較,Wicket使得Web開發更加簡單,方便。與其它Web框架一樣,Wicket也建立在Sun’s servlet API;但是與Struts和Spring那種MVC框架不同,因爲使用Wicket的開發者,所關心的已經不再如何從客戶端接收一個回覆又或者如何向客戶端發送一個請求。以往的框架往往提供一個Controller同時爲多用戶和多線程服務,負責處理請求及回覆,不需要保存各種狀態。但Wicket爲用戶提供了帶有狀態的各種組件。Wicket不再創建一個Controller,而是使用一個頁面,並在上面放置各種控件,並定義控件如何響應用戶的輸入。
聽起來,這和開發桌面的GUI程序沒有區別,象使用 Microsoft的VB,SUN的Swing,Borland的Delphi一樣。使用控件可以使得可視化層更加容易開發,把更多時間花在業務或者其它核心功能上。更重要的是,這也讓基於控件的GUI更加容易擴展。只需要通過添加相應的控件即可爲系統添加更多的功能,而且不會影響到其它控件。這種基於控件開發的優勢也同樣可以用於Web開發,事實上許多Web框架都試圖將桌面程序開發的優勢移植到Web開發中。Apache Jakarta小組的Tapestry項目和Microsoft’s的ASP.NET,以及Sun’s JSF(Java Server Faces)標準都是佼佼者,Wicket也從它們中獲益良多。目前這種技術象是一個模子刻出來的,通過一個模板文件來描述頁面佈局。 JSF使用了Sun的JSP技術(還有標籤), ASP.NET則使用了ASP,而Tapestry則在標準的HTML基礎上定義自己的模板系統。(譯註:其實這幾種技術有些不同,象ASP.NET則把模板文件當成可執行文件,繼承一個Page,然後編譯。JSF則把JSP編譯成Servlet,它們事實上都是可以執行的,面Tapestry和Wicket則是將HTML和代碼分開,用後臺類動態輸出信息來替換HTML模板中的指定內容),當收到用戶請求時,這些頁面負責輸出,同時調用後臺對象動態輸出時所需要的內容。 後臺支持類往往是以Listener的方式出現的,而模板僅僅只定義控件的相關信息,如位置,類型等信息。
這種方式是對MVC2結構的一個改進。開發人員可以定義各種方法而不是使用一個統一而龐大的類而處理系統。通常的MVC2結構的框架,都是無狀態的,通過Wicket,開發人員不再管理狀態。現在編寫Java代碼已經成爲二等公民了,因爲這些Java代碼只需要提供頁面輸出時所需要的信息就可以了。(譯註:這句話覺得怎麼翻譯都覺得古怪)。另外這些後臺類對請求<--->回覆時會收到通知(通過上面的Listener接口)。(譯註:這裏少翻譯了一段,因爲怎麼翻譯這一段都比較彆扭,還好這一段影響不大,所以暫時忽略了,以後有時間再補上)
這是我入職的時候公司讓熟悉的第一個框架,這個框架自己也是在上週熟悉了一週,也可以對他進行一個流程操作和集成的配置,同時也能夠對他進行進行配置吧,先來熟悉一下框架 首先,我們通過 http://47.114.182.41
今天寫的一段代碼,創建一個sqlite表,ddms總是給我報nullpointerexception錯誤,找了好久,發現新建了一個數據庫對象之後,沒有打開, protected DatabaseHelper mDBHelper; mDB
本文主要列舉了省市三級聯動的DropDownList+Ajax的三種框架(aspnet/Jquery/ExtJs)示例。前段時間需要作一個的Web前端應用,需要用多個框架,一個典型的應用場景是省市三級聯動,基於此應用,特將三種主要的aja
DataRabbit 4.0 相比於前一版本,最大的增強在於以下幾點: 1.提供5大實體緩存。並且直接提供EntityCacheServer,以Remoting的方式發佈同步緩存服務,後面的博文會詳細介紹EntityCacheServe
導讀: 古人云:“修身齊家治國平天下”,可以看到任何事業都應該以修身爲始,作爲程序員自然也不例外。算法、設計、網絡、數據庫、新的語言、新的框架等
接上篇《Dubbo技術知識總結之四——Dubbo集羣容錯》 五. 遠程調用 上篇《Dubbo技術知識總結之四——Dubbo集羣容錯》的七個步驟中,前四個步驟是 Cluster 層的工作。遠程調用是後續步驟 5, 6, 7 的內
接上篇《Dubbo技術知識總結之二——註冊中心》 三. Dubbo 啓動與服務暴露、引用 服務暴露:見書 5.2.2 章,文章《Dubbo服務暴露與註冊》 3.1 啓動時 dubbo 標籤解析 服務啓動時,首先解析 dub
一. Dubbo 架構 參考地址:《dubbo系列三、架構介紹及各模塊關係》 Dubbo 是阿里服務化治理方案的核心框架,是一種分佈式 RPC 框架,它提供了註冊中心機制,解耦了消費方與服務方動態發現的問題。 1.1 Dubb
接上篇《Dubbo技術知識總結之一——Dubbo架構》 二. 註冊中心 首先需要說明的一點是,服務的暴露與註冊是兩個不同的概念。在Dubbo中,微服務之間的交互默認是通過Netty進行的,而服務之間的通信是基於TCP以全雙工的
接上篇《Dubbo技術知識總結之三——Dubbo 啓動與服務暴露、引用》 四. 集羣容錯 在客戶端已經從註冊中心拉取和訂閱服務列表完畢的前提下,Dubbo 完成一次完整的 RPC 調用,流程如下: 服務列表聚合; 路由; 負
第1章 struts與java web應用簡介1.1 java web應用概述1.2 web組件的三種關聯關係1.3 muv概述1.4 struts概述1.4.1 struts實現mvc的機制在struts框架中,模型由實現業務邏輯的ja
這2天一直在研究老系統,老系統是VB寫的,就把老系統的框架寫下把,就當是隨筆了 首先 <!--#include virtual="/include/Common.aspx"--> '引用文件 <%@ Assembly
《五項核心度量》第一部分“軟件涉衆想要什麼”軟件涉衆(stakeholder),即客戶、管理者和開發者等,他們想要的是具有可預測性的工作。當前,已有一
目錄 前言 JDBC MyBatis 源碼分析 前置知識 原理分析 自己實現一個 MyBatis 框架 前言 MyBatis是一個非常優秀的持久層應用框架,目前幾乎已經一統天下。既然是持久層框架,
剛開始學6000時估計都會很迷糊的。估計在這學dsp的N多是學51出身的,反正按照俺的想法啊,學dsp不學硬件,不懂硬件,這東東沒辦法弄了,怎麼編程啊???汪洋覺得應該就這些問題大家探討一下,把你當初的迷惑,和後來的解決思路寫下了,這樣啊