赛迪网 > IT技术 Java > MVC-框架
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

Wicket初次接触之HelloWorld

发布时间:2006.10.09 09:55     来源:javajia    作者:

Wicket是一个新出现的表现层框架(实际上从立项到现在也不短了)。Java社区里就是这样,各种各样的框架都快成灾了。以表现层的最多(在表现层、中间层和持久层中,表现层是最好开发的),估计大的小的,出名的不出名的,国内国外的能有几十个。Wicket目前最大的问题是名气太小,相关资料也少得可怜.即使有一点,也大都是英文的(国内的朋友听到英文,很多都头疼吧,喵!其实猫咪也很头疼,怎么也没中文的好理解)。
  行了,废话不说了。现在我们来做第一个Wicket例子,所有教程中用烂了的“Hello World”。猫咪平时使用Eclipse3.2(搭配MyEclipse5)开发,你也可以使用其它IDE。Wicket的开发环境支持目前还比较差,没有Eclipse插件(今天猫咪把文章转到这里的时候,已经发现了一个插件,叫Wicekt Bench)。首先到Wicket的老窝把这个框架下到自己的机器上。网址是http://wicket.sourceforge.net。目前只要下载核心包就可以了。猫咪写这篇文章的时候,最新的版本是1.2.2。
  首先,打开Eclipse,新建一个Web工程。把下来的wicket-1.2.2-bin.zip解压缩,把其中的wicket-1.2.2.jar拷贝到新建工程的WebRoot\WEB-INF\lib下。现在就可以开始写了。
  首先是编写web.xml文件。< web-app>中加入如下内容:
< display-name>Wicket Examples
< servlet>
    < servlet-name>HelloWorldApplication
    < servlet-class>wicket.protocol.http.WicketServlet
    < init-param>
     < param-name>applicationClassName
     < param-value>org.Miao.HelloWorldApplication
    < /init-param>
    < load-on-startup>1< /load-on-startup>
< /servlet>
< servlet-mapping>
    < servlet-name>HelloWorldApplication< /servlet-name>
    < url-pattern>/app/*< /url-pattern>
< /servlet-mapping>
  其中WicketServlet有点类似于Struts中的ActionServlet。这个配置把所有对/app的访问由Wicket进行处理。但是Wicket中没有那些Action类。applicationClassName也只是负责返回实际处理请求的Java类。这个配置中,由一个叫HelloWorldApplication的Java类负责。这个类继承了wicket.protocol.http.WebApplication,需要实现getHomePage()方法。这个方法,返回实际处理请求的Java类。
  我们需要在网页上显示一个“HelloWorld!”。我设定这个请求由一个叫HelloWorld的类处理。
  下面是HelloWorldApplication的代码:
package org.Miao;
import wicket.protocol.http.WebApplication;
public class HelloWorldApplication extends WebApplication {
 @Override
 public Class getHomePage() {
  // TODO Auto-generated method stub
  return HelloWorld.class;
 }
}
很简单吧。HelloWorldApplication只是把具体处理的类拿处理,自己什么也不干。
  然后是显示的页面,这里的网页名称是HelloWorld.html.Wicket中网页和Java处理类的名称必须一致,而且要放在一个目录下,不然就会发生异常。猫咪也是自己试验了好久,根据Wicket提供的QuickStart和自己根据网站HelloWorld例子写的代码做对比,才发现的。不知道是不是猫咪的英语功底太差,没有在英文说明中看到这个要求。结果好久才调好。
  HelloWorld.html如下:
      Message goes here   
注意红色的部分,Wicket在html标准标记里加了一个属性。这样一来,美工和网页编写人员,可以不管Java代码,把精神放在网页本身。编写网页的人员,即使不懂任何Java知识也没关系,不用担心排版会破坏代码。
  下面是具体的处理类HelloWorld.class。
package org.Miao;
import wicket.markup.html.WebPage;
import wicket.markup.html.basic.Label;
public class HelloWorld extends WebPage {
 public HelloWorld(){
  add(new Label("message","HelloWorld!"));
 }
}
这个类继承自一个WebPage类。在构造函数里,使用add方法,添加了一个标签。标签名是message,内容是HelloWorld!。看到这个message了吗?它就是对应着网页里那个wicket:id属性的。
  好了,现在就可以部署了。猫咪用的是自己的美国亲戚-Tomcat。大家也可以使用其它Web容器。然后运行浏览器,输入http://localhost:8080/HelloWorld/app/
(这是猫咪的工程缺省路径,你根据自己的开发环境修改)。看看是不是和下面一样?如果一样,那就表示你的程序成功运行。如果显示Message goes here,那就表示哪里出了问题,你要仔细查下代码,看和猫咪写的哪里不一样,是不是这些不同造成了运行失败。
 


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· 编写一个基于Java Robot类的屏幕捕获工具 (10-09) · JAVA基础:再谈在Java中使用枚举 (10-09)
· JAVA基础:JAVA代码编写的30条建议 (10-09) · 快速应用JDBC控件访问数据库资源 (10-09)
· 保持对Java的敏感度切莫忽视思想研究 (10-09) · 一个实现将动态页面转为静态的方案 (10-08)
· Java Web中的入侵检测及简单实现 (10-08) · JAVA基础:Java的内层类和外层类 (09-28)
· 基础:全面保护你的Java程序安全(下) (09-28) · 基础:全面保护你的Java程序安全(中) (09-28)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
[政务][电信][金融][农业][制造业][中小企业]
[CIO][ERP][协同][IT管理][中间件][电子商务]
[政策][地方][专家][评估][辞典][博客][社区]
· 专题:一路畅通构想曲——让出行不再遭遇堵车
· CIO工作亲历:企业ERP选型不能忽视"选人关"
· 综述:信息化建设给中国监狱带来的各种变化
· 金融业风险管理和法规遵从有五点需考虑的因素
· 保险业CIO关注:该如何建立统一高效的CRM体系
· 调查显示:多数CIO对IT规划仍存在困惑和误解
  博客·论坛 ·曾剑秋·项立刚·Java学习·网管