62,621
社区成员
发帖
与我相关
我的任务
分享
ClientAbortException: java.net.SocketException: Connection reset by peer: socket write error
at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:358)
at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:434)
at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:387)
at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:370)
at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:89)
at Servlet.WordFileServlet.doGet(WordFileServlet.java:69)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
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:230)
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:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
Caused by: 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$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:764)
at org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:129)
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)
... 19 more
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//��word��blob������
byte[] buf = new byte[1024];
request.setCharacterEncoding("gbk");
int id = Integer.parseInt(request.getParameter("id"));
System.out.println(id);
String sql = "select * from fileinfo where FileID=" + id;
try {
ResultSet rSet = new DB_Conn().executeQuery(sql);
response.reset();
if(rSet.next()){
Blob blob = rSet.getBlob("FileContent");
int size =(int)blob.length();
InputStream in = blob.getBinaryStream();
String filename = rSet.getString("FileName");
response.setHeader("Content-Disposition", "attachement;filename="+filename);
response.setContentType("application/msword;charset=GBK");
ServletOutputStream outputStream = response.getOutputStream();
int byteRead=0;
while((byteRead=in.read(buf))!=-1){
//outputStream.write(buf);
outputStream.write(buf, 0, byteRead);
}
outputStream.flush();
outputStream.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}