Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1187114
  • 博文数量: 89
  • 博客积分: 10546
  • 博客等级: 上将
  • 技术积分: 1510
  • 用 户 组: 普通用户
  • 注册时间: 2004-10-16 01:24
文章分类

全部博文(89)

文章存档

2012年(7)

2011年(4)

2010年(5)

2009年(52)

2008年(21)

分类: Java

2009-07-20 16:00:41

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 运行项目,用浏览器打开 。



阅读(2696) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~