仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 412|回复: 8
打印 上一主题 下一主题

[学习教程] 发布一篇Struts 2下载作废报非常的终极办理举措

[复制链接]
只想知道 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:02:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
JAVA是一种可以撰写跨平台应用软件的面向对象的程序设计语言,由升阳(SunMicrosystems)公司的詹姆斯·高斯林(JamesGosling)等人于1990年代初开发。
注:最新版本1.1检察http://sunspot.blog.51cto.com/372554/681472,修改BadVersionClass
有关struts2下载组件的详细先容我就在此略过了,看此文的同道想必年夜多是碰着如许让人非常不爽的成绩。
上面就将该成绩的终极办理举措先容以下。
成绩提要:
在struts2中利用result里type="stream"的了局范例时,能够完成文件的下载办理,利用时也是对照顺畅,可是当在“下载提醒窗口”中点击“作废按钮”时,老是报出“java.lang.IllegalStateException”非常,非常内容以下:
  1. 2011-1-820:34:20org.apache.catalina.core.StandardWrapperValveinvoke
  2. 严峻:Servlet.service()forservletdefaultthrewexception
  3. java.lang.IllegalStateException
  4. atorg.apache.catalina.connector.ResponseFacade.sendError(ResponseFacade.java:407)
  5. atjavax.servlet.http.HttpServletResponseWrapper.sendError(HttpServletResponseWrapper.java:108)
  6. atcom.opensymphony.module.sitemesh.filter.PageResponseWrapper.sendError(PageResponseWrapper.java:176)
  7. atjavax.servlet.http.HttpServletResponseWrapper.sendError(HttpServletResponseWrapper.java:108)
  8. atorg.apache.struts2.dispatcher.Dispatcher.sendError(Dispatcher.java:770)
  9. atorg.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:505)
  10. atorg.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)
  11. atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  12. atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  13. atcom.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:129)
  14. atcom.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77)
  15. atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  16. atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  17. atorg.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:102)
  18. atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  19. atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  20. atorg.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
  21. atorg.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
  22. atorg.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
  23. atorg.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
  24. atorg.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
  25. atorg.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
  26. atorg.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
  27. atorg.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
  28. atorg.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
  29. atjava.lang.Thread.run(Thread.java:662)
复制代码
收集办理举措:
(固然该举措可行,可是自己其实不倡始。详细缘故原由在以后注释。)
在收集中查询办理举措年夜多是利用非常处置的举措,其内容以下:
  1. <packagename="default"extends="struts-default">
  2. <global-results>
  3. <resultname="client-abort-exception">/ignored.jsp</result>
  4. </global-results>
  5. </package>
  6. <packagename="main"extends="struts-default">
  7. <exception-mappingresult="client-abort-exception"exception="org.apache.catalina.connector.ClientAbortException"/>
  8. <actionname="download"class="com.DownloadAction">
  9. <resultname="success"type="stream">
  10. <paramname="inputName">targetFile</param>
  11. <paramname="contentDisposition">filename=""</param>
  12. <paramname="buffersize">4096</param>
  13. </result>
  14. </action>
  15. </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好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
老尸 该用户已被删除
5#
发表于 2015-2-2 20:55:19 | 只看该作者
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
第二个灵魂 该用户已被删除
6#
发表于 2015-2-8 05:19:29 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
蒙在股里 该用户已被删除
7#
发表于 2015-2-24 08:25:40 | 只看该作者
是一种使网页(Web Page)产生生动活泼画面的语言
小妖女 该用户已被删除
8#
发表于 2015-3-7 11:54:49 | 只看该作者
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
小女巫 该用户已被删除
9#
发表于 2015-3-21 16:40:14 | 只看该作者
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-28 15:25

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表