`

免费发布《Wicket开发指南》一书(266页)

阅读更多
首先回答问题:
1、这本书的所有章节在GoCom上都可以免费看(Html格式)。
2、这本书是有PDF版本的,在GoCom上有的下!(可能是实名会员能下载吧)
3、元旦前后,我会根据Wicket的新版本以及提交的反馈信息更新该书,书中所有的内容都会做成PDF来下载。(所有人都可以免费下载PDF版本,或者是Word版本)

其实我个人也希望有更多的人来看这本书,学习Wicket,不过我这样做也有自己的原因(并非金钱方面的原因,因为GoCom愿意提供空间,Blog,论坛,还有以后我开源软件的CVS),只能说希望大家谅解了。唯一可以保证的是:尽快和GoCom商量为所有人提供免费的PDF下载。


最近完成了一本关于Wicket的书
感于自己得益于许多开源软件,以及许多的免费书籍,所以这本书也免费开放。
该书266页,约18万字。
你可以在
http://gocom.primeton.com/
这个地址查看该书(谢谢普元的GoCom提供的空间和论坛)
(感觉有点做广告的嫌疑)

你也可以在这个论坛上提出问题,我会尽快回复
http://gocom.primeton.com/modules/newbb/viewforum41.htm

One World,One Dream。


楼下的建议不错。
我把前两节放在下面作为介绍。
因为书的内容比较多,而且GoCom答应提供空间和论坛,所以我也不好在这里直接上传,请谅解,而且GoCom也答应提供PDF版本下载,我也会在元旦前后更新此书,然后免费提供给所有人员。

Wicket前生后世篇
Wicket是什么?简单点说,它就是一个基于Java的Web开发框架,与Struts,WebWork,Tapestry相类似。其特点在于对Html和代码进行了有效的分离(有利于程序员和美工的合作),基于规则的配置(减少了XML等配置文件的使用),学习曲线较低(开发方式与C/S相似),更加易于调试(错误类型比较少容易,而且容易定位)。如果你不对微软并不反感,可以把它看作Java平台上的ASP.NET。
Wicket现在是Sourceforge上一个非常活跃的项目,开发源码基于Apache协议(也是最宽松,对商业最友好的的源码协议),项目位于http://wicket.sourceforge.net,另外它还有一个独立的域名网站http://www.wicketframework.org/。最新的消息则是,Wicket已经成为Apache孵化器中一个项目,可以通过http://incubator.apache.org/projects/wicket.html来访问。但SourceForge上的网站仍然可以访问。
Wicket出现时,著名的J2EE网站TSS(即http://www.TheServerSide.com,以后简称TSS),对该项目也进行了讨论,有一段旷日持久的论战(地址:http://www.theserverside.com/news/thread.tss?thread_id=28162:),论战主力当然就是Wicket的主要作者Jonathan Locke和Tapestry的作者Howard Lewis Ship ,争论的内容十分广泛,从URL的格式到系统结构,从扩展性到界面开发,如果有时间的话,我尽量将其中部分内容翻译过来,还是很精彩的。(TSS上很多的讨论都非常精彩,如果英文好的话,建议经常上去看看,国外的牛人就是多啊。有时候我也觉得很奇怪,这些人都不用睡觉的吗,看他们的帖子,完全覆盖了24小时,感觉他们的老板真是宽容啊)。
Wicket的作者中有几个是原Sun公司Swing小组的开发人员(现在可能大部分已经不是了),因此Wicket的框架中带有浓厚的C/S色彩。而他们的开发计划中,还包括了Swing,Flash平台的支持,也就是说使用Wicket不仅可以可以输出Html,而且可以支持Swing和Flash,不过和朋友经过讨论后,觉得这个计划看起来有一点不切实际,毕竟Html,Swing,Flash之间的差别还是很大,恐怕想要无缝移植,还是有点难度的。单是一个JavaScript,恐怕就够头痛了。
Wicket带有强烈C/S结构的UI色彩,这一点有助于美工和程序人员的分工,与Delphi的开发方式非常类似(Delphi使用.frm文件保存UI控件的定义,而用.pas文件存储代码,从而对控件进行操作)。Wicket则是使用Html描述UI,并将具有特殊标记的Html元素定义为UI控件,在java文件中则直接使用代码操作这些UI控件,控制其输出及行为,样式等。这一点和Tapestry,以及.NET平台上的ASP.NET极为相似,也怪不得与Tapestry的作者争论了这么久,毕竟两者的用户群有很多的重复。其实从结构上看来,无论是Tapestry,ASP.Net,Wicket估计都借鉴了Applet平台上的WebObjects,还有Delphi。(不要忘了,Delphi的创建者Anders Hejlsberg就是.net框架的架构师,所以C#和Asp.net怎么看都带着Delphi的影子。
Wicket目前最新的版本是1.2.2版,已经支持了AJAX,但感觉这个框架的发展时间毕竟还是短了一点,尽管设计思想很不错,但还是有许多问题存在的,包括控件的数量,BUG较多等,希望2006年它可以尽快的成熟起来。

关于重新发明轮子的争论
谈到Wicket,恐怕第一个感觉就是在Java的Web开发中又多了一个轮子,这一点国内外的程序员好象都是一样。
有一个国外的Blog专门写了一篇关于轮子的文章,说明了重复发明轮子的必要性。我个人对于这种轮子是持一种欢迎的态度,因为没有人会去写一段功能完全一样的东东,总是要修正了原有轮子的不足,这样就不能简单当作一种重复。
即使是功能重复,就不需要轮子了吗?JSP能完成Struts到所有功能,而Tapestry能做到的,Struts也全部可以做到,但Struts,Tapestry就不需要了吗?Struts的MVC结构比JSP更加优秀,在很大程度上减轻了开发人员开发量,而Tapestry基于组件的开发方式,则是开创了一种新的Web开发方式,对于多语言的支持也有了新的方式。以往开发多语言页面时,往往使用properties保存字符串资源,但是页面通常都没有什么变化。而Tapestry可以通过不同的Html为不同的国家指定不同的页面。
Wicket吸收了Tapestry的一部分内容,但我最喜欢的就是,它是基于规则的,而并非XML配置的方式,这不仅有利于程序员学习,对系统的维护及开发规范都很有效,毕竟XML的编写并不见得就比写一段程序来得更容易。(这里插一句题外话,我觉得XML文件用来表示数据和资源,而不是行为,更不是业务,所以对于XML我只用来存放多语言资源或者用来做数据交换。象Spring这种大量使用XML方式,我并不欣赏,Spring也意识到了这一点,在2.0版本中努力的简化Xml的配置,但是并不尽如人意)。如果使用简单的规则来配置或者管理一个系统,用户就会很容易的查找到自己需要的内容。而通过配置文件,不管这样的一个配置文件的结构如何好,也需要在其中查找自己需要的内容,开发效率肯定要低一些。
因此对于这种有创新性的轮子,多几个,或许Java世界可以跑得更快一些。
去年就听说不少Web框架的开发人员要联合起来开一个Web框架,在Yahoo上还有一个讨论组,上去看了一下。但是这个事件对我的第一感觉就是晕,第二感觉就是特别的晕,虽然目前Java世界的Web框架一通混战,但这样一个联盟,所给出的东西很可能是第二个EJB。
分享到:
评论
19 楼 haihai 2007-03-07  
收藏,谢谢。
18 楼 wl95421 2006-12-28  
Click倒是没有听过,有空可以去看看!
不过用Velocity作模板,我觉得可能还是Html的更好一些,不喜欢将变量写在View中。

楼上的!
Wicket1.2系列还算比较稳定!
而Wicket2.0估计还要半年才能发布正式版,稳定版本估计要到明年年底了!
17 楼 mcikevin 2006-12-28  
希望能够尽早得到稳定版
16 楼 hantsy 2006-12-28  
tapestry用起来真有点不习惯,配置太多,感觉没有减轻开发,当然现在用了点皮毛,
wicket刚才开始看,。。另外还发现一个与两者相似的framework----Click,与tapestry相比,开发上要简单得多,一个面页文件,一个Page类,关键可以很好的使用velocity作为面页模板(内置支持)。。。。
晕晕晕,框架太多了。。。
15 楼 boss_ch 2006-11-06  
支持一下,
很早就注意到这个东西了 一直没有时间来弄
以后有空多交流。 
14 楼 koalant 2006-11-05  
我觉得 Wicket 是到现在为止众多 Java web 框架中, MVC 实现比较“正确”的一个
13 楼 dogstar 2006-11-03  
关注一下,真正用到了再说。说不定一辈子都不会用呢。呵呵。不过思想可以借鉴。。。
12 楼 Lincoln 2006-11-03  
好好学习一下!
11 楼 icefire 2006-11-03  
极其关注wicket
觉得它很有潜力!!!!!
10 楼 wl95421 2006-11-03  
回楼上的楼上(象绕口令)
Anders Hejlsberg是C#的设计师
所以肯定会参与ASP.NET的一些工作
另外如果用过Delphi都知道Delphi以前有一个与ASP.NET非常相似的东东可以开发Web程序,不过没有游行起来,所以很难让人不把他们连在一起。

另外我打算开一个帖子,回答《Wicket开发指南》一书的一些问题。
9 楼 buaawhl 2006-11-03  
http://gocom.primeton.com/WicketDG/WicketDGDir.htm

great.

-----------------------------------

我也很关注 Wicket。

http://www.iteye.com/topic/21326


Model Match
Java代码负责提供符合显示层要求的Data Model,显示层框架本身把Data Model和Template进行匹配,产生结果。
包括Wicket, Fastm, DOMPlus, 等。
这类技术都具有良好的所见即所得特性。
(1) Wicket
http://wicket.sourceforge.net/
Wicket类似于Tapstry,采用HTML自定义Attribute作为自定义标签。
这段是Rife的一个典型的循环的例子。wicket:id一个标签,几乎可以满足任何需求。有兴趣的读者可以去Wicket网站查看完整的Sample。这里只有核心片断。毕竟,本文不是一部Wicket教程。

<html>
<body>
<form wicket:id = "commentForm">
Add your comment here:
<p>
<textarea wicket:id = "text">This is a comment
8 楼 icess 2006-11-03  
wicket 是快速崛起的一个web开发框架, 延用swing的思想. 对非常熟悉swing的人来说, 可以看看, 说不定你会喜欢上他.

但是,和其他新事物一样, 要在中国普及, 那是几年后的事情了, 中国企业不是随便就使用新技术的.

这里有几篇教程, http://www.hexiao.cn/jsf/thread.php?fid=9 就不一一转过来了, 感兴趣的可以看看.
7 楼 yfmine 2006-11-03  
已修改,不跑题.
6 楼 deafwolf 2006-11-03  
一直在关注邮件列表,每天汇总后的邮件都会有十几封,问的问题很快就能得到答复(我也怀疑他们不睡觉),wicket项目确实很活跃。
书已经可以在线看了,多谢楼主。一直馋着Pro Wicket而不可得,现在总算有书看了。
wicket的例子很贴切,但是比较简单,不少用法得自己摸索或者去邮件列表找,比如在ajax的情况下替换一个panel,比如用回车提交ajax form在ie下有时会直接刷新页面。类的层次很深,包也有些乱,类似桌面开发的代码也是对web开发习惯的一种冲击。
不过总的来说,wicket是一个很有意思的工具,现在继续钻研1.2.3,期待2.0的表现

5 楼 wl95421 2006-11-03  
楼上的
问题我放在顶楼回答了

另外象Velocity,Groovy,DisplayTag,还有你喜欢的freeMarker都可以整合到Wicket
你可以去Wicket-stuff网站上看看。
顺便说一句,我也是Stuff小组的,以后可能也会将一些需求反馈上去
4 楼 fins 2006-11-03  
以前没接触过
刚才简单看了一下
思想比较有意思
我打算适当学习一下 把这种思想用到ec4spring里 呵呵
其实ectable现在里面有些部分就和这个很像了(我指html代码生成部分)
如果结合freemarker那就更像了 呵呵



顺便给个建议:
如果楼主不提供这个书籍的离线版本(pdf word chm之类)
那么会严重阻碍它的流传
楼主是希望更多的人读到你的文章 并爱上Wicket呢
还是希望更多的人去访问gocom?
不管怎么说 都谢谢楼主的工作

我这就去下一个wicket来看看 嘿嘿
3 楼 wl95421 2006-11-03  
已经放到一个主题里了
2 楼 cxd110 2006-11-03  
想不到在这里看到有人讨论wicket,而且还有如此大礼,太感谢楼主了。
1 楼 pedestrian_I 2006-11-03  
支持原创,LZ可以稍微在这里讨论一下它的优势。

以下是在open-open上找到有关Wicket的信息:
Wicket一个开发Java Web应用程序框架。它使得开发web应用程序变得容易而轻松。 Wicket利用一个POJO data beans组件使得它可以与任何持久层技术相结合。

http://wicket.sourceforge.net/index.html

相关推荐

    Jboss-seam reference2.1中文版

    《JBoss Seam 2.1 用户手册中文版》是一本详细介绍如何使用JBoss Seam框架进行企业级应用开发的教程。该手册由“*工*”翻译,并由南山青牛整理成PDF格式,便于读者下载阅读。JavaEye社区提供了这本书的电子版自动...

    福兴讯V587对讲机写频,调频软件 福摩斯特V587

    福兴讯V587对讲机写频,调频软件。福摩斯特V587对讲机写频,调频

    uni-helper_vite-plugin-uni-tai_1742854282.zip

    app开发

    LangChain框架详解:大语言模型应用开发的核心模块与实践

    内容概要:本文介绍了LangChain这一开源框架,它专为开发基于大型语言模型(LLM)的应用程序而设计。文章阐述了LangChain的核心理念、架构组成及其重要性。LangChain通过模块化设计解决了大模型应用开发中的效率低下和局限性问题,提供了标准化的接口和丰富的抽象层,使开发者能够轻松接入不同大模型并构建高效的应用程序。文中详细讲解了几个关键模块,包括Model I/O、Retrieval、Chains、Memory、Agents和Callbacks,以及如何安装和使用LangChain进行开发。此外,还展示了具体的代码示例,如如何调用OpenAI的API、构建LLMChain链路、设置回调机制和实现对话记忆功能。 适合人群:对大语言模型有一定了解并且有兴趣开发基于LLM的应用程序的研发人员和技术爱好者。 使用场景及目标:①帮助开发者快速掌握LangChain的基本概念和使用方法;②提供实用的代码示例,便于开发者实际操作;③解释如何通过LangChain克服大模型应用开发中的常见难题,如模型差异、输出不稳定等。 阅读建议:鉴于LangChain涉及较多的专业术语和技术细节,建议读者在阅读时结合官方文档和示例代码一起学习,尤其是对于核心模块的理解和实践。同时,关注GitHub上的最新版本更新,以获取最新的特性和改进。

    网络伴侣 iCompanion 2.1

    网络伴侣 iCompanion 2.1 网络计费软件,功能全面,支持ISDN

    移动开发_Flutter_简约聊天_纸聊APP_1742846962.zip

    app开发

    《基于YOLOv8的交通事故自动报警系统》(包含源码、完整数据集、可视化界面、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。

    《基于YOLOv8的八段锦练习指导系统》(包含源码、完整数据集、可视化界面、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。

    前端开发_UniApp_云开发_JsSdk_全端适配实战讲解_1742852088.zip

    app开发

    移动开发_Flutter_轮子推荐_开发效率提升_1742851671.zip

    移动开发_Flutter_轮子推荐_开发效率提升_1742851671.zip

    往复活塞杆密封件热弹流润滑仿真:Python实现与解析(复现论文,含详细可运行代码及解释)

    内容概要:本文详细介绍了往复活塞杆密封件在瞬态条件下热弹流润滑仿真的Python实现。首先定义了几何、材料和工况参数,然后分别构建了流体力学、热力学和固体力学模型。流体力学模型使用有限差分法求解瞬态雷诺方程,热力学模型考虑了温度和压力对粘度的影响,固体力学模型则采用了Mooney-Rivlin超弹性模型和Prony级数描述的粘弹性松弛。最后通过耦合求解实现了整个系统的时间积分,并绘制了液膜厚度和压力分布图。文中还讨论了模型的特点、简化假设以及扩展建议。 适合人群:机械工程领域的研究人员和技术人员,尤其是对密封件性能优化感兴趣的从业者。 使用场景及目标:适用于研究往复活塞杆密封件的工作机理及其在不同工况下的表现,帮助工程师理解和预测密封件的动态特性,从而改进设计和选材。 其他说明:该实现基于论文中的理论框架,但在实际应用时可能需要进一步调整和完善。

    人人商城V3-3.2.1版本.zip 亲测能用

    人人商城V3-3.2.1版本.zip 亲测能用

    《基于YOLOv8的灯光设备监测系统》(包含源码、完整数据集、可视化界面、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。

    Java面向对象编程,出现的示例代码

    Java面向对象编程,出现的示例代码

    蓝桥杯python相关资源,真题,蓝桥杯,蓝桥杯Python练习系统题库,蓝桥杯Python练习系统题库

    蓝桥杯python,蓝桥杯python相关资源,真题,蓝桥杯,蓝桥杯Python练习系统题库,蓝桥杯Python练习系统题库

    fsfzdgdfrgbzgr

    rgrgdfsegfasgrsredgf

    《基于YOLOv8的冲浪运动分析系统》(包含源码、完整数据集、可视化界面、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。

    Lotus Notes 4.65

    Lotus Notes 4.65 是 IBM 旗下早期版本的企业级协作平台,主要面向办公自动化和非结构化数据管理领域。以下为综合信息整理: 一、版本背景与定位 核心架构 Lotus Notes 4.65 属于客户端-服务器架构的早期版本,其服务器端为 Lotus Domino18。 客户端功能:集成电子邮件、日历、联系人管理、文档数据库访问16。 服务器功能:支持分布式文档存储、跨平台数据同步及安全权限管理18。 技术特性 数据库技术:采用非结构化文档数据库,支持表单、视图、代理等自定义数据管理工具68。 工作流引擎:内置开发环境(Domino Designer),可定制审批流程、文档跟踪等企业级应用18。 跨平台兼容性:支持 Windows 95/98、NT 等早期操作系统,依赖 TCP/IP 协议实现网络通信25。

    Go语言入门指南:从基础语法到并发编程及错误处理

    内容概要:本文档详细介绍了Go语言的基础知识及其特性,旨在帮助初学者快速上手并掌握这门语言。首先概述了Go语言的特点,包括简洁高效的语法、强大的并发模型、跨平台支持以及丰富的标准库。接着逐步讲解了环境安装、基础语法、控制结构、集合类型、函数定义、结构体与方法、并发编程、错误处理等方面的内容。最后提供了包管理和学习资源的推荐,鼓励读者通过实战项目进一步提升技能。 适合人群:对编程有一定兴趣但尚未接触过Go语言的学习者,尤其是希望快速掌握一门高效并发编程语言的开发者。 使用场景及目标:①作为新手教程,帮助读者建立对Go语言的基本认识;②提供详细的语法指导,使读者能够独立完成简单的程序编写;③介绍并发编程和错误处理机制,培养解决实际问题的能力。 阅读建议:建议读者跟随文档内容进行实践操作,在理解和记忆的基础上多做练习,同时利用提供的学习资源加深理解。

Global site tag (gtag.js) - Google Analytics