SmartUpload下载成功但tomcat报错

t150ckh 2011-02-28 10:16:10

<%@ page language="java" pageEncoding="UTF-8"
contentType="text/html;charset=UTF-8" import="com.jspsmart.upload.*"%>
<%
// 新建一个SmartUpload对象
SmartUpload su = new SmartUpload();
// 初始化
su.initialize(pageContext);
// 设定contentDisposition为null以禁止浏览器自动打开文件,
//保证点击链接后是下载文件。若不设定,则下载的文件扩展名为
//doc时,浏览器将自动用word打开它。扩展名为pdf时,
//浏览器将用acrobat打开。
su.setContentDisposition(null);
// 下载文件
su.downloadFile("/document/"+(String)request.getAttribute("fileName"));
out.clear();
out=pageContext.pushBody();
%>

这是我用的下载jsp,用的是SmartUpload这个包做下载,有一个情况会出现这个问题就是在点击下载时(如果装有迅雷或其它下载工具会自动启用)如果关闭下载工具想用浏览器下载就会报如下的错误,现在求一个解决方案,有什么好的下载方式可以避免这个问题的发生。










[ERROR]http-8081-10-org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/].[action]-Servlet.service() for servlet action threw exception
java.io.IOException
at org.apache.coyote.http11.InternalAprOutputBuffer.flushBuffer(InternalAprOutputBuffer.java:696)
at org.apache.coyote.http11.InternalAprOutputBuffer$SocketOutputBuffer.doWrite(InternalAprOutputBuffer.java:726)
at org.apache.coyote.http11.filters.IdentityOutputFilter.doWrite(IdentityOutputFilter.java:118)
at org.apache.coyote.http11.InternalAprOutputBuffer.doWrite(InternalAprOutputBuffer.java:532)
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:352)
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:579)
at com.jspsmart.upload.SmartUpload.downloadFile(SmartUpload.java:508)
at com.jspsmart.upload.SmartUpload.downloadFile(SmartUpload.java:476)

at org.apache.jsp.webs.report.load_jsp._jspService(load_jsp.java:67)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
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.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1063)
at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:386)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:229)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.jccw.filter.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:25)
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.valves.CometConnectionManagerValve.invoke(CometConnectionManagerValve.java:248)
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:861)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1584)
at java.lang.Thread.run(Thread.java:595)
...全文
326 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
love625127 2011-12-15
  • 打赏
  • 举报
回复
楼主,问题怎么解决的?
ligaoxiang 2011-03-02
  • 打赏
  • 举报
回复
楼主,问题解决后公布一下解决方法,学习学习!
mumu12888 2011-02-28
  • 打赏
  • 举报
回复
我当时做的也是这样,之后将迅雷浏览器设置为不是默认下载工具,然后再下载就是浏览器下载了,不过在浏览器下载时点击取消,tomcat也会报上面错误,原因是在浏览器下载界面弹出时,文件流已经打开,当单击取消时,没有相应的措施关闭文件流,所以回报IOException
Spring89 2011-02-28
  • 打赏
  • 举报
回复
用流的性能肯定好嘛,组件的性能肯定是大大降低了呀!
zhuming12345 2011-02-28
  • 打赏
  • 举报
回复
建议用流来做。你就是下载电影都行。我这里有个以前用Swing加流写的一个类似迅雷的源代码,需要的话加我QQ传给你136893103
t150ckh 2011-02-28
  • 打赏
  • 举报
回复
也想过用流的形式来做,性能上不知道与组件相比会有什么区别。
Spring89 2011-02-28
  • 打赏
  • 举报
回复
下载你可以自己写一段代码呀,弹出IE的下载对话框。
把迅雷的监控浏览器去掉,否则是不会弹出来的!
t150ckh 2011-02-28
  • 打赏
  • 举报
回复
难道该组件过时了?
lzblzb1984 2011-02-28
  • 打赏
  • 举报
回复
也遇到同样问题~~求高人指点
t150ckh 2011-02-28
  • 打赏
  • 举报
回复
不知哪位高手有好的建议没有?
t150ckh 2011-02-28
  • 打赏
  • 举报
回复
直接用文件名下载如果有上面的操作会不会出现类似的情况?
yaoweijq 2011-02-28
  • 打赏
  • 举报
回复
这个。。。
直接用文件名下载不行么?
非得用这个组件
t150ckh 2011-02-28
  • 打赏
  • 举报
回复
这是我用的下载jsp,用的是SmartUpload这个包做下载,有一个情况会出现这个问题就是在点击下载时(如果装有迅雷或其它下载工具会自动启用)如果关闭下载工具想用浏览器下载就会报如下的错误,现在求一个解决方案,有什么好的下载方式可以避免这个问题的发生
t150ckh 2011-02-28
  • 打赏
  • 举报
回复
<property name="hibernate.connection.provider_class">com.jccw.dao.CustomDriverManagerConnectionProvider</property>
<property name="hibernate.c3p0.max_size">100</property>
<property name="hibernate.c3p0.min_size">10</property>
<property name="hibernate.c3p0.timeout">50000</property>
<property name="hibernate.c3p0.max_statements">100</property>
<property name="hibernate.c3p0.idle_test_period">3000</property>
<property name="hibernate.c3p0.acquire_increment">2</property>
<property name="hibernate.c3p0.validate">false</property>

这是我的是hibernate配置。
t150ckh 2011-02-28
  • 打赏
  • 举报
回复
追加一个错误让你瞧瞧

com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@55010f -- APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks!
com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@55010f -- APPARENT DEADLOCK!!! Complete Status: [num_managed_threads: 3, num_active: 3; activeTasks: com.mchange.v2.c3p0.stmt.GooGooStatementCache$1@b8a0c8 (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0), com.mchange.v2.c3p0.stmt.GooGooStatementCache$1@143b0fe (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1), com.mchange.v2.c3p0.stmt.GooGooStatementCache$1@1190ae9 (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2); pendingTasks: com.mchange.v2.c3p0.stmt.GooGooStatementCache$2@11b6341, com.mchange.v2.resourcepool.BasicResourcePool$6@11167f3, com.mchange.v2.resourcepool.BasicResourcePool$6@1bfa3e4, com.mchange.v2.c3p0.stmt.GooGooStatementCache$2@a0fdd1, com.mchange.v2.c3p0.stmt.GooGooStatementCache$2@177cdb1, com.mchange.v2.c3p0.stmt.GooGooStatementCache$2@615dc4, com.mchange.v2.c3p0.stmt.GooGooStatementCache$2@530392, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@f6e9d, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1272332, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@77ce29, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1802282, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1599f38, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@e426a3, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@a498d0, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@2ca90c, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@e873b, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1d07324, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@3777c8, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1990d6e, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@140d57b, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@17f8716, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@17dd1d1, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@159fb5c, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@85923b, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1437a6d, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@11aa152, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1552393, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@9291cf, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@a2cb13, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1c2841d, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@16fa677, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@119e2db, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@7ca1a9, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@596299]
com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@55010f -- APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks!
com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@55010f -- APPARENT DEADLOCK!!! Complete Status: [num_managed_threads: 3, num_active: 3; activeTasks: com.mchange.v2.c3p0.stmt.GooGooStatementCache$1@15927e2 (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0), com.mchange.v2.c3p0.stmt.GooGooStatementCache$1@4983d8 (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1), com.mchange.v2.c3p0.stmt.GooGooStatementCache$1@6ee035 (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2); pendingTasks: com.mchange.v2.c3p0.stmt.GooGooStatementCache$2@141cf63, com.mchange.v2.c3p0.stmt.GooGooStatementCache$1@196a6ac, com.mchange.v2.c3p0.stmt.GooGooStatementCache$2@198724d, com.mchange.v2.c3p0.stmt.GooGooStatementCache$2@1782f7c, com.mchange.v2.c3p0.stmt.GooGooStatementCache$2@175ae09, com.mchange.v2.c3p0.stmt.GooGooStatementCache$2@f50903, com.mchange.v2.resourcepool.BasicResourcePool$6@122c960, com.mchange.v2.c3p0.stmt.GooGooStatementCache$2@d2e636, com.mchange.v2.c3p0.stmt.GooGooStatementCache$2@81f25, com.mchange.v2.c3p0.stmt.GooGooStatementCache$2@134d801, com.mchange.v2.c3p0.stmt.GooGooStatementCache$2@513bb5, com.mchange.v2.c3p0.stmt.GooGooStatementCache$2@1271a80, com.mchange.v2.c3p0.stmt.GooGooStatementCache$2@3cebf1, com.mchange.v2.c3p0.stmt.GooGooStatementCache$2@1a63a1c, com.mchange.v2.c3p0.stmt.GooGooStatementCache$2@3126f6, com.mchange.v2.c3p0.stmt.GooGooStatementCache$2@f50caf, com.mchange.v2.c3p0.stmt.GooGooStatementCache$2@13d052, com.mchange.v2.c3p0.stmt.GooGooStatementCache$2@d1da68, com.mchange.v2.c3p0.stmt.GooGooStatementCache$2@15a1bb5, com.mchange.v2.c3p0.stmt.GooGooStatementCache$2@d13a01, com.mchange.v2.c3p0.stmt.GooGooStatementCache$2@374a56, com.mchange.v2.c3p0.stmt.GooGooStatementCache$2@1f15f7f, com.mchange.v2.c3p0.stmt.GooGooStatementCache$2@1b48eeb, com.mchange.v2.c3p0.stmt.GooGooStatementCache$2@11323b2, com.mchange.v2.c3p0.stmt.GooGooStatementCache$2@18cb416, com.mchange.v2.c3p0.stmt.GooGooStatementCache$2@833a2d, com.mchange.v2.c3p0.stmt.GooGooStatementCache$2@1609803, com.mchange.v2.c3p0.stmt.GooGooStatementCache$2@9bfaff, com.mchange.v2.c3p0.stmt.GooGooStatementCache$2@7badec, com.mchange.v2.c3p0.stmt.GooGooStatementCache$2@1d7999e, com.mchange.v2.c3p0.stmt.GooGooStatementCache$2@1a69290, com.mchange.v2.c3p0.stmt.GooGooStatementCache$2@e04981, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@f9e8eb, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@12aa3fb, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@73d10f, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1a23f67, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@f0a6e8, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@15dd936, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@5f8ddb, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@15a3dac, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@18710ed, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@6876f6, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@5a41ec, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@19e2380, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@12ccf48, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@dcbf25, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@893453, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1ca6fe4, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@177e8ce, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@155606d, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@2da63a, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@fc47ad, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@c5b47d, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1cc97a9, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@f8f6ea, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@11ab8a5, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1505b41, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@971770, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@183bd71, com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@a5b02]


t150ckh 2011-02-28
  • 打赏
  • 举报
回复
嗯。打算把这个给换掉试试。
Spring89 2011-02-28
  • 打赏
  • 举报
回复
你用我贴出的代码试下,看可不可以,不要用SmartUpload组件了!
t150ckh 2011-02-28
  • 打赏
  • 举报
回复
遗留下的系统,没办法。
qingyuan18 2011-02-28
  • 打赏
  • 举报
回复
smartUpload? N年前的组件了吧,记得当时用的时候还改过它的bug,现在应该早就没有更新了。

要上传用apache的common.io和common.net包,很稳定,足够用了
Spring89 2011-02-28
  • 打赏
  • 举报
回复
具体的就是上面那段下载!
加载更多回复(3)

81,095

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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