2006-08-01

终于完成了TestVeriCodeDuo

重点在于,在一个网站里面,有两个地方要使用验证码,而且参数不一样.

这样的话,要有三个对象(Bean),分别是, 生成验证码的对象, 和两个验证码参数对象. 并且并且,这三个Bean的SCOPE都要是application, 这样, 在整个网站运行期间,只用这三个Bean就能生成无数张验证码了.

问题就出在初始化和修改参数上.由于是SCOPE为application, 所以自然想到将一个IndexServlet指向网站的根目录, 并且在这个Servlet的init方法里, 连接数据库(或者是XML之类的配置文件), 读取其中的配置参数, 并将两个参数Bean初始化. 想法本来是很好的,但是...... 为啥我决定"试一下"的时候, 偏偏选择了重写init(ServletConfig config)这个方法? 可能是因为有个参数, 想着待会可以用这个参数得到application对象, 从而将两个Bean放进去吧...... 无论如何愚蠢的决定......

果然,之后漫长而又痛苦的调试过程验证了一切. 果然是要重写init()这个不带参数的方法就OK了. 此为郁闷No.1是也......

然后就是另一个郁闷的失误. 这个失误尤为丢脸, 因为我之前已经注意到一次了, 但是在后面居然还是掉了链子, 而且掉的很大. 话说, 从表单或者直接用"后面跟问号和参数"的方式给一个jsp传数据, 应该是用request.getParameter("")方法来获取. 但是, 我偏偏是在一个最最不该的地方, 写了个request.getArrtibute("") , 于是, 就又狠狠地惨烈了将近一天的样子...... 遭罪啊......

最后, 实在是不能容忍的错误. 人家李栋还提醒我了, 说从表单上过来的值, 除了判断是否为null以外, 还要判断是否为空串"". 就是因为忘了这个细节, 本来设计的无敌完美的更新数据库语句总是更新不了, 后来, 在陈老师的指导下, 把那句SQL输出了一下, 一看, 等号后全都是空的...... 恶地个神啊......


无论如何,这个花了我一个星期的超级无敌简单的东西总算是做完了. 接下来又有新的任务 -- Java Mail. 希望这次可以不要有这么多的磕磕绊绊吧......


共勉~

没有评论:

嘿, 你丫想写blog么?

我不知道. 能看到这的朋友, 我要恭喜你们...... 什么时候能有一个自己的家呢