jivejdon运行的问题请教

jivejdon运行后,保存帖子 后,页面显示一个500的错误,但是后台没有任何错误,而且 帖子也保存成功了,想请教下 banq,该问题可能出在什么地方, 给个提示。


系统的全部log日志: [img index=2]


将log级别调整为debug后,保存帖子输出的log如下:
可以看到没有任何的 ERROR级别的错误出现。

com.jdon.jivejdon.repository.dao.sql.MessageDaoSql.getMessageCore(MessageDaoSql.java:76) >>> getMessage end
[DEBUG] 2013-05-12 11:54:30,875 com.jdon.jivejdon.repository.dao.sql.MessageDaoSql.getMessageCore(MessageDaoSql.java:59) >>> enter getMessage for id:176
[DEBUG] 2013-05-12 11:54:30,876 com.jdon.jivejdon.repository.dao.sql.MessageDaoSql.getMessageCore(MessageDaoSql.java:76) >>> getMessage end
[DEBUG] 2013-05-12 11:54:30,877 com.jdon.jivejdon.repository.builder.MessageBuilder.asyncGetAccount(MessageBuilder.java:151) >>> embed getAccount
[DEBUG] 2013-05-12 11:54:30,878 com.jdon.jivejdon.repository.builder.MessageBuilder.buildPart(MessageBuilder.java:88) >>> Embed embed thread start
[DEBUG] 2013-05-12 11:54:30,878 com.jdon.jivejdon.repository.builder.ForumDirector.getForum(ForumDirector.java:47) >>> enter getForum for forumId=101
[DEBUG] 2013-05-12 11:54:30,878 com.jdon.jivejdon.repository.builder.ThreadDirector.getThread(ThreadDirector.java:53) >>> TH----> enter getThread, threadId=116
[DEBUG] 2013-05-12 11:54:30,879 com.jdon.jivejdon.repository.dao.sql.MessageDaoSql.getThreadCore(MessageDaoSql.java:107) >>> enter getThread for id:116
[DEBUG] 2013-05-12 11:54:30,887 com.jdon.jivejdon.repository.builder.ThreadDirector.construct(ThreadDirector.java:70) >>> ForumThread construct :<Embed ForumThread----> start, threadId=116
[DEBUG] 2013-05-12 11:54:30,888 com.jdon.jivejdon.repository.dao.sql.MessageQueryDaoSql.getTreeModel(MessageQueryDaoSql.java:59) >>> getTreeModel from jdbc for threadId=116
[DEBUG] 2013-05-12 11:54:30,888 com.jdon.jivejdon.repository.builder.ThreadBuilder.buildState(ThreadBuilder.java:129) >>> buildPartyState for forumThread=116
[DEBUG] 2013-05-12 11:54:30,888 com.jdon.jivejdon.repository.dao.sql.MessageQueryDaoSql.getLastPostMessageId(MessageQueryDaoSql.java:115) >>> enter getLastPostMessageId for threadId:116
[DEBUG] 2013-05-12 11:54:30,889 com.jdon.jivejdon.repository.dao.sql.MessageQueryDaoSql.getMessageCount(MessageQueryDaoSql.java:93) >>> enter getMessageCount for threadId:116
[DEBUG] 2013-05-12 11:54:30,890 com.jdon.jivejdon.repository.builder.ThreadBuilder.buildState(ThreadBuilder.java:144) >>> buildPartyState for forumThread=116
[DEBUG] 2013-05-12 11:54:30,890 com.jdon.jivejdon.repository.builder.ThreadDirector.construct(ThreadDirector.java:81) >>> ForumThread construct: ok threadId=116
[DEBUG] 2013-05-12 11:54:30,893 com.jdon.jivejdon.manager.subscription.SubscriptionNotify.onEvent(SubscriptionNotify.java:45) >>> subscribed action 测试
[DEBUG] 2013-05-12 11:54:30,893 com.jdon.jivejdon.repository.dao.sql.SubscriptionDaoSql.getSubscriptionsForsubscribed(SubscriptionDaoSql.java:178) >>> enter getSubscriptions for id:101
[DEBUG] 2013-05-12 11:54:30,896 com.jdon.jivejdon.repository.dao.sql.UserconnectorSql.loadSinaWeiboUserconn(UserconnectorSql.java:97) >>> enter loadForum for id:201
[DEBUG] 2013-05-12 11:54:30,897 com.jdon.jivejdon.repository.dao.sql.ShortMessageDaoSql.getShortMessages(ShortMessageDaoSql.java:249) >>> enter getShortMessages ..
[DEBUG] 2013-05-12 11:54:30,900 com.jdon.jivejdon.manager.subscription.SubscriptionNotify.onEvent(SubscriptionNotify.java:45) >>> subscribed action oleio
[DEBUG] 2013-05-12 11:54:30,900 com.jdon.jivejdon.repository.dao.sql.SubscriptionDaoSql.getSubscriptionsForsubscribed(SubscriptionDaoSql.java:178) >>> enter getSubscriptions for id:201
[DEBUG] 2013-05-12 11:54:30,902 com.jdon.jivejdon.repository.dao.sql.AccountDaoSql.getAccountByName(AccountDaoSql.java:120) >>> enter getAccountByName for username=oleio
[DEBUG] 2013-05-12 11:54:30,903 com.jdon.jivejdon.repository.dao.sql.AccountDaoSql.fetchAccount(AccountDaoSql.java:81) >>> found the account
[DEBUG] 2013-05-12 11:54:30,903 com.jdon.jivejdon.repository.dao.sql.AccountSSOSql.getRoleNameFByusername(AccountSSOSql.java:46) >>> enter getAccountByName for username=oleio
[DEBUG] 2013-05-12 11:54:30,904 com.jdon.jivejdon.repository.dao.sql.AccountSSOSql.getRoleNameFByusername(AccountSSOSql.java:56) >>> found the role
[DEBUG] 2013-05-12 11:54:30,905 com.jdon.jivejdon.repository.dao.sql.AccountSSOSql.embedPasswordassit(AccountSSOSql.java:75) >>> found the passwordassit
[DEBUG] 2013-05-12 11:54:30,905 com.jdon.jivejdon.repository.dao.sql.ShortMessageDaoSql.sendShortMessage(ShortMessageDaoSql.java:127) >>> enter createShortMessage
[DEBUG] 2013-05-12 11:54:36,853 com.jdon.jivejdon.manager.throttle.hitkey.CustomizedThrottleImp.fetchClient(CustomizedThrottleImp.java:106) >>> HIT com.jdon.jivejdon.manager.throttle.hitkey.HitKeyDiff@1050034
[DEBUG] 2013-05-12 11:54:36,854 com.jdon.jivejdon.manager.throttle.hitkey.CustomizedThrottleImp.fetchClient(CustomizedThrottleImp.java:111) >>> EXPIRED com.jdon.jivejdon.manager.throttle.hitkey.HitKeyDiff@1050034
[DEBUG] 2013-05-12 11:54:36,855 com.jdon.jivejdon.manager.throttle.hitkey.CustomizedThrottleImp.initClient(CustomizedThrottleImp.java:119) >>> NEW com.jdon.jivejdon.manager.throttle.hitkey.HitKeyDiff@1050034
[DEBUG] 2013-05-12 11:54:36,858 com.jdon.jivejdon.auth.PermissionInterceptor.invoke(PermissionInterceptor.java:74) >>> enter PermissionInterceptor
[DEBUG] 2013-05-12 11:54:36,859 com.jdon.jivejdon.auth.CUDInputInterceptor.invoke(CUDInputInterceptor.java:75) >>> enter PermissionInterceptor
[DEBUG] 2013-05-12 11:54:36,860 com.jdon.jivejdon.auth.PermissionInterceptor.invoke(PermissionInterceptor.java:74) >>> enter PermissionInterceptor
[DEBUG] 2013-05-12 11:54:36,861 com.jdon.jivejdon.auth.CUDInputInterceptor.invoke(CUDInputInterceptor.java:75) >>> enter PermissionInterceptor
[DEBUG] 2013-05-12 11:54:36,910 com.jdon.jivejdon.manager.throttle.hitkey.CustomizedThrottleImp.fetchClient(CustomizedThrottleImp.java:106) >>> HIT com.jdon.jivejdon.manager.throttle.hitkey.HitKeySame@1c90a78
[DEBUG] 2013-05-12 11:54:36,910 com.jdon.jivejdon.manager.throttle.hitkey.CustomizedThrottleImp.fetchClient(CustomizedThrottleImp.java:111) >>> EXPIRED com.jdon.jivejdon.manager.throttle.hitkey.HitKeySame@1c90a78
[DEBUG] 2013-05-12 11:54:36,910 com.jdon.jivejdon.manager.throttle.hitkey.CustomizedThrottleImp.initClient(CustomizedThrottleImp.java:119) >>> NEW com.jdon.jivejdon.manager.throttle.hitkey.HitKeySame@1c90a78
[DEBUG] 2013-05-12 11:54:36,911 com.jdon.jivejdon.auth.PermissionInterceptor.invoke(PermissionInterceptor.java:74) >>> enter PermissionInterceptor
[DEBUG] 2013-05-12 11:54:36,911 com.jdon.jivejdon.auth.CUDInputInterceptor.invoke(CUDInputInterceptor.java:75) >>> enter PermissionInterceptor


[该贴被oleio于2013-05-12 12:04修改过]
[该贴被oleio于2013-05-12 12:12修改过]
attachment:


jdon.txt

可能是JSP方面错误,查看tomcat/logs/localhost_accessXXXX日志是否有错。

谢谢 banq 的回复, 看了下日志,是有错误:

Cannot find bean: "threadTag" in any scope

请问 可能是什么原因导致的。


五月 12, 2013 12:24:30 下午 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet action threw exception
javax.servlet.jsp.JspException: Cannot find bean: "threadTag" in any scope
at org.apache.struts.taglib.TagUtils.lookup(TagUtils.java:864)
at org.apache.struts.taglib.bean.WriteTag.doStartTag(WriteTag.java:233)
at org.apache.jsp.query.approvedThreadListTags_jsp._jspx_meth_bean_005fwrite_005f18(approvedThreadListTags_jsp.java:1169)
at org.apache.jsp.query.approvedThreadListTags_jsp._jspService(approvedThreadListTags_jsp.java:452)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
at org.apache.struts.chain.commands.servlet.PerformForward.handleAsForward(PerformForward.java:113)
at org.apache.struts.chain.commands.servlet.PerformForward.perform(PerformForward.java:96)
at org.apache.struts.chain.commands.AbstractPerformForward.execute(AbstractPerformForward.java:54)
at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)

[该贴被oleio于2013-05-12 12:30修改过]
attachment:


newLog.txt

定位错误是哪个Jsp,比如根据approvedThreadListTags_jsp.java:1169可以认为是approvedThreadListTags_jsp.java的1169行出错,可以在tomcat/work目录下找到approvedThreadListTags_jsp.java这个文件,实际是approvedThreadListTags_jsp的Java文件。

approvedThreadListTags_jsp是一个辅助Jsp,不够健壮估计有一个标签数据,可以删除不执行。

javax.servlet.jsp.JspException: Cannot find bean: "threadTag" in any scope
at org.apache.struts.taglib.TagUtils.lookup(TagUtils.java:864)
at org.apache.struts.taglib.bean.WriteTag.doStartTag(WriteTag.java:233)
at org.apache.jsp.query.approvedThreadListTags_jsp._jspx_meth_bean_005fwrite_005f18(approvedThreadListTags_jsp.java:1169)
at org.apache.jsp.query.approvedThreadListTags_jsp._jspService(approvedThreadListTags_jsp.java:452)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)