Wicket 是一种相应较新型的 web 框架,与传统的 Struts 所不同的是,它与 JSF,Tapestry 类似,属于一种基于事件的框架,它将传统桌面的程序的概念引入到了 web 开发中。
对
于开发人员与页面设计人员来说,Wicket 可能是最友好的 Web
框架,它能够将页面设计人员与开发人员的工作最大限制的进行分离。页面设计人员完全可以用可视化工具完成自己的工作,然后提交给开发人员进行编码。与其它
框架不一样的就是,它在页面模板中没有使用大量繁琐的taglib(当然它也包括几个常用的taglib),这样保持了页面的简洁。
当然
对于这种做法褒贬不一,一个很明显的负面影响,加重了后台编码的负担,它将一个组件控制完全交给 java
代码来实现,造成一个页面的相应的逻辑代码臃肿不堪。Tapestry 4
同样是采用这种模式,但到了T5,页面开始添加了一些特定的tag(当然这个标准的taglib表现形式不一样),以去掉 T4
辅助页面的page文件,同时java 代码也大大减化。
我们总是在不断利用新的技术成果,不遗余力的减化我们的工作。尽管如此,没有一
种框架能够满足所有人的口味,我相信 Wicket
也是如此。然而,在一些技术社区,总会是看到一些人围绕一些技术或框架争论不休,甚至转化成人身攻击。当我们对一种框架的优劣进行唇枪舌战的时候,为什么
不肯花一点时间来细细品味一下它究竟是什么样子呢?或许到时你就会有百闻不如一见的感觉。
回到正题。在以后的博文中,我会陆续写一些有关 Wicket 的文章。需要说明的是,我也是个 Wicket 初学者,所以这些不能称为教程,权当是写些小demo时写下的笔记。
创建一个 Wicket 程序也简单,你可以利用 IDE 或 Maven 来帮助你生成最初的项目结构。
确定你已经安装了以下软件。
- JDK 6 update 14
-
开发工具,NetBeans 6.5(+Maven Plugin)/6.7+Wicket Plugin,或 Eclispe + m2eclipse + Jetty run Jetty
-
运行环境,使用 NetBeans 最好使用 Glassfish v2.1 服务器,对于一般 Web 应用程序,Tomcat 就可以满足要求。
- Maven 2.x,你可以参考
用Maven 构建项目
首先我们介绍如何在 NetBeans 创建一个新的 Wicket 项目。
是进行 Java EE 开发的理想工具,它内置支持 Struts ,Hibernate ,Spring 等流行框架的支持。对于一些框架技术的初学者,利用IDE 创建一个 web 项目,可以节省大量的学习时间,。
1 使用 NetBeans 创建一个 Wicket 项目
你可以从 NetBeans 插件中心找到 ,它可以很好的运行在最新 NetBeans 6.7 上。
下载 ,打开 NetBeans , 从主菜单中选择 Tools->Plugin 中打开 Plugin Manager ,切换到 Downloaded 标签,选择你下载的 Wicket 插件文件,安装到 NetBeans 中。
从 File->New Project,打开新建项目对话框。在对话框中,Categories 一栏中选择"Java Web" , Projects 细节栏中选择"Web Application" 。
在接下来对话框中,输入项目名称。
Project Name 中输入项目名称,wicketqa。
Project Location 中指定项目创建位置,这里使用默认值。
选择运行环境,即应用服务器,和 context path 等。
在 Frameworks 中选择 Wicket 1.4, 进行最基本的配置。
你也可以在创建项目完成之后,在属性面板中添加要使用的框架。
下面是 NetBeans 生成的项目结构。
Wicket框架除需要在web.xml 中注册一个 Wicket 特定的 Filter 外,无需额外的配置文件。
WicketApplication
org.apache.wicket.protocol.http.WicketFilter
applicationClassName
example.wicket.QaApplication
WicketApplication
/wicket/*
其中,它指定了url-pattern,所有符合 /wicket/* 的 URL 都使用 WicketApplicaton 这个 Filter 进行过滤,处理客户端请求。
WicketApplication
Filter 指定了一个初始化参数 applicationClassName ,它指定了一个自定义的 Application 类,这里是
example.wicket.QaApplication,
在这个类中,可以复写父类中方法,达到修改默认设置的目的。实际上,这个Application 可以说是功能上取代了其它框架的配置文件。
public class QaApplication extends WebApplication {
public QaApplication() {
}
public Class getHomePage() {
return HomePage.class;
}
}
在 QaApplication 它复写了 getHomePage() 方法,指定这个项目(程序)的 HomePage。
现在,你可以尝试运行一下这个程序。
选择 wicketqa 项目,右键点击 wicketqa 结点,选择 Run。如果你的服务器没有启动, NetBeans 会自动启动服务器,并将项目部署到应用服务器上。部署完毕,会自动打开浏览器,转到项目首页。
2 使用 Maven 创建一个 Wicket 项目
Wicket 官方网站提供了一个 项目,能够帮助你生成 Maven 创建项目的命令行脚本。
你可以自定义GroupId, ArtifactId, 选择wicket 的版本,将 Command Line 文本框中生成的命令行文本复制到Terminal 中运行。
[hantsy@localhost ~]$mvn archetype:create -DarchetypeGroupId=org.apache.wicket
-DarchetypeArtifactId=wicket-archetype-quickstart
-DarchetypeVersion=1.4-rc7 -DgroupId=com.example -DartifactId=qa
运行完毕,它会在运行目前下创建一个项目目录,名为 qa,你可以在 IDE 中进行编辑。
NetBeans 6.7 内置了 Maven 支持,如果使用 6.5的话,你需要从插件中心安装 Maven 插件。有了 Maven 插件支持,NetBeans 识别 Maven 项目,你可以直接在 NetBeans 中打开项目。
Eclipse 用户,只要在项目的根目录中运行 mvn eclipse:eclipse 就可以生成 eclipse 项目相关的文件,然后就可以将其导入到 Eclipse 的 workspace 中。
进入到qa 根目录中,运行 mvn jetty:run 运行项目,用浏览器打开 。
阅读(2744) | 评论(0) | 转发(0) |