|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
JAVA是一种可以撰写跨平台应用软件的面向对象的程序设计语言,由升阳(SunMicrosystems)公司的詹姆斯·高斯林(JamesGosling)等人于1990年代初开发。
注:最新版本1.1检察http://sunspot.blog.51cto.com/372554/681472,修改BadVersionClass
有关struts2下载组件的详细先容我就在此略过了,看此文的同道想必年夜多是碰着如许让人非常不爽的成绩。
上面就将该成绩的终极办理举措先容以下。
成绩提要:
在struts2中利用result里type="stream"的了局范例时,能够完成文件的下载办理,利用时也是对照顺畅,可是当在“下载提醒窗口”中点击“作废按钮”时,老是报出“java.lang.IllegalStateException”非常,非常内容以下:- 2011-1-820:34:20org.apache.catalina.core.StandardWrapperValveinvoke
- 严峻:Servlet.service()forservletdefaultthrewexception
- java.lang.IllegalStateException
- atorg.apache.catalina.connector.ResponseFacade.sendError(ResponseFacade.java:407)
- atjavax.servlet.http.HttpServletResponseWrapper.sendError(HttpServletResponseWrapper.java:108)
- atcom.opensymphony.module.sitemesh.filter.PageResponseWrapper.sendError(PageResponseWrapper.java:176)
- atjavax.servlet.http.HttpServletResponseWrapper.sendError(HttpServletResponseWrapper.java:108)
- atorg.apache.struts2.dispatcher.Dispatcher.sendError(Dispatcher.java:770)
- atorg.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:505)
- atorg.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)
- atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
- atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
- atcom.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:129)
- atcom.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77)
- atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
- atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
- atorg.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:102)
- atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
- atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
- atorg.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
- atorg.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
- atorg.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
- atorg.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
- atorg.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
- atorg.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
- atorg.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
- atorg.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
- atorg.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
- atjava.lang.Thread.run(Thread.java:662)
复制代码 收集办理举措:
(固然该举措可行,可是自己其实不倡始。详细缘故原由在以后注释。)
在收集中查询办理举措年夜多是利用非常处置的举措,其内容以下:- <packagename="default"extends="struts-default">
- <global-results>
- <resultname="client-abort-exception">/ignored.jsp</result>
- </global-results>
- </package>
- <packagename="main"extends="struts-default">
- <exception-mappingresult="client-abort-exception"exception="org.apache.catalina.connector.ClientAbortException"/>
- <actionname="download"class="com.DownloadAction">
- <resultname="success"type="stream">
- <paramname="inputName">targetFile</param>
- <paramname="contentDisposition">filename=""</param>
- <paramname="buffersize">4096</param>
- </result>
- </action>
- </package>
复制代码 也就是说,假如抛出了ClientAbortException非常,那就跳转到“ignored.jsp”这个页面,这个页面中甚么内容都没有。
另有一种举措是在页面举行try..catch,以后甚么都不做
<p>
学习JAVA的目的更多的是培养自身的工作能力,我觉得工作能力的一个核心就是:独立思考能力,因为只有独立思考后,才会有自己的见解 |
|