在cvs库中learndiary/find_a_way/login中,并且已经合并进主程序learndiary/old中。更新已经加入了实际运行网站。
标签:项目实施
这个星期日的任务
游客帐号可以作为一个公用的注册帐号使用
http://www.learndiary.com/disDiaryContentAction.do?goalID=1321
http://learndiary.tigris.org/issues/show_bug.cgi?id=8
现在写日记不大方便,应该使这个主要的功能变方便
http://www.learndiary.com/disDiaryContentAction.do?goalID=1322
http://learndiary.tigris.org/issues/show_bug.cgi?id=9
需要系统的设计一下违例系统
违例即异常,正确的处理它有利于程序的健壮性和用户的友好性,学习日记现有的设计中没有系统的考虑这个问题。当把现在做的登录系统初步完成后,需要认真的考虑一下违例处理系统。系统的设计以实用为原则。不必追求复杂系统的设计原则。
以后的新系统还要把这个认真的设计一下。
代码必须写一点,测试一点,测试代码应该预先编写
前两天,想把全部功能代码写出来再来测试。可是,仅仅写了一部分,就发现要找到问题十分困难。
必须写一点,测试一点,一部分一部分的保证正确性。
学习日记cvs库改变目录结构后eclipse2.1设置要点
在网友ppig的建议下,我们把cvs库old目录下的目录结构作了一番调整。这样,使整个结构更合理,但是,在开发环境的设置下需要作一定的设置。
这里以eclipse2.1+easyStruts0.6.4+tomcat5.0为例说明一下比较关键的地方:
1、把源文件目录和class文件的输出目录作相应的改变;
2、把编译库的目录设置为改变后的目录;
3、把/web目录设为tomcat的工程根目录;
4、在easyStruts设置<basePackage>/web</basePackage>;
我在这个过程中有一个疑问,当新建一个工程并把用wincvs检出的工程文件导入已经存在的工程,cvs路径能够使用,但用eclipse的sychronize with Repository,显示所有的本地文件均以更新。但是查看文件内容,又没有更新的地方。可能是cvs比较更新的条件我不懂吧。
由于必须存在.easystrutsplugin,.project,.tomcatplugin,eclipse2.1才能以导入存在的工程的方式,只有这样,用eclipse的sychronize with Repository才不会把没有更新的文件显示为更新,所以,我又把这3个文件从删除状态中恢复过来。真搞不懂是为什么。
另外,在tomcat设置页上,要设置:subdirctory to set as web application root(optional)=/web;
在easyStruts的设置页上,web context也必须是/web,即对应上面的这1句:<basePackage>/web</basePackage>;
否则,不管是启动或关闭eclipse等操作,就会报:unable to load modules的错误。
我们写代码一定要遵守代码规范,完善文档
文档现在在我的心里越来越重要,学习日记不完善的文档成了我心里的一个疙瘩,文档不完善,学习日记的继续向前发展将岌岌可危。主要是:
1、大家难以交流;
2、设计思路没有整理,有的代码实现日后再看将是一头雾水,成为向前的羁绊。
不管是否立刻开始新系统的设计,还是继续完善学习日记现有的一些网友早就提出的紧要问题,把学习日记的文档完善成了一个很大的挑战摆在了我的眼前。
怎么办?To be or not to be?
改变学习日记字符集为utf-8成功,可以用繁體
經過一些探索,把學習日記的字符集由gb2312改為utf-8了。
昨天,糾正了那個比較關鍵的Util.HtmlFormat()的BUG:不能顯示無字符的空行,還有一個nullpionter的潛在錯誤。
真是奇跡,網站運行這麼久,這些錯誤竟然沒有出現。怪事。
尝试把数据库连接字符串改为characterEncoding=GBk
学习日记不支持繁体,尝试把characterEncoding=GB2312改为GBK,繁体字倒是能显示了。但是,不知道为什么,java里的String.repalceAll()不能把繁体正文里面的\r\n替换成我需要的<br>,也就是说,它根本就没有发现里面有回车换行符。所以,这时,页面不能正确的换行。这个问题不是最紧要的,先把它记在这里,以后解决。
今天修复了导航系统的一些BUG
像页面中找不到应该由ACTION提供的参数、删除日记出错、编辑、提交、填写查询操作中操作非法后,回到原页面提示错误会丢掉request中的参数(解决方法:在session中再保存一次重复的参数,但不知有没有更好的办法?)等问题。
提交到CVS库,并把最新的程序上传空间试运行。
现在空间的程序最大的改变就是拆分了那个失败的LearnDiaryDB.java。不知道对空间速度的提高有没有用。还有,我考虑把导航字符串等字符串作为一个参数传给页面是不是不好,是否应该只把特征参数传入页面,再由页面处理得到整个字符串。这样,可以加大页面布局的灵活性。以后,到了程序界面制作的时候,这肯定是个问题要碰到的。
作为一个程序业余爱好者,真希望能够得到专业人士的指点。
把LearnDiaryDB.java分成了几个小文件
对程序的使用和理解有所帮助,但不是一个真正的DAO方案。已经提交到cvs库了。