分享
 
 
 

你好,Tapestry 3.0

王朝java/jsp·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

你好,Tapestry 3.0mechiland, 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:\tapestry\hello(以后以$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: mechiland@163.net

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有