久久精品水蜜桃av综合天堂,久久精品丝袜高跟鞋,精品国产肉丝袜久久,国产一区二区三区色噜噜,黑人video粗暴亚裔

首頁開發(fā)教程Apache Tapestry安裝與配置教程

Apache Tapestry安裝與配置教程

2024-12-31 717

Apache Tapestry是一個使用Java編寫的開源Web框架,采用組件化的方式構(gòu)建Web應(yīng)用程序。Tapestry的組件是普通的Java類(POJO),既不需要繼承框架特定的基類,也不實現(xiàn)任何接口,因此具有很高的靈活性和可擴展性。

一、Apache Tapestry介紹

Tapestry的核心特性之一是廣泛使用Java注解。通過注解,Tapestry實現(xiàn)了強大的功能支持,并允許開發(fā)者使用少量的代碼實現(xiàn)復(fù)雜的應(yīng)用程序。Tapestry的網(wǎng)頁通常由多個組件組成,每個組件都有一個基于XML的模板文件,以及用注解裝飾的組件類。

1、Tapestry的優(yōu)點

  • 高度可擴展:適用于開發(fā)復(fù)雜和大規(guī)模的Web應(yīng)用程序;
  • 靈活的API:自適應(yīng)且易于擴展;
  • 成熟穩(wěn)定:經(jīng)過多年發(fā)展,性能和功能均非??煽浚?/li>
  • 持久化狀態(tài)管理:內(nèi)置支持管理用戶會話和應(yīng)用狀態(tài);
  • 內(nèi)置控制反轉(zhuǎn) (IoC):減少了開發(fā)者的工作量,并提高了代碼的可測試性。

2、Tapestry的功能

  • 詳細的異常報告:提供清晰易懂的錯誤信息,幫助開發(fā)者快速定位問題;
  • 靜態(tài)結(jié)構(gòu)與動態(tài)行為:結(jié)合了靜態(tài)類型檢查和動態(tài)頁面更新;
  • 廣泛使用POJO:大部分代碼為普通的Java對象,無需繼承框架特定的類或?qū)崿F(xiàn)接口;
  • 簡化開發(fā):通過減少代碼量,使得開發(fā)者可以更專注于功能實現(xiàn)。

雖然Java世界中已經(jīng)存在如JSP、Struts等多種Web框架,但Tapestry提供了一種更加現(xiàn)代、簡潔的開發(fā)方式,解決了傳統(tǒng)框架的許多痛點。許多老舊框架往往有著復(fù)雜的學(xué)習(xí)曲線,且每次更新都需要經(jīng)過繁瑣的編譯、測試和部署周期。而Tapestry則通過支持實時類重新加載,使得開發(fā)更加高效,避免了頻繁的部署流程。

與其他框架引入大量接口、抽象類和基類不同,Tapestry采用的輕量級注解設(shè)計使得開發(fā)者可以快速構(gòu)建功能強大的應(yīng)用程序,并支持AJAX等現(xiàn)代Web技術(shù)。

3、Tapestry的架構(gòu)

Tapestry充分利用Java語言的特性,所有Tapestry頁面都是普通的POJO(Java類),開發(fā)者不需要遵循特定的接口或繼承約定。它通過注解增強類的功能,提供了強大的支持。Tapestry基于成熟的Java Servlet API,并通過Servlet Filter 實現(xiàn),能夠為Web應(yīng)用程序提供強大的功能支持,同時保持編程的簡單性、靈活性和健壯性。

二、Tapestry工作流程

讓我們討論請求Tapestry頁面時發(fā)生的操作順序。

Apache Tapestry安裝與配置教程

1、Java Servlet接收頁面請求

該Java Servlet 的配置方式是將傳入請求轉(zhuǎn)發(fā)到 Tapestry。 配置在?web.xml?中完成,如以下程序中指定。 過濾器和過濾器映射標記將所有請求重定向到Tapestry Filter。

Apache Tapestry安裝與配置教程

2、Tapestry Filter?通過其?Service()?方法調(diào)用?HttpServletRequestHandler?服務(wù)。

3、HttpServletRequestHandler?將請求和響應(yīng)存儲在?RequestGlobals?中。 它還將請求和響應(yīng)包裝為 Request 和 Response 對象并將其發(fā)送到 RequestHandler。

4、RequestHandler?是 Servlet API 的?HttpServletRequest?之上的抽象。 Tapestry 的一些顯著功能是在?RequestHandler?部分完成的。 可以通過在RequestHandler中編寫過濾器來擴展tapestry功能。 RequestHandler 提供了幾個內(nèi)置的過濾器,其中包括:

  • 檢查更新過濾器?? 負責(zé)實時類重載。 此過濾器檢查 java 類的更改并根據(jù)需要更新應(yīng)用程序;
  • 本地化過濾器?? 識別用戶的位置并為應(yīng)用程序提供本地化支持;
  • 靜態(tài)文件過濾器?? 識別靜態(tài)請求并中止進程。 一旦進程中止,Java Servlet 就會接管控制并處理請求;
  • 錯誤過濾器?? 捕獲未捕獲的異常并呈現(xiàn)異常報告頁面。

RequestHandler 還會修改并存儲 RequestQlobals 中的請求和響應(yīng),并調(diào)用 MasterDispatcher 服務(wù)。

5、MasterDispatcher負責(zé)通過按特定順序調(diào)用多個調(diào)度程序來渲染頁面。 MasterDispatcher調(diào)用的四個主要調(diào)度器如下

  • 根路徑調(diào)度程序?? 它識別請求的根路徑”/”并呈現(xiàn)與起始頁相同的內(nèi)容;
  • 資源調(diào)度程序?? 它通過檢查 url 模式 /assets/ 來識別資源(Java 資源)請求,并將請求的資源作為字節(jié)流發(fā)送;
  • PageRenderer 調(diào)度程序?? 大部分Tapestry操作是在 PageRender Dispatcher 和下一個調(diào)度程序 Component Dispatcher 中完成的。 該調(diào)度程序識別該請求的特定頁面及其激活上下文(附加信息)。然后它呈現(xiàn)該特定頁面并將其發(fā)送到客戶端。 例如,如果請求 url 為 /product/12123434,則調(diào)度程序?qū)z查是否有任何名稱為Product/12123434 的類可用。 如果找到,它會調(diào)用product/12123434類,生成響應(yīng)并將其發(fā)送到客戶端。 如果沒有,它會檢查產(chǎn)品類別。 如果找到,它會使用額外信息 121234434 調(diào)用產(chǎn)品類,生成響應(yīng)并將其發(fā)送到客戶端。 這些額外信息稱為激活上下文。 如果沒有找到類,它只是將請求轉(zhuǎn)發(fā)給組件調(diào)度程序。
  • 組件調(diào)度程序?? 組件調(diào)度程序?qū)㈨撁娴?URL 與模式進行匹配 – /<class_name>/<component_id>:<event_type>/<activation_context>。例如,/product/grid:sort/asc 表示產(chǎn)品類、網(wǎng)格組件、排序事件類型和 asc 激活上下文。 這里,event_type 是可選的,如果沒有提供,將觸發(fā)默認的事件類型操作。 通常,組件調(diào)度程序的響應(yīng)是將重定向發(fā)送到客戶端。 最有可能的是,重定向?qū)⑴c下一個請求中的 PageRender Dispatcher 相匹配,并且正確的響應(yīng)將發(fā)送到客戶端。

三、Apache Tapestry安裝

1、先決條件

Tapestry 的唯一依賴項是Core Java。 Tapestry是獨立開發(fā)的,沒有使用任何第三方庫/框架。 甚至 Tapestry 使用的 IoC 庫也是從頭開始開發(fā)的。 用 Tapestry 編寫的 Web 應(yīng)用程序可以從控制臺本身構(gòu)建和部署。

可以使用Maven、Eclipse和Jetty來改善開發(fā)體驗。 Maven 提供快速啟動應(yīng)用程序模板和選項來在 Jetty(Java 事實上的開發(fā)服務(wù)器)中托管應(yīng)用程序。 Eclipse 提供了廣泛的項目管理功能,并與 Maven 很好地集成。

理想的 Tapestry 應(yīng)用程序開發(fā)需要以下內(nèi)容

  • Java 1.6 or later
  • Apache Maven
  • Eclipse IDE
  • Jetty Server

2、驗證Maven安裝

我希望你已經(jīng)在你的機器上安裝了 Maven。 要驗證 Maven 安裝,請鍵入以下命令

mvn --version

可以看到如下所示的響應(yīng)

Apache Tapestry安裝與配置教程

如果尚未安裝,請訪問https://maven.apache.org/網(wǎng)站下載并安裝最新版本的maven。

3、下載Tapestry

Tapestry的最新版本是5.4,您可以從https://tapestry.apache.org/網(wǎng)站下載。 下載binary包就夠了。 如果我們使用Maven快速啟動模板,那么我們不需要單獨下載Tapestry。 Maven 會自動下載必要的 Tapestry Jars 并配置應(yīng)用程序。

四、Apache Tapestry快速入門

安裝 Tapestry 后,讓我們使用 Maven 創(chuàng)建一個新的初始項目,如下所示

$ mvn archetype:generate -DarchetypeCatalog=http://tapestry.apache.org

可以看到如下所示的響應(yīng)

Apache Tapestry安裝與配置教程

Maven構(gòu)建完所有操作后,選擇archetype創(chuàng)建Tapestry 5 QuickStart項目,如下

1、選擇原型

  • https://tapestry.apache.org?→ org.apache.tapestry:quickstart (Tapestry 5 Quickstart Project)
  • https://tapestry.apache.org?→ org.apache.tapestry:tapestry-archetype (Tapestry 4.1.6 Archetype)

選擇號碼或應(yīng)用過濾器 (format: [groupId:]artifactId, case sensitive contains): : 1

現(xiàn)在將收到如下所示的響應(yīng)

Apache Tapestry安裝與配置教程

按如下方式提取快速入門版本號:Choose a number: 5: 5

此處,快速入門項目采用選項 5 的版本”5.4.1″。 現(xiàn)在,Tapestry原型一一詢問以下信息,如下 ?

  • 5.1 groupId?? 定義屬性”groupId”的值::com.example
  • 5.2 artifactId?? 定義屬性”artifactId”的值::Myapp
  • 5.3 version?? 定義屬性”version”的值:1.0-SNAPSHOT: :
  • 5.4 package name?? 定義屬性”package”的值: com.example: : com.example.Myap

現(xiàn)在屏幕要求您確認:

確認屬性配置

  • groupId?? com.example
  • artifactId?? Myapp
  • version?? 1.0-SNAPSHOT
  • package?? com.example.Myapp

驗證所有屬性并使用下面所示的選項確認更改:Y::Y

將看到如下所示的屏幕

Apache Tapestry安裝與配置教程

到這里已經(jīng)成功構(gòu)建了 Tapestry Quick Start 項目。 使用以下命令移動到新創(chuàng)建的?Myapp?目錄的位置并開始編碼。

cd Myapp

2、運行應(yīng)用程序

要運行 skeleton 項目,請使用以下命令

mvn jetty:run -Dtapestry.execution-mode=development

你會看到這樣的屏幕

Apache Tapestry安裝與配置教程

到目前為止,我們已經(jīng)在 Tapestry 中創(chuàng)建了一個基本的快速入門項目。 要在 Web 瀏覽器中查看正在運行的應(yīng)用程序,只需在地址欄中鍵入以下 URL 并按 Enter ?

https://localhost:8080/myapp

這里,myapp是應(yīng)用程序的名稱,開發(fā)模式下應(yīng)用程序的默認端口是8080。

五、使用Eclipse

1、打開Eclipse IDE

打開 Eclipse 并選擇 File → New → Project… → 選項,如以下屏幕截圖所示。

Apache Tapestry安裝與配置教程

現(xiàn)在,選擇 Maven → Maven project 選項。

注:如果未配置 Maven,則配置并創(chuàng)建項目。

選擇 Maven 項目后,單擊”下一步”,然后再次單擊”下一步”按鈕。

Apache Tapestry安裝與配置教程

之后將看到一個屏幕,您應(yīng)該在其中選擇配置選項。 配置完成后,您將看到以下屏幕。

Apache Tapestry安裝與配置教程

2、目錄配置

第一步完成后,您應(yīng)該單擊添加遠程目錄。 然后添加以下更改,如下面的屏幕截圖所示。

Apache Tapestry安裝與配置教程

現(xiàn)在,添加了 Apache Tapestry 目錄。 然后,選擇過濾器選項 org.apache.tapestry Quickstart 5.4.1,如下所示。

Apache Tapestry安裝與配置教程

然后單擊”下一步”,將出現(xiàn)以下屏幕。

Apache Tapestry安裝與配置教程

3、配置GroupId、ArtifactId、版本和包

向 Tapestry 目錄配置添加以下更改。

Apache Tapestry安裝與配置教程

然后單擊”完成”按鈕,現(xiàn)在我們已經(jīng)創(chuàng)建了第一個 skeleton 應(yīng)用程序。 第一次使用 Maven 時,項目創(chuàng)建可能需要一段時間,因為 Maven 會下載 Maven、Jetty 和 Tapestry 的許多 JAR 依賴項。 Maven 完成后,您將在 Package Explorer 視圖中看到一個新目錄 MyFirstApplication。

4、使用Jetty服務(wù)器運行應(yīng)用程序

您可以使用Maven直接運行Jetty。 在 Package Explorer 視圖中右鍵單擊 MyFirstApplication 項目并選擇 Run As → Maven Build…,您將看到如下所示的屏幕。

Apache Tapestry安裝與配置教程

在配置對話框中,輸入目標選項”jetty:run”,然后單擊”運行”按鈕。

Apache Tapestry安裝與配置教程

Jetty 初始化后,您將在控制臺中看到以下屏幕。

Apache Tapestry安裝與配置教程

5、在網(wǎng)絡(luò)瀏覽器中運行

鍵入以下 URL 以在 Web 瀏覽器中運行應(yīng)用程序:https://loclhost:8080/MyFirstApplication

Apache Tapestry安裝與配置教程

6、停止Jetty服務(wù)器

要停止 Jetty 服務(wù)器,請單擊控制臺中的紅色方形圖標,如下所示。

Apache Tapestry安裝與配置教程

  • 廣告合作

  • QQ群號:4114653

溫馨提示:
1、本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享網(wǎng)絡(luò)內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。郵箱:2942802716#qq.com(#改為@)。 2、本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)裁,轉(zhuǎn)載請注明出處“站長百科”和原文地址。

相關(guān)文章