`
hpjianhua
  • 浏览: 241729 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类

Struts2图片上传成功后,异常:java.lang.IllegalStateException

阅读更多
1.场景:
   使用Struts2图片上传成功后出现异常:
 
严重: Servlet.service() for servlet default threw exception
java.lang.IllegalStateException
	at org.apache.catalina.connector.ResponseFacade.sendError(ResponseFacade.java:407)
	at javax.servlet.http.HttpServletResponseWrapper.sendError(HttpServletResponseWrapper.java:108)
	at org.apache.struts2.dispatcher.Dispatcher.sendError(Dispatcher.java:771)
	at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:506)
	at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
	at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
	at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
	at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:381)
	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:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
	at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)
	at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
	at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555)
	at java.lang.Thread.run(Thread.java:619)
2011-7-10 18:39:55 org.apache.catalina.startup.HostConfig checkResources
  


2.解决方案:
  经过详细查找问题之后,发现问题出现在使用Struts2静态化HTML的问题上面,在Web.xml中配置如下:
 
 	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>/*</url-pattern>
		<dispatcher>REQUEST</dispatcher>
		<dispatcher>FORWARD</dispatcher>
	</filter-mapping>


在上面的配置中,Struts2再使用了FORWARD转发,结果就出现了异常:
java.lang.IllegalStateException
这个异常是指在不合法的状态下使用了要在合法状态下访问的方法或者是变量.

  关键的一点:在web.xml中添加新的struts2的配置可成功解决异常的问题:
 
	 <filter>
	  <filter-name>struts-cleanup</filter-name>
	  <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
	 </filter> 
  <filter-mapping>
  
  <filter-name>struts-cleanup</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>
  
2
0
分享到:
评论
3 楼 god8816 2012-05-17  
<filter> 
<filter-name>struts-cleanup</filter-name> 
<filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class> 
</filter>  
<filter-mapping> 
 
<filter-name>struts-cleanup</filter-name> 
<url-pattern>/*</url-pattern> 
lt;/filter-mapping>

怎么没有效果啊??
2 楼 hpjianhua 2011-08-25  
tfling2012 写道
楼主,还是未解决我的问题
我想请教一下,每次我下载jar包完成是都会报错
严重: Servlet.service() for servlet default threw exception
java.lang.IllegalStateException
at org.apache.catalina.connector.ResponseFacade.sendError(ResponseFacade.java:407)
at org.apache.struts2.dispatcher.Dispatcher.sendError(Dispatcher.java:770)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:505)


每次我下载jar包完成是都会报错?你是上传Jar包自己下载?还是什么呢?
看这个异常的信息是不合法的状态错误,检查下代码,看是那里抛出来的
1 楼 tfling2012 2011-07-22  
楼主,还是未解决我的问题
我想请教一下,每次我下载jar包完成是都会报错
严重: Servlet.service() for servlet default threw exception
java.lang.IllegalStateException
at org.apache.catalina.connector.ResponseFacade.sendError(ResponseFacade.java:407)
at org.apache.struts2.dispatcher.Dispatcher.sendError(Dispatcher.java:770)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:505)

相关推荐

    java.lang.IllegalStateException: getOutputStream() has already解决办法

    纠结了半天的 java.lang.IllegalStateException: getOutputStream() has already。这个问题困扰了半天,在网上查阅了大量资料 出这个错误一般就是下面2个.....

    解决struts2下载异常的jar包 struts2-sunspoter-stream-1.0.jar

    在struts2中使用result里type="stream"的结果类型时,可以实现文件的下载管理,使用时也是比较顺畅,但是当在“下载提示窗口”中点击“取消按钮”时,总是报出“java.lang.IllegalStateException”异常,异常内容...

    tomcat部署多个项目.pdf

    在多个项目中,可能会遇到 `java.lang.IllegalStateException` 异常,例如: `java.lang.IllegalStateException: Web app root system property already set to dif` 这个异常是因为多个项目中的 `web.xml` 文件中...

    tomcat启动的错误

    4. **测试连接**:在Tomcat完全启动后,尝试使用管理工具或编程方式连接数据库,验证连接是否成功。 通过以上步骤,可以有效地解决Tomcat启动时出现的与MySQL JDBC驱动相关的错误。此外,在进行SSH框架整合时,还...

    java的常见问题及解决方法定义.pdf

    如果遇到“java.lang.IllegalStateException: No data type for node: org.hibernate.hql.ast.tree.IdentNode”的错误,这意味着在使用Hibernate的HQL查询时,忘记为表名添加别名。正确的做法是在查询语句中明确...

    java常见异常汇总

    **异常描述**:在使用 HQL (Hibernate Query Language) 时,如果没有给表名添加别名,可能会引发 `java.lang.IllegalStateException`。 **原因分析**:在 HQL 查询语句中,如果没有为表指定别名,HQL 解析器将无法...

    java的常见问题及解决方法参照.pdf

    当你遇到`java.lang.IllegalStateException: No data type for node: org.hibernate.hql.ast.tree.IdentNode`时,可能是你在HQL查询中忘记了为表名添加别名。正确的做法是为每个表指定别名,例如`select p from ...

    java Struts2 在拦截器里的跳转问题

    首先,让我们来看看异常`java.lang.IllegalStateException`。这个异常通常表示在不合法或不合适的时间点调用了某个方法,比如在HTTP响应已经发送到客户端之后尝试修改响应状态。在这个场景下,异常可能源于`...

    超级有影响力霸气的Java面试题大全文档

     java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类 6、int 和 Integer 有什么区别  Java 提供两种不同的类型:引用类型和原始类型(或...

    iteye的技术博客集合

    - **Java.lang.IllegalStateException: Cannot call sendError() after the response has**:这部分内容介绍了如何避免在发送响应后调用 sendError() 方法而导致的异常。 - **Java 中重载函数调用时出现的问题**:这...

Global site tag (gtag.js) - Google Analytics