天知道!!!怪不得逻辑上找了半天都没问题!!!
这里再把问题交代一下:
上面代码,初进页面明显reportDefForm的defID为0,自然进不了tag的context,即使进去了,也进不了内层的logic判断。我的错误是错误中的错误,之所以这样说因为明明看到进入了第一个logic判断(看到bean:message输出),却没注意,以为正常。直到进入第二个logic并且代码恰巧在jboss上输出错误信息时仍未发觉,一直以为是第二个逻辑写错了。于是拉来老师帮忙调了半天,把老师害惨了。。。(这几天老师经常被我这种低级错误害-__-)不怪老师看不出来,这种错误只能用ws来形容了.
当问题变态时早就该想到是低级错误惹的,这里就是少了对logic tag的声明。当然这里也有eclipse向导的错,自动生成的jsp文件里只有对html和bean tag的申明。不过归根到底是我的错,要记得eclipse也有傻的时候。。。
这几天我犯的错误很多都是仔细点,有记性点就能避免的。该打!!
有一次hibernate插数据,怎么也插不进去,后来才发现数据库用的是innoDB engineer,老师费了好大劲才查出来的.还有次用hibernate打成的sar包给ejb用查many to many的数据总只查到第一条关联数据(一个学生对应多门课程),后来才发现是eclipse自动生成的equal()方法有问题。。。又是老师的功劳(据说那天对代码对到2点钟,好敬业),另外eclipse又傻了一次。又有一次struts + ejb + dao + hibernate老是出现arpache.org....logging错误,出离愤怒了!!!老师以为是哪俩个包之间冲突了,后来自己发现是又是一个低级错误:enterprise应用里的application.xml文件里的导入包module通通都没写,昏倒。不过这个教训告诉我,问题的原因往往不是服务器之类的工具告诉你的那个方向,很多时候是一个想不到的方向的错误产生的级联的错误,到表现出来已经是面目全非了。这段时间还遇到很多错误,昨天把hibernate里jboss-services的的多参数分开写成多个MapResources属性了,不了解啊不了解。更低级的错误是sar包忘部署了,这个倒是jboss部署时就明确显示错误。当然偶也看到其他人的一些错误,都是很配置啊(如数据库驱动的版本太老,没放对位置,两个驱动放在一起jboss去找时有冲突。ejb的Util中gethome方法中要修改COMP_NAME为JNDI_NAME,与jboss.xml和ejb-jar.xml中的ejb-name对应。还有好几个竟然ant坏了的。jdk1.5要和j2ee1.4搭配,jdk1.4要和j2ee1.3搭配,不然有问题,后者稳定,我都用的后者)什么的问题。
也许因为是j2ee倡导component architecture的原因,所以components之间的连接很多,大多是些配置文件的问题,多检查几遍才是王道,要是这个错了,容器爆出的错就五花八门了,代码的错反倒是好检查的多,是什么的错就报什么,还是有点针对性的。总之一句话:很多的问题是自己代码和配置本身的问题,不要过多的怀疑环境。(我们老师说的,真是好老师啊)还有个问题,有些部件的测试是个问题,如hibernate虽然可以用Factory测试,但打成sar包就很难测了(这种情况下只可能是jboss-services有问题),ejb也一样,都要在jndi服务器上才能用,听说过cactus能部署虚拟环境,以后看下好不好,无论如何经过测试的部件拿来用才放心,单元测试是王道!!
我这个人看来这几天要反思反思,低级错误的原因很多是不仔细,可能在机房做没一个人在寝室做容易集中全力,心思一放到别的地方就散了,聚不来了。另外错误还是要总结的,避免以后犯同样的错。另外我hibernate的表连接还不是很熟,struts的tag lib也不是很熟,一定要熟。
想起来今天还犯了一个错(错真多),竟然忘了写ActionForm,但是jsp里已经写了.
1. 所使用的软件之间版本不兼容造成的,如jdbc驱动,jdk1.5,j2ee1.4的版本新旧的影响。2. 链接不同组件之间的配置文件的问题,如环境变量中%HOME%的位置,xml文件的内容。3. 软件本身的配置,如数据库中innoDB的数据受保护,不能被改写和插入。4. 很多的问题是自己代码和配置本身的问题,不要过多的怀疑环境。
posted on 2005-10-20 11:24 Roger的Blog 阅读(4261) 评论(0) 编辑 收藏
Powered by: BlogJava Copyright © Roger的Blog