问题描述
ibernate: select sysright0_.ID as ID34_, sysright0_.TEXT as TEXT34_, sysright0_.PID as PID34_, sysright0_.LEAF as LEAF34_ from DTJC.SYS_RIGHT sysright0_ where sysright0_.PID=02011-8-28 11:29:02 org.apache.catalina.core.StandardWrapperValve invoke严重: Servlet.service() for servlet default threw exceptionjava.lang.IllegalStateExceptionat org.apache.catalina.connector.ResponseFacade.sendError(ResponseFacade.java:407)at org.apache.struts2.dispatcher.Dispatcher.sendError(Dispatcher.java:752)at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:505)at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)at java.lang.Thread.run(Thread.java:619) 问题补充:firebug 错误信息<html><head> <title>Struts Problem Report</title> <style> pre { margin: 0; padding: 0; } </style></head><body> <h2>Struts Problem Report</h2> <p> Struts has detected an unhandled exception: </p><div id="exception-info"><table> <tr> <td><strong>Messages</strong>:</td> <td> <ol> <li>ORA-00942: ???????</li> <li><!-- FREEMARKER ERROR MESSAGE STARTS HERE --><script language=javascript>//"></script><script language=javascript>//'></script><script language=javascript>//"></script><script language=javascript>//'></script></title></xmp></script></noscript></style></object></head></pre></table></form></table></table></table></a></u></i></b><div align=left style='background-color:#FFFF00; color:#FF0000; display:block; border-top:double; padding:2pt; font-size:medium; font-family:Arial,sans-serif; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; text-transform: none'><b style='font-size:medium'>FreeMarker template error!</b><pre><xmp>Method public java.lang.String org.hibernate.exception.NestableRuntimeException.getMessage(int) threw an exception when invoked on org.hibernate.exception.SQLGrammarException: could not execute queryThe problematic instruction:----------==> ${msg[0]} [on line 68, column 29 in org/apache/struts2/dispatcher/error.ftl]----------Java backtrace for programmers:----------freemarker.template.TemplateModelException: Method public java.lang.String org.hibernate.exception.NestableRuntimeException.getMessage(int) threw an exception when invoked on org.hibernate.exception.SQLGrammarException: could not execute queryat freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:130)at freemarker.ext.beans.SimpleMethodModel.get(SimpleMethodModel.java:138)at freemarker.core.DynamicKeyName.dealWithNumericalKey(DynamicKeyName.java:111)at freemarker.core.DynamicKeyName._getAsTemplateModel(DynamicKeyName.java:90)at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)at freemarker.core.Expression.getStringValue(Expression.java:93)at freemarker.core.DollarVariable.accept(DollarVariable.java:76)at freemarker.core.Environment.visit(Environment.java:209)at freemarker.core.MixedContent.accept(MixedContent.java:92)at freemarker.core.Environment.visit(Environment.java:209)at freemarker.core.IfBlock.accept(IfBlock.java:82)at freemarker.core.Environment.visit(Environment.java:209)at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:179)at freemarker.core.Environment.visit(Environment.java:416)at freemarker.core.IteratorBlock.accept(IteratorBlock.java:102)at freemarker.core.Environment.visit(Environment.java:209)at freemarker.core.MixedContent.accept(MixedContent.java:92)at freemarker.core.Environment.visit(Environment.java:209)at freemarker.core.IfBlock.accept(IfBlock.java:82)at freemarker.core.Environment.visit(Environment.java:209)at freemarker.core.MixedContent.accept(MixedContent.java:92)at freemarker.core.Environment.visit(Environment.java:209)at freemarker.core.Environment.process(Environment.java:189)at freemarker.template.Template.process(Template.java:237)at org.apache.struts2.dispatcher.Dispatcher.sendError(Dispatcher.java:748)at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:505)at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)at java.lang.Thread.run(Thread.java:619)Caused by: java.lang.NullPointerExceptionat freemarker.ext.beans.SimpleMemberModel.unwrapArguments(SimpleMemberModel.java:85)at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:106)... 39 more
解决方案
freemarker.template.TemplateModelException: Method public java.lang.String org.hibernate.exception.NestableRuntimeException.getMessage(int) threw an exception when invoked on org.hibernate.exception.SQLGrammarException: could not execute query 这是sql执行不了啊确定两件事:1、数据库是否连接上(配置,网络等)2、如果能连接,这个sql能否执行:select sysright0_.ID as ID34_, sysright0_.TEXT as TEXT34_, sysright0_.PID as PID34_, sysright0_.LEAF as LEAF34_ from DTJC.SYS_RIGHT sysright0_ where sysright0_.PID=0
解决方案二:
1,查看数据库连接语句,还有,对于mysql这样的,连接语句里面得加上编码,编码不对连不上,比如jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf82,oracle的话数据库版本可能有问题,你先用数据库客户端连接,并操作一下,看能否完成,不能的话,可能就是数据库监听的问题咯。3,你copy到你电脑后,数据库备份你是怎样的,你是从别的电脑copy的?
解决方案三:
数据库版本一致吗?
解决方案四:
at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:130)SimpleMethodModel第130行有必要发出来瞧瞧
解决方案五:
另外一点就是这个语句是hibernate生成的还是你写的:select sysright0_.ID as ID34_, sysright0_.TEXT as TEXT34_, sysright0_.PID as PID34_, sysright0_.LEAF as LEAF34_ from DTJC.SYS_RIGHT sysright0_ where sysright0_.PID=0
解决方案六:
没有更多的错误信息了吗