【infoq】

  Apache Wicket是一个功能强大、基于组件的轻量级Web应用框架,能将展现和业务逻辑很好地分离开来。你能用它创建易于测试、调试和支持的高质量Web 2.0应用。假设其他团队交付了一个基于Wicket的应用,你必须扩展该应用,但又不能修改他们的代码;或者你必须要交付一个模块化的Web应用,能让 其他团队很容易地扩展和定制。本文介绍的正是如何在不引入多余源代码、标记和配置的情况下解决此问题。我们用maven-war-plugin合并项目, 用wicketstuff-annotations动态装载网页,用Spring框架作为控制反转(IoC)容器,以此达到该目的,并借助wicket- spring-annot项目和Maven依赖的微调对应用进行增强。

本文旨在展示如何从头开始设计和构建一个高度模块化、可扩展、基于Wicket的Web应用。文章会指导读者完成这一过程的所有步骤,从编写初始的Maven POM文件、选择必需的依赖开始,直到完成组件的配置、服务的自动装配(autowire)及网页的装载。

本文包括两个Maven管理的示例应用——Warsaw和Global。Warsaw是进行了全面配置的Web应用,带有两个简单的Web页面。 Global依赖于Warsaw项目,引入了一个服务和几个新的Web页面,还修改了Warsaw组件的拷贝。这两个Web应用都打包为WAR文件,并进 行了配置,能在Jetty或其它Servlet容器中运行。在命令行运行mvn jetty:run-war命令即可轻松启动这两个应用。

  

【蒋倩兰】

  通常,这意味着大量的专门的代码在Web应用程序处理状态管理。而Wicket不会让你停止关于服务器状态的思考,他在朝着使用更容易更透明化管理的方向上经过了一个漫长的道路。

在Wicket中,所有的服务器端的状态会自动进行管理。你将永远不会直接使用HttpSession对象或类似的包装器来存储状态。相反,状态与组件相 关联。每个服务器端页面组件保存有一个嵌套层次的有状态组件,每个组件的模型的最后是一个POJO(普通的Java对象)。Wicket包含这些页面的地 图中每个用户的会话。这个页的映射(每个页面上的组件层次结构)的目的之一是让框架隐藏了如何将组件和模型访问的所有细节。你只需要处理简单、熟悉的 Java对象,Wicket处理的事情,比如URLs,session ID和GET/POST请求。

参考:

http://www.infoq.com/cn/articles/modular-wicket/

http://yingzhuo.iteye.com/blog/1682066

http://blog.csdn.net/laner0515/article/details/35558351

apache开源项目 -- Wicket的更多相关文章

  1. 15个非常重要的Apache开源项目汇总

    15个非常重要的Apache开源项目汇总 自1999年创立以来,Apache软件基金会如今已成了众多重要的开源软件项目之家.本文列举了15个多年来非常重要的Apache项目,这些项目不仅对开源运动来说 ...

  2. apache开源项目--Apache Drill

    为了帮助企业用户寻找更为有效.加快Hadoop数据查询的方法,Apache 软件基金会发起了一项名为“Drill”的开源项目.Apache Drill 实现了 Google's Dremel. Apa ...

  3. 15个具有高度影响力的Apache开源项目

    自1999年创立以来,Apache软件基金会如今已成了众多重要的开源软件项目之家.其中成功的项目有Geronimo,有Tomcat,有Hadoop,有如今成了大数据王国关键车毂的分布式计算系统. 虽然 ...

  4. apache开源项目 --Struts

    struts简介 Struts是Apache软件基金会(ASF)赞助的一个开源项目.它最初是jakarta项目中的一个子项目,并在2004年3月成为ASF的顶级项目.它通过采用JavaServlet/ ...

  5. apache开源项目 -- Tuscany

    tuscany是Apache组织关于SOA实现的一个开放源码的工程项目,目前处于孵化期阶段. 该项目主要基于SCA,SDO,DAS等技术上实现的. SCA 的基本概念以及 SCA 规范的具体内容并不在 ...

  6. apache开源项目--Mahout

    Apache Mahout 是 Apache Software Foundation (ASF) 开发的一个全新的开源项目,其主要目标是创建一些可伸缩的机器学习算法,供开发人员在 Apache 在许可 ...

  7. apache开源项目--CouchDB

    Apache CouchDB 是一个面向文档的数据库管理系统.它提供以 JSON 作为数据格式的 REST 接口来对其进行操作,并可以通过视图来操纵文档的组织和呈现. CouchDB 是 Apache ...

  8. apache开源项目--Cassandra

    Apache Cassandra是一套开源分布式Key-Value存储系统.它最初由Facebook开发,用于储存特别大的数据.Facebook目前在使用此系统. 主要特性: 分布式 基于column ...

  9. apache开源项目--nutch

    Nutch 是一个开源Java 实现的搜索引擎.它提供了我们运行自己的搜索引擎所需的全部工具.包括全文搜索和Web爬虫. Nutch的创始人是Doug Cutting,他同时也是Lucene.Hado ...

随机推荐

  1. centos6.5\win7双系统安装配置

    一.安装所需软件 1.分区助手专业版PACNPro.exe(必需):用来对硬盘分区,将磁盘的一部分格式化成Linux可以识别的ext3格式 2.Ext2Fsd(硬盘安装必需,光盘安装不用):因为Win ...

  2. JS内存管理测试

    打开调试器,切换到timer,点击左下角的record按钮开始,切换到memory视图,在文档中点击鼠标左右键,看股价走势图 function Allocate(kbs){ this.mem = ne ...

  3. wordpress数据库优化-关闭日志修订

    每次在wordpress网站修改文章的时候都会产生一个修订版本,wp_posts会产生一个post_type为“REVISIONS”的记录,修改次数一多的话,那修订版本就有几万条记录了 在functi ...

  4. 任务调度 QUARTZ

    任务调度在目前的JAVA应用程序中运用的十分普遍,故掌握QUARTZ是必备的技能 闲话少说,上官网:http://www.quartz-scheduler.org/ 下载最新1.80资源包 commo ...

  5. 使用getJSON()方法异步加载JSON格式数据

    使用getJSON()方法异步加载JSON格式数据 使用getJSON()方法可以通过Ajax异步请求的方式,获取服务器中的数组,并对获取的数据进行解析,显示在页面中,它的调用格式为: jQuery. ...

  6. XML中如何使用schema

    Schema简介 DTD的语法相当复杂,并且它不符合XML文件的标准,自成一个体系,W3C定义的Schema用来代替DTD. chema相对于DTD的明显好处是XML Schema文档本身也是XML文 ...

  7. Project Euler 77:Prime summations

    原题: Prime summations It is possible to write ten as the sum of primes in exactly five different ways ...

  8. Tomcat处理HTTP请求源码分析(下)

    转载:http://www.infoq.com/cn/articles/zh-tomcat-http-request-2 很多开源应用服务器都是集成tomcat作为web container的,而且对 ...

  9. 从svn删除文件夹和文件

    由于项目开始放在自己项目组的一个服务器上,而且svn也是自己在该服务器上搭建的,但是不知道是什么原因,svn上的代码被误删了.为了更稳定地使用svn,所以使用公司的svn来管理代码. 运维将不是最新版 ...

  10. JCIFS读取远程服务器文件过慢的解决方法

    JCIFS读取远程服务器文件过慢的解决方法 发表于3年前(2013-07-12 11:23)   阅读(1174) | 评论(0) // 我要收藏"; var favor_del = &qu ...