关于Strus2中java.lang.IllegalStateException的简单分析

今天在做JEECMS的2次开发中,出现以下系统异常,但异常的抛出并不影响系统的运行。

2010-01-26 03:47 ERROR o.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/jeecms].[default] - Servlet.service() for servlet default threw exception
java.lang.IllegalStateException
 at org.apache.catalina.connector.ResponseFacade.sendError(ResponseFacade.java:405) [catalina.jar:na]
 at org.apache.struts2.dispatcher.Dispatcher.sendError(Dispatcher.java:840) [struts-core-2.1.6.jar:na]
 at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:548) [struts-core-2.1.6.jar:na]
 at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395) [struts-core-2.1.6.jar:na]
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) [catalina.jar:na]
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) [catalina.jar:na]
 at com.jeecms.core.web.AccessControlFilter.doFilter(AccessControlFilter.java:69) [AccessControlFilter.class:na]
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) [catalina.jar:na]
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) [catalina.jar:na]
 at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198) [spring-orm-2.5.6.jar:2.5.6]
 at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) [spring-web-2.5.6.jar:2.5.6]
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) [catalina.jar:na]
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) [catalina.jar:na]
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) [catalina.jar:na]
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172) [catalina.jar:na]
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) [catalina.jar:na]
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) [catalina.jar:na]
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) [catalina.jar:na]
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) [catalina.jar:na]
 at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:873) [tomcat-http.jar:na]
 at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) [tomcat-http.jar:na]
 at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) [tomcat-util.jar:5.1]
 at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) [tomcat-util.jar:5.1]
 at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) [tomcat-util.jar:5.1]
 at java.lang.Thread.run(Thread.java:619) [na:1.6.0_10-rc2]

调查后排除了常规调用造成的异常,应该是框架运行调用发生的错误。

认真检查Struts2配置文件后,发现result元素name属性没有匹配Action方法的返回值,解决方案:

1、修改对应的Action方法,改为void无返回值。

2、修改Struts2配置文件,添加result元素name属性为对应Action方法的返回值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值