只想知道 发表于 2015-1-18 11:02:14

发布一篇Struts 2下载作废报非常的终极办理举措

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的目的更多的是培养自身的工作能力,我觉得工作能力的一个核心就是:独立思考能力,因为只有独立思考后,才会有自己的见解

简单生活 发表于 2015-1-20 12:53:37

任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言

分手快乐 发表于 2015-1-27 06:05:46

如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。

活着的死人 发表于 2015-1-29 19:49:27

我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。

老尸 发表于 2015-2-2 20:55:19

不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。

第二个灵魂 发表于 2015-2-8 05:19:29

是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能

蒙在股里 发表于 2015-2-24 08:25:40

是一种使网页(Web Page)产生生动活泼画面的语言

小妖女 发表于 2015-3-7 11:54:49

接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。

小女巫 发表于 2015-3-21 16:40:14

你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
页: [1]
查看完整版本: 发布一篇Struts 2下载作废报非常的终极办理举措