程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> 取代JSP的新技術-tapestry[轉自java-cn]

取代JSP的新技術-tapestry[轉自java-cn]

編輯:關於JSP


在如今的web開發中,基於java的應用越來越多。在這其中,servlet又扮演著十分重要的角色。本系列文章就是要介紹一些輔助進行servlet開發的工具,讓大家進行開發時,有多種技術可供選擇。 
servlet技術無疑是一種優秀的技術,java服務器端技術大都基於servlet技術。但這種技術也有其自身的不足,例如:表示層(html代碼)與代碼混在一起,可重用性不高。SUN於是提出了jsp(SUN企業級應用的首選)技術,jsp(SUN企業級應用的首選)也是基於servlet的一種技術,使用它你可以在html中嵌入java代碼。jsp(SUN企業級應用的首選)在servlet的基礎上邁進了一大步,但單純的jsp(SUN企業級應用的首選)也有上面提到的servlet的缺點。不過利用jsp(SUN企業級應用的首選)+javabean+taglib這種開發模式可以解決上面提到的缺點。但jsp(SUN企業級應用的首選)本身還有其它一些不足,具體參看The Problems with jsp(SUN企業級應用的首選)這篇文章。於是人們便開發了其它一些基於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(一個很好用的JSP運行平台)的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。 

<?xml(標准化越來越近了) version="1.0" encoding="UTF-8"?> 
<!DOCTYPE application PUBLIC "-//Howard Ship//Tapestry Specification 1.1//EN" "http://tapestry.sf.net/dtd/Tapestry_1_1.dtd"> 
<application name="Hello World Tutorial" engine-class="com.primix.tapestry.engine.SimpleEngine"> 
<page name="Home" specification-path="/tutorial/hello/Home.jwc"/> 
</application> 


Application Engine: 

當客戶連接到Tapestry應用時,Tapestry將會創建一個Engine對象(類似於session)。通常我們程序中的application engine 一般是SimpleEngine類的一個實例,當然這個類的子類也可以。 

Page Specification: 
跟應用說明相似,頁說明也是一個xml(標准化越來越近了)描述文件: 

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