取代JSP的新技術-tapestry

來源:互聯網
上載者:User
在如今的web開發中,基於java的應用越來越多。在這其中,servlet又扮演著十分重要的角色。本系列文章就是要介紹一些輔助進行servlet開發的工具,讓大家進行開發時,有多種技術可供選擇。
servlet技術無疑是一種優秀的技術,java伺服器端技術大都基於servlet技術。但這種技術也有其自身的不足,例如:展示層(html代碼)與代碼混在一起,可重用性不高。SUN於是提出了jsp技術,jsp也是基於servlet的一種技術,使用它你可以在html中嵌入java代碼。jsp在servlet的基礎上邁進了一大步,但單純的jsp也有上面提到的servlet的缺點。不過利用jsp+javabean+taglib這種開發模式可以解決上面提到的缺點。但jsp本身還有其它一些不足,具體參看The Problems with JSP這篇文章。於是人們便開發了其它一些基於servlet的技術。我們首先介紹一下Tapestry。
簡介
Tapestry是一個開源的基於servlet的應用程式架構,它使用元件物件模型來建立動態,互動的web應用。一個組件就是任意一個帶有jwcid屬性的html標記。其中jwc的意思是Java Web Component。Tapestry使得java代碼與html完全分離,利用這個架構開發大型應用變得輕而易舉。並且開發的應用很容易維護和升級。Tapestry支援本地化,其錯誤報表也很詳細。Tapestry主要利用javabean和xml技術進行開發。
第一個應用程式
在介紹第一個應用之前,先介紹一下Tapestry的安裝。從sourceforge下載其最新版,解壓後,將lib目錄下的jar檔案放到CLASSPATH中,將其中的war檔案放到tomcat的webapp目錄下。然後就可以通過http://localhost:8080/tutorial訪問其tutorial應用。
在Tapestry中一個應用程式有以下幾部分組成,我們以其自身帶的HelloWorld程式為例介紹:
Servlet:
這是一個應用的主體部分:servlet類,這個類必須是ApplicationServlet的子類,並且必須實現getApplicationSpecificationPath()方法。樣本如下:
import com.primix.tapestry.*;
public class HelloWorldServlet extends ApplicationServlet
{
protected String getApplicationSpecificationPath()
{
return "/tutorial/hello/HelloWorld.application";
}
}
/tutorial/hello/HelloWorld.application是一個應用的說明檔案。
Application Specification:
其實就是描述這個應用的一個xml檔案,在這個應用中有許多參數需要設定,engine-class將在下面介紹,page中的name屬性指定html檔案名稱,specification-path指定對這個頁面的說明檔案。在一個應用中可以有很多個page,但必須有一個page的name為"Home",因為當訪問你的應用時,首先顯示的就是這個page。
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.