用smartupload下载文件的时候,用户点“取消”会抛出异常,怎么办?

yugang1219 2008-09-11 12:23:37
用smartupload下载文件,用户点击了下载文件那个链接,会弹出一个对话框,询问是否保存文件,若点击“保存”则可以正常下载,但如果用户点击“取消”则会抛出如下异常:

java.net.SocketException: Connection reset by peer: socket write error
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(Unknown Source)
at java.net.SocketOutputStream.write(Unknown Source)
at org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:737)
at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:434)
at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:349)
at org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:761)
at org.apache.coyote.http11.filters.IdentityOutputFilter.doWrite(IdentityOutputFilter.java:118)
at org.apache.coyote.http11.InternalOutputBuffer.doWrite(InternalOutputBuffer.java:570)
at org.apache.coyote.Response.doWrite(Response.java:560)
at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:353)
at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:354)
at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:381)
at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:370)
at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:89)
at com.jspsmart.upload.SmartUpload.downloadFile(SmartUpload.java:301)
at com.jspsmart.upload.SmartUpload.downloadFile(SmartUpload.java:261)
at com.jspsmart.upload.SmartUpload.downloadFile(SmartUpload.java:249)
at org.apache.jsp.user.download_jsp._jspService(download_jsp.java:80)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
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:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
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:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)


这是这么回事,如何解决?
...全文
299 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
laorer 2008-09-11
  • 打赏
  • 举报
回复
是啊,异常,就处理掉呗
kokobox 2008-09-11
  • 打赏
  • 举报
回复
smartupload会出现这个问题,连接被重置异常

下载那个页面用try块截获一下,抛出异常就关闭页面就可以了

内存泄漏 2008-09-11
  • 打赏
  • 举报
回复
把异常捕获掉就可以了..
martin0711 2008-09-11
  • 打赏
  • 举报
回复
jf
linpyi 2008-09-11
  • 打赏
  • 举报
回复
试着捕获异常,或者重新书写源代码
sagezk 2008-09-11
  • 打赏
  • 举报
回复
SmartUpload.downloadFile() 这个方法外加上 try catch 块,把异常捕获到不让它继续往上抛就能解决。

[Quote=引用 3 楼 yugang1219 的回复:]
这个异常不能让它不发生么
[/Quote]

你不改 SmartUpload 源代码是没法避免的。
yugang1219 2008-09-11
  • 打赏
  • 举报
回复
这个异常不能让它不发生么

67,538

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧