使用 Click 框架/擴充套件開發 Java Web 應用程式
Click Extras 提供了一套額外的控制元件和元件庫,這些庫超出了 Click 框架的核心功能。Click Extras 打包為一個獨立的 JAR 檔案,可以與您的應用程式一起部署。額外的包包括
- Cayenne - 提供 Cayenne 資料感知控制元件
- Control - 提供額外的控制元件
- Filter - 提供 GZIP 壓縮過濾器
- Graphics - 提供圖形控制元件
- Hibernate - 提供 Hibernate 資料感知控制元件
- Panel - 提供頁面面板容器
- Spring - 提供 Spring 整合 SpringClickServlet
Click Extras 為人們提供了一個場所,讓他們可以將自己的程式碼貢獻給 Click 專案,並將其與標準發行版打包在一起。貢獻的程式碼將經過審查,並且可能需要修改才能包含在 Click 發行版中。
Click 的一項主要設計原則就是保持簡單,這使得程式碼更容易理解,也更可靠。
另一個指導原則就是 YAGNI(You Ain't Going to Need It,你不需要它),也就是說,只有真正需要的時候才去構建它。Click 試圖提供一個 80/20 規則框架,其中 80% 的人的需求可以透過一個只有 20% 大小的框架來滿足。
在開發 Click Extras 貢獻時,請遵循這些原則。
元件和控制元件應該具有最少的依賴項。這樣做是為了支援 Click 示例的輕鬆部署,並使 Click 構建過程保持簡單。
請注意,Cayenne 和 Spring 依賴項僅在使用這些特定功能時才需要。例如,如果您使用 Hibernate 作為持久化框架,那麼 CayenneForm 控制元件不會引起任何問題,因為此類永遠不會被您的應用程式載入。
Click 框架使用 Velocity ToolsWebappLoader來載入模板。這避免了使用 VelocityClasspathResourceLoader和FileResourceLoader在 JEE 應用程式伺服器上帶來的問題。
為了使預配置的資源(模板、樣式表等)可用於 Web 應用程式,Click 會自動將配置的類路徑資源部署到/click目錄(啟動時不會覆蓋現有檔案)。
為了使您的控制元件能夠在啟動時部署資源,它應該使用 Control onDeploy() 方法。使用此方法的 Click 額外控制元件應該在 Click Extras JAR 中註冊extras-controls.xml檔案。
Click 遵循 Sun 針對 Java 程式碼風格的約定。其他風格約定和實踐包括
- 縮排為 4 個空格,不使用製表符
- public 和 protected 可見性成員需要 Javadoc
- private 和 package 可見性成員不需要 Javadoc
- 優先使用未經檢查的RuntimeException並避免建立新的 Exception 類
- 檢查方法引數並丟擲IllegalArguementException如果引數為 null 或無效
- 避免建立比完成工作所需的更多類
- 在類的properties檔案中本地化控制元件訊息
- 使用Context.getLocale()方法獲取使用者的區域設定
- 在簽入程式碼之前,執行 Ant 任務ant format-java