开发环境:windows+myEclipse8.0+tomcat6.0+mysql
用到的web框架:Struts2+Spriing3.0+hibernate3.0
部署环境:suse Linux+tomcat6.0+mysql,传输速度1M左右
具体操作如下:
选择文件进行上传时,文件大概是7.8M的XML,点击提交之后,无任何提示,直接跳转到“页面无法找到”如图
看tomcat的日志,在日志文件localhost-时间.log找到该异常: ClientAbortException: java.net.SocketException: Broken pipe
at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:356)
at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:433)
at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:307)
at org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:286)
at org.apache.catalina.connector.Response.flushBuffer(Response.java:541)
at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:344)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:211)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:817)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:623)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:444)
at java.lang.Thread.run(Unknown Source)
Caused by: java.net.SocketException: Broken pipe
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$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:772)
at org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:123)
at org.apache.coyote.http11.InternalOutputBuffer.doWrite(InternalOutputBuffer.java:579)
at org.apache.coyote.Response.doWrite(Response.java:559)
at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:351)
... 13 more 然后在struts2指定的临时目录中找到了刚才上传的文件,只有8K左右
好像是链接被重置了,如果上传小于1k的文件没有该问题
我用Wireshark抓包工具抓了一下包,发现在收到几个包之后收到了rest包,这个问题解决了3天了毫无结果,那位大侠知道的话,请指点一下,小弟万分感激!
用到的web框架:Struts2+Spriing3.0+hibernate3.0
部署环境:suse Linux+tomcat6.0+mysql,传输速度1M左右
具体操作如下:
选择文件进行上传时,文件大概是7.8M的XML,点击提交之后,无任何提示,直接跳转到“页面无法找到”如图
看tomcat的日志,在日志文件localhost-时间.log找到该异常: ClientAbortException: java.net.SocketException: Broken pipe
at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:356)
at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:433)
at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:307)
at org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:286)
at org.apache.catalina.connector.Response.flushBuffer(Response.java:541)
at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:344)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:211)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:817)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:623)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:444)
at java.lang.Thread.run(Unknown Source)
Caused by: java.net.SocketException: Broken pipe
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$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:772)
at org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:123)
at org.apache.coyote.http11.InternalOutputBuffer.doWrite(InternalOutputBuffer.java:579)
at org.apache.coyote.Response.doWrite(Response.java:559)
at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:351)
... 13 more 然后在struts2指定的临时目录中找到了刚才上传的文件,只有8K左右
好像是链接被重置了,如果上传小于1k的文件没有该问题
我用Wireshark抓包工具抓了一下包,发现在收到几个包之后收到了rest包,这个问题解决了3天了毫无结果,那位大侠知道的话,请指点一下,小弟万分感激!
解决方案 »
- 关于新闻类网站开发的过程有点不明吧 。求高人指点下
- jsf中如何横向显示数据?
- 请教各位大虾关于url重写的问题:怎样取得url重写中的变量?
- 请问这句sql语句应该怎么写呀?
- 500分:急求如何通过jsp或servlet读取data.xml生成几条相应的插入(insert)的sql语句,具体如下:
- 如何得到文件路径
- 为什么我的tomcat在启动的时候老师出错?
- 有人参加了IBM软件巡展吗?关于WebSphere的课怎么样?
- Servlet连接jdbc总是错误java.lang.NullPointerException
- Dao和Service都用了基类,非通用类写在专属service出错,写在action正常
- 关于域的隐藏与显示的疑问
- 使用java程序在oracle中插入了5千个汉族,为什么到数据库中查看却4980个汉字?
1. 读取和写入数据采用对象数组序列化方式。。
2. 或者Byte数组方式读取写入。。千万不要一行一行的操作。。
3. 还可以分批做flush,往文件中刷。。
<constant name="struts.multipart.saveDir" value="/home/xxx/temp" />
struts配置文件中设置了大小为512M,
我的文件上传直接用struts中的common-fileUpload组件,没有直接进行流的处理,
刚才用采用了servlet进行对文件上传有报出java.net.SocketException: Connection reset,非常感谢您的回复