首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

Tapestry 3.0 環境配置與入門實戰指南

     編輯:Java 程式設計入門

前言

Tapestry 3.0 的發布帶來了許多變化,包名、DTD 以及配置方式都與 2.x 版本有顯著差異。由於官方教程多基於舊版本,初學者往往難以快速上手。本文將以一個簡單的「Hello, Tapestry 3.0」案例,詳細講解在 Tapestry 3.0 環境下的配置與部署流程,幫助開發者快速熟悉新版本架構。

開發環境準備

  • 伺服器:Tomcat 5.0
  • 作業系統:Windows 2000 Server
  • 框架版本:Tapestry 3.0b2
  • 編輯工具:EditPlus 2.11(輕量級專案無需重型 IDE)

專案目錄結構建立

首先建立專案根目錄(以下以 $home 表示),並在其下建立標準 Web 應用目錄結構:

$home/
├── Home.html
└── WEB-INF/
    ├── classes/
    └── lib/

核心配置文件編寫

1. 首頁模板 (Home.html)

在 $home 根目錄建立 Home.html:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Hello, Tapestry!</title>
</head>
<body>
你好,<b>Tapestry 3.0!</b>
</body>
</html>

2. 部署描述符 (web.xml)

Tapestry 3.0 的 web.xml 異常精簡,核心在於 RedirectFilter 與 ApplicationServlet 的配置:

<?xml version="1.0"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"https://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
  <display-name>Tapestry Tutorial</display-name>
  
  <!-- 根路徑重導向至 /h -->
  <filter>
    <filter-name>redirect</filter-name>
    <filter-class>org.apache.tapestry.RedirectFilter</filter-class>
    <init-param>
      <param-name>redirect-path</param-name>
      <param-value>/h</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>redirect</filter-name>
    <url-pattern>/</url-pattern>
  </filter-mapping>

  <servlet>
    <servlet-name>hello</servlet-name>
    <servlet-class>org.apache.tapestry.ApplicationServlet</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>hello</servlet-name>
    <url-pattern>/h</url-pattern>
  </servlet-mapping>

  <session-config>
    <session-timeout>15</session-timeout>
  </session-config>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
  </welcome-file-list>
</web-app>

關鍵說明: RedirectFilter 會將根路徑 / 的請求轉發至 /h,對應 ApplicationServlet 的映射路徑。若 welcome-file-list 生效,則優先載入 index.html。

3. 應用規範文件 (hello.application)

雖然簡單案例可省略,但為完整性建議建立。放置於 $home/WEB-INF/hello.application:

<?xml version="1.0"?>
<!DOCTYPE application PUBLIC
"-//Apache Software Foundation//Tapestry Specification 3.0//EN"
"https://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd">
<application name="Hello Tapestry 3.0">
</application>

命名慣例:ApplicationServlet 的 servlet-name 為 hello,則對應 hello.application。

4. 頁面規範文件 (Home.page)

同樣放置於 $home/WEB-INF/Home.page:

<?xml version="1.0"?>
<!DOCTYPE page-specification PUBLIC
"-//Apache Software Foundation//Tapestry Specification 3.0//EN"
"https://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd">
<page-specification class="org.apache.tapestry.html.BasePage"/>

指定頁面類別為內建的 BasePage,無需自訂 Java 類別即可渲染純 HTML 模板。

依賴庫部署

將 Tapestry 發布包 workbench 範例中 WEB-INF/lib 目錄下所有 JAR 檔複製至專案的 $home/WEB-INF/lib。

應用部署與驗證

兩種部署方式擇一:

  1. 使用 jar 命令打包為 .war 檔
  2. 直接將 $home 整個目錄複製至 $Tomcat_Home/webapps

啟動 Tomcat,瀏覽器訪問 https://localhost:8080/hello,即可看到「你好,Tapestry 3.0!」畫面。

總結

Tapestry 3.0 大幅簡化了配置流程:web.xml、.application、.page 檔案均採用約定優於配置原則,簡單案例甚至可省略後兩者。但在實際企業級開發中(如官方 workbench 範例),完整的規範檔案不可或缺。掌握基礎配置後,可進一步探索元件開發、表單處理、國際化等進階特性。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved