banq老大,我在用本书第五章光盘中"接口框架"调用的时候出现少了这么多的类文件,请您发给我好吗,我现在根本不能编译运行通过,感谢.
EMAIL:youfengyang@sohu.com
com.jdon.util.UtilCache;
com.jdon.servicelocator.ejb.ServiceLocator
com.jdon.servicelocator.ServiceLocatorException
com.jdon.servicelocator.web.ServiceLocator
com.jdon.controller.Constants
com.jdon.util.Debug
com.jdon.util.PropsUtil;
com.jdon.util.ObjectCreator;
com.jdon.util.UtilValidate;
com.jdon.util.XmlUtil
这些基本是工具类,很通用,可以到处找到其实现代码。你其实结合上下文,可以知道其用处,我分析如下:

com.jdon.util.UtilCache; //Cache工具箱,实现Cache功能
com.jdon.servicelocator.ejb.ServiceLocator //PetStore
com.jdon.servicelocator.ServiceLocatorException//PetStore
com.jdon.servicelocator.web.ServiceLocator//PetStore
com.jdon.controller.Constants //常量类,没什么内容
com.jdon.util.Debug //调试辅助类,没太大用处
com.jdon.util.PropsUtil; //属性文件读取帮助类
com.jdon.util.ObjectCreator; //动态对象生成类,就是newInstance
com.jdon.util.UtilValidate; //字符串检查,检查用户输入数据
com.jdon.util.XmlUtil //XML文件的读取

banq,我是一个新手呀,还不太明白这些类,到哪里找这些个类呀,我是你的读者,帮帮忙把这些少了的类发过来可以吗?感激!youfengyang@sohu.com
翻了2章,书写得确实不错,出自高人之手。不过对一些原理和模式讲得不够浅显易懂,例子不够多,总觉意犹未尽,语焉不详。
希望Jdon能从读者角度丰富书的内容,真正传人之道。书的语言和厚度能达到thinking in java那样,即使定价99元,我们也会毫不犹豫地购买。

书也有些错误,这个难免。

我想建议jdon能否考虑为这本书建立专门的网页,讨论如何更好的学习本书。也是促销的手段啊。

由于前段时间在jdon潜水稍有收获,周末逛书城我也买了一本,以表感谢!
程序员2004第5期banq又发布了J2EE图书列表,:")
我想知道tcphandler类里面的state变量是怎么来的???
多谢kofboy这么认真,我不是很明白你的意思,这个程序我已经通过功能测试和性能测试。希望有机会当面讨论,谢谢。

好吧,我这样问:25页的程序中,removeReqFirst()从messageList取到的消息是用户输入的还是网络上服务器发过来的?2选1


为了方便你回答我吧书上代码写出来:
Message request = messageList.removeReqFirst();
String strs=(String)request.getObject();
//写入socket
socketHelper.writeSocket(strs.getBytes("UTF-8"),keyChannel);

>removeReqFirst()从messageList取到的消息是用户输入的还是网络上服>务器发过来的?2选1

按照我的记忆,肯定不是用户输入的,但也不能说是网络上服>务器发过来,因为这个queue是在客户端。

你可能是对NIO的read事件和write事件机制不是非常清楚,这个机制非得自己亲手试验后才会发现其中沟沟坎坎,至于是哪些沟沟坎坎,我记忆不是非常好。

你将你的问题贴在专门讨论论坛:
http://www.jdon.com/jive/forum.jsp?forum=61

应该有其它研究深入的网友回答你的问题。

麻烦banq提供以下几个文件,我在使用本书的一些例子的时候,缺少这些类文件,感谢作者.
HttpServerParam.java
AuthException.java
Authenticator.java
HttpClient.java
>removeReqFirst()从messageList取到的消息是用户输入的还是网络上服>务器发过来的?2选1

按照我的记忆,肯定不是用户输入的,但也不能说是网络上服>务器发过来,因为这个queue是在客户端。

这是一个聊天的client,从messageList取到的消息发给服务器,这当然是用户输入的数据。如果即不是用户输入,又不是聊天服务器发过来的,那是什么?不要凭记忆了,请你打开书看看自己写的程序吧。

我的确在一家公司做java开发,但是用NIO读写socket是2个线程,后来看到您的这本书,一个线程实现了读和写,总觉得有矛盾。这个线成是等待在removeReqFirst()呢还是Selector.select()?

>这些基本是工具类,很通用,可以到处找到其实现代码。你其实结合上下文,可以知道其用处,我分析如下:
>
>com.jdon.util.UtilCache; //Cache工具箱,实现Cache功能
>com.jdon.servicelocator.ejb.ServiceLocator //PetStore
>com.jdon.servicelocator.ServiceLocatorException//PetStore
>com.jdon.servicelocator.web.ServiceLocator//PetStore
>com.jdon.controller.Constants //常量类,没什么内容
>com.jdon.util.Debug //调试辅助类,没太大用处
>com.jdon.util.PropsUtil; //属性文件读取帮助类
>com.jdon.util.ObjectCreator; //动态对象生成类,就是newInstance
>com.jdon.util.UtilValidate; //字符串检查,检查用户输入数据
>com.jdon.util.XmlUtil //XML文件的读取


你这样怎么是负责的说法?

既然可以到处找到其实现代码,你为何不收录到光盘里?
如果我们什么都会了,还看你的书干什么?

直到现在两个月过去了,应该有不少读者反映问题,但我还没有从jdon网站上看见比较完整的解答。特别是源代码方面,其中一些可能由于版权原因不能随提供,至少在网站上也该提示一下如何获得。至于com.jdon.*,我估计都是你个人编写的,提供出来应该没有问题吧。

我在打开第4章代码时,发现这些类都没有
import com.jdon.util.Debug;
import com.jdon.controller.ServiceProxyHandler;
import com.jdon.controller.events.EventUtil;

import com.jdon.cms.Page;

找遍其余章节代码也没能发现。
麻烦你将这些代码打包放在网上供读者下载。

当初编辑让我提供光盘的想法是有问题,各位读者,这些源码没有提供原因是:

(1)在系统中可有可无,例如Debug等,是可以删除的,是系统中的工具类。

(2)因为本书是重在启发编程思路,不是发售源码系统,所以,光盘只提供书中讲解的源码,主要是方便读者在电脑中查看,否则,一个个键入很累。

(3)有些源码是借鉴其它系统,或由他人完成,当然不能公布其源码,否则会被指责严重抄袭。

> 这些基本是工具类,很通用,可以到处找到其实现代码
>
> com.jdon.util.UtilCache;
> //Cache工具箱,实现Cache功能
> com.jdon.servicelocator.ejb.ServiceLocator
> //PetStore
> com.jdon.servicelocator.ServiceLocatorException//PetSt
> re
> com.jdon.servicelocator.web.ServiceLocator//PetStore
> com.jdon.controller.Constants //常量类,没什么内容
> com.jdon.util.Debug //调试辅助类,没太大用处
> com.jdon.util.PropsUtil; //属性文件读取帮助类
> com.jdon.util.ObjectCreator;
> //动态对象生成类,就是newInstance
> com.jdon.util.UtilValidate;
> //字符串检查,检查用户输入数据
> com.jdon.util.XmlUtil //XML文件的读取


如果你需要看ofbiz的源代码,这里是链接:

com.jdon.util.UtilCache => https://ofbiz.dev.java.net/source/browse/ofbiz/base/src/base/org/ofbiz/base/util/UtilCache.java

com.jdon.util.Debug => https://ofbiz.dev.java.net/source/browse/ofbiz/base/src/base/org/ofbiz/base/util/Debug.java

com.jdon.util.UtilValidate => https://ofbiz.dev.java.net/source/browse/ofbiz/base/src/base/org/ofbiz/base/util/UtilValidate.java

com.jdon.util.PropsUtil => https://ofbiz.dev.java.net/source/browse/ofbiz/base/src/base/org/ofbiz/base/util/UtilProperties.java ??

com.jdon.util.XmlUtil => https://ofbiz.dev.java.net/source/browse/ofbiz/base/src/base/org/ofbiz/base/util/UtilXml.java

总算等出一个懂行的人出来说了,这些工具类是借用OfBIZ的,但是,这些类源码没有在我的书和光盘中出现。

借用开源做法其实并没有错误,很多国外软件都是借用和基于开源,如IBM的门户是基于JetSpeed,Web Services产品是基于Axis。

但是,如果这些类出现在我的书和光盘中,就又落下口实。所以,公布了源码会挨骂,不公布源码,也已经被骂,其实我是想做个好人,做好人真的很难。