首先,衷心感谢您光临“学习日记”。
我们一直在努力,我们致力于为您提供最优质的网络协作学习服务开源平台。
请把您在使用本系统中发现的问题和不足告诉我们,请把您的建议和意见告诉我们。
请把反馈发表在这篇公告的评论中。谢谢。
37 thoughts on “系统使用及测试反馈”
Comments are closed.
正在关注 Linux 、开源、IT 的个人博客。
首先,衷心感谢您光临“学习日记”。
我们一直在努力,我们致力于为您提供最优质的网络协作学习服务开源平台。
请把您在使用本系统中发现的问题和不足告诉我们,请把您的建议和意见告诉我们。
请把反馈发表在这篇公告的评论中。谢谢。
Comments are closed.
为了保证以前缺naviStr参数(或因为各种原因丢失和错误格式)的url能够正常访问,需要设置默认的naviStr,默认为在所有目标中的系列页面中查看。
做增值业务
当写了一篇日记后提交选择:查看刚才提交的日记为出现错误,在这个前提下,然后评论一篇日记也会出错,出错信息如下:
500 Servlet Exception
javax.servlet.jsp.JspException: Cannot find bean preNextNavigation in scope request
at org.apache.struts.taglib.TagUtils.lookup(TagUtils.java:941)
at org.apache.struts.taglib.bean.WriteTag.doStartTag(WriteTag.java:269)
at _disall._disgoal._disgoalcontent__jsp._jspService(\disall\disgoal\disGoalContent.jsp:25)。。。
这时url为:http://www.learndiary.com/toWriteAdviceAction.do?typeID=3&goalID=1159&naviStr=a10a60a01a31159
这是没有把显示帖子内容的所有情况考虑到,希望朋友多多帮我们测试一下。
昨天晚上,我在本地删除一篇帖子的时候出现错误,本来想今天来解决,可是,我费了一些时间才把错误再现。看来,发现错误还是及早记录的好。下面我把本地出错的url贴在这里以备忘。
http://localhost:8080/learndiary/diaryAction.do?searchDiaryID=104&goalID=36&naviStr=a10ac0ad0a236ag36a036ah104
错误信息:。。。Cannot find bean preNextNavigation in scope request
。。。
我想我找到原因了。在搜索日记列表中,查看上一条和下条内容(下一条检索日记的目标内容,目标的所有日记,目标的我的日记。。。),需要一个searchDiaryID参数跟踪当前的内容是对应哪个搜索的日记的。如果,删除了日记列表的第一篇日记,像这样:http://localhost:8080/learndiary/deleteDiaryAction.do?searchDiaryID=216&artID=216&naviStr=a10ac0ad0ag102a2102
就不能根据这个参数生成上条或下条的导航字符串了。
解决方案:删除日记后把当前的searchDiaryID重置为搜索日记结果的第一条日记;
系统导航:所有目标>>检索>>检索日记列表>>日记:的用法
上一日记 下一日记
日记标题 <html:text/>的用法
在这里,"<html:text/>"没有转换,给html格式去掉了。
又是一个naviStr的容错问题。搜索帖子时在session中有一个condition参数,naviStr参数中记录了这条帖子是来自搜索页,所以会在session中找condition参数,结果当然找不到,就出现了数据库中查询错误“where null”。
解决办法,如果检测到搜索过程的session中的condition为null,首先把naviStr置为null。再出错就不是naviStr的事了。
ok.
1、bug:删除检索到的日记列表中的最后一条日记时会报错;
2、显示检索日记列表的日记所在的目标中的所有日记列表中的日记内容时,导航条失去了前面检索部分的项目,这似乎有点失控的感觉;
3、应该在显示日记时,在其中添加转到日记所在目标内容的链接;尤其是在检索日记的列表的日记中,用我们的导航方式,会不知道日记所在的上层的目标。
1、加入空列表的检测;
2、检测如果naviStr中含有表示搜索的“ad”、“ae”时是否condition参数为null,主要是引用别人在搜索时贴出的URL;
3、在DisGoalContentAction.java中显示日记的部分加入“jumpToViewGoal”属性,在显示日记的页面disGoalContent.jsp的右上部加上这个链接。
URL为:http://www.learndiary.com/disGoalContentAction.do?null
提示为commonfailure?还是listfailure?忘了。
这个功能应该实现。可以以:RE:***来作为默认标题。
默认回复标题已经加上,默认留言标题为:“留言”。
删除帖子的评论后报告commonFailure错误,这是一个修改代码新引入的bug.
从网站运行日志中常看到这样的错误记录,可我就是没有发现这两个错误的链接是怎么进入的。记在下面,希望遇到的朋友能提示一下链接进入点。
1、
No action instance for path /toDiaryAction could be created
java.lang.ClassNotFoundException: com.learndiary.website.action.disdiary.ToDiaryAction
...
2、
Invalid path /disdiarycontentaction was requested。
我曾经看到过一位朋友提到的,
关于注册名长度过短的抱怨,
我也觉得有些短,
我的名字就只写了前六位。
我觉得定为10到15位之间的某个长度比较好,
可以保证大部分朋友的需求,
而且很少有人的用户名会超过这个范围,
(否则,自己都有可能写累了^_^)。
说实话,六位似乎是短了一点。
谢谢朋友的建议,现已对用户名长度作了改动。
改动地方:
资源文件、UserDB.java、EmailResetPsdForm.java、RegForm.java,数据库user表的userName字段长,article表的userName字段长。
--admin
响应真是迅速,
谢谢。
不知道注册过的用户,
是否可以将自己的注册名修改一下?
比如把我的 “sinpoo” 改成 “sinpool”。
拜托!
暂时还未支持用户名修改。
我从数据库里给你改了。
改成我在网上常用的一个网名:littlebat 小蝙蝠,虽然我已经30岁了。
哦!
我的名字改过来了,
谢谢littlebat。
首先,我不知道这是不是真的bug,
我描述一下现象:
我加入的目标是两个,其中一个是“暂未确定的目标 (0篇)”,
我退出了这个目标后,
点击“我的目标”后,正常显示了剩下的那个目标,
不过,在“所有目标”中,
我退出的那个目标的“加入目标”栏,仍然显示的是
-------
已加入
29
-------
我觉得应该是一个“加入”的链接才对。
请确认!
谢谢你的细心。目前的“加入人数”是指曾经加入过的人数。你加入后改变目标的状态不影响加入人数的显示。
另外,“暂未确定的目标”是定义为登录就自动加入的目标。也就是说,从这个目标产生后,总共只有29人登录过。
程序的逻辑都是人为的,我们可以经过实践和交流,人为的改变它。
再次感谢。
如题。按道理讲,在所有目标页面或日记列表上都应该显示最近更新的日记的标题。
原因在于翻页后的goalID保存在了session中,而在链接参数中没有http://www.learndiary.com/diaryAction.do?searchDiaryID=null&pageNum=2&naviStr=a10a2313,写作日记需要的goalID参数在这个链接中找不到http://www.learndiary.com/toWriteDiaryAction.do?typeID=2&searchDiaryID=null&goalID=&naviStr=a10a2313,就会报“commonFailure”错误。
1、更新一篇有评论的日记显示最近更新的为评论:改写了AritcleDB.java里的getLastArtByID()方法;
2、把diary.jsp中写日记的链接里的${param['goalID']}改成${goalID}就行了,这样它可以搜索从page到application整个范围里的goalID变量。
例如,删除了目标下的一篇日记,这时,目标的最近更新时间为删除了的日记的最近更新时间,因为这时日记已经被删除了,所以整个的最近更新就为目标的内容了。而实际上目标的内容本身是没有更新的(现在,也不支持目标内容的更新),然而显示的最近更新却是目标本身了。这可能跟实际的逻辑不合,应该考虑一下合适的方案。
先记在这里。暂时不管了。
with
Content-Type: multipart/alternative; boundary=8d9c93ce16c8fa17f2e41a95d88adf16
MIME-Version: 1.0
Subject: loafin . elieve me, innissy, readin is not thinkin . t
bcc: hollowiog1503@aol.com
This is a multi-part message in MIME format.
--8d9c93ce16c8fa17f2e41a95d88adf16
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
speak on the subject. he olonel and ady lorence followed her with shrugs of annoyance the amour propre of each
--8d9c93ce16c8fa17f2e41a95d88adf16--
.
我们从来没有有个这个邮箱。现在@learndiary.com的邮箱只有一个,就是webmaster@learndiary.com
RSS Feed中报告有非法字符而不能生成Feed文件:在LOG中有如下记录:
" is not legal for a JDOM character content: 0x7 is not a legal XML character.
主要是在转贴中:
1:AutoCAD设计技巧在线教程连载(转载目录)http://www.123go.org.cn/disDiaryContentAction.do?searchDiaryID=1866&goalID=1866&naviStr=a10a21876
2:(转帖)默认安装的mysql服务不安全因素涉及的内容
http://www.123go.org.cn/disDiaryContentAction.do?searchDiaryID=1205&goalID=1205&naviStr=a10a241
不知这段时间修改了什么,如果登录登录失败会报错,而不是像以前那样回到登录窗口提示错误信息。
是Struts版本的问题。在Struts1.2及以上用如下语句会出错。可能我把网站的Struts库用成了1.2。换成Struts1.1正常。
ActionErrors errors = new ActionErrors();
errors.add(Globals.ERROR_KEY, new ActionError("message.order.saved.successfully"));
saveErrors(request, errors);
参见:日记:java.lang.StackOverflowError错误:http://www.123go.org.cn/disDiaryContentAction.do?goalID=1470
今天,在订阅一个目标的RSS日记时才突然发现null point错误,一看,原来是在RSSAction.java第148行中有的订阅不用userName这个参数,这个参数的值就是null,后面为了避免SQL注入,屏蔽了单、双引号。用userName.indexOf('\'')等就形成了null point错误。
加上一个判断null值的语句解决。
看来,只要程序修改过,就要充分的测试一下才行啊,不要想当然的认为没事。
像这篇公告,有了33篇评论了,在网站慢的时候很影响使用。
在注册用户编辑私有帖子的时候,如果session失效,那么帖子就成了公共的guest帐号的私有日记了-也就是成了公开日记了。所以guest帐号的权限和角色应该重新考虑。
而且,从游客帐号可以作为一个公用的注册帐号使用增加了用户参与的方便性,但是并没有增加用户参与的积极性,从 2005年12月这个帐号开始使用至今,这个帐号有意义的使用只有一次:[转]2005年IT人士生存状态 ,所以,guest帐号预先的想法并没有实现。
为了延续guest这个用户,可以把他设成为一个测试帐号。而常规的guest依然回到只读的角色。
当我使用两个IE打开两个不同的目标时,
比如第一个浏览器浏览的是目标A,
第二个浏览器浏览的是目标B,
当第二个浏览器中的目标B进行翻页显示后,
再次回到第一个浏览器中也进行翻页的操作,
这时,第一个浏览器中也将显示目标B的内容,
而不再是目标A的内容了。
你说的是浏览不同目标的日记列表吧,我试了一下,确实如此。
我想问题可能出在我只用session中的一个数据来保存日记列表数据,同一个浏览器开不同的窗口时使用的同一个session,所以会出现你描述的情况。
感谢sinpool的热心反馈。向sinpool数月后的再次来访并留下珍稀墨宝致以最热烈的欢迎:)