程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA編程入門知識 >> Tapestry 配置 框架 framework

Tapestry 配置 框架 framework

編輯:JAVA編程入門知識

  

   你好,Tapestry 3.0
  mechiland, Jul 2003
  --------------------------------------------------------------------------------

  本文主要介紹Tapestry3.0環境下一個簡單用例Tapestry的配置方法,旨在幫助開發者熟悉3.0環境。由於Tapestry官方(http://jakarta.apache.org/tapestry/)提供的Tutorial文檔很多是基於2.x的,這在極大程度上提高了學習的難度。關於Tapestry2.x的介紹以及Tapestry的框架,請參看第7期《程序員》雜志透明的一篇文章,這裡不再多說。

  2.x到3.0的變化我沒有花太多的時間去研究——究竟接觸的時間有限,剛把概念弄明白,3.0就出來了,package的名字都變了,dtd也變了,一些配置的方法也不太一樣了,所以本篇文章主要討論3.0,對於2.x和3.0中區別的地方,盡量不進行比較;假如在文中比較之處有錯,還請多多指教。

  1 開發環境
  Tomcat5.0, Win2000Server, Tapestry 3.0b2
  開發工具:Editplus2.11 :)(項目小,沒有必要用航母了)

  2 讓我們開始吧!
  Ok, 讓我們開始這個“你好,Tapestry3.0”吧!

  首先,建立一個目錄用來保存你的工程,假定x: apestryhello(以後以$home代替);並最後建立如下文件結構:
  -WEB-INF
  --classes
  --lib

  在$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>
   
  代碼清單1:Home.html
  這就是我們的主頁面了。

  
  然後在$home/WEB-INF/下面放入一個web.XML,出人意料的,這個web.xml竟然如此簡單,而且與Tapestry2.x的文檔中提供的大不一樣哦~~

  
  <?xml version="1.0"?>
  <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
  "http://Java.sun.com/dtd/web-app_2_3.dtd">
  <web-app>
  <display-name>Tapestry Tutorial</display-name>
  <!--Redirect it to the servlet mapping address /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>
   
  代碼示例2:web.xml
  稍微解釋一下:名為redirect的filter是用來轉向的,注重,那個init-param用來控制轉向到哪裡去,假如沒有或者設置不正確,就會轉到默認的地方(/app)。按照我們配置的情況,應該是當訪問/時轉到/h的servlet去。當然,這個設置是當下面的<welcome-file-list>無效時才起作用。

  讀過舊版tutorial的人就會希奇,那個org.apache.tapestry.application-specification到哪裡去了?在默認情況下,Tapestry會在/WEB-INF下尋找跟ApplicationServlet名稱相同的.application(如本例中hello),另外,application的配置已經非常簡單,對於我們Hello, Tapestry這樣簡單的用例,不用.application也是可以的。不過為了形式的完整,我們將它加上:

  將hello.application文件放到$home/WEB-INF下面(與web.xml)放在一起

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

  代碼示例3:hello.application

  現在,就是我們的Home.page文件:

  <?xml version="1.0"?>
  <!DOCTYPE page-specification PUBLIC
  "-//Apache Software Foundation//Tapestry Specification 3.0//EN"
  "http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd">
  <page-specification class="org.apache.tapestry.html.BasePage"/>
   
  代碼示例4:Home.page
  是不是不知道將這個文件放到哪裡了?放到$home/WEB-INF下面就行了!

  OK, 最後一步,將Tapestry所帶的workbench示例下/WEB-INF/lib中所有的jar復制到$home/WEB-INF/lib。

  3 部署
  部署方法很簡單了,你可以用jar工具將$home目錄打成一個war包,或者直接將整個$home目錄復制到$Tomcat_Home/webapps下面。不論你采用那種方法,部署成功後,打開浏覽器,鍵入地址:http://localhost:8080/hello, 是不是顯示出下面的畫面呢?

  4 小結
  在Tapestry3.0中,部署應用程序更加輕易了,本文由於案例較簡單,很多步驟都可以忽略(在本例中,hello.application和Home.page都可以忽略不計),但是在復雜的應用中,如Tapestry自帶的workbench示例,就不可忽略了。關於Tapestry的其他特性,作者正在研究中。Tapestry是個優秀的開發框架,假如那位有愛好,或者對這篇文章中有什麼不正確的地方,歡迎批評指正,Email: [email protected]


 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved