DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=7092>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=7092

socket error while trying write to response.getOutputStream() with 
<security-constraint> on servlet

           Summary: socket error while trying write to
                    response.getOutputStream() with <security-constraint> on
                    servlet
           Product: Tomcat 4
           Version: 4.0 Beta 4
          Platform: PC
        OS/Version: Windows NT/2K
            Status: NEW
          Severity: Major
          Priority: Other
         Component: HTTP/1.1 Connector
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]


If servlet is secure and trys to do:

if (fromFile.exists() && !fromFile.isDirectory()) {
            byte[] buf = new byte[100*1024];
            //Set header and mime type
            String mimetype = downloadConfig.getServletContext().getMimeType( 
fileName );
            response.setContentType( (mimetype != null) ? 
mimetype : "application/octet-stream" );
            response.setContentLength( (int)fromFile.length() );
            response.setHeader( "Content-Disposition", "attachment; 
filename=\"" + request.getParameter("file") + "\"" );
            BufferedInputStream bufIS = new BufferedInputStream(new 
FileInputStream(fromFile),1024*1024);
            int byteRead;
            ServletOutputStream out = response.getOutputStream();
            while( (bufIS != null) && (byteRead = bufIS.read(buf,0,100*1024)) !
= -1) {
              out.write(buf,0,byteRead);
            }
            bufIS.close();
            out.flush();            
            out.close();

than output is ok only first time. Any other attempt to do it arise the socket 
error and put in log file:

2002-03-13 17:47:02 [org.apache.catalina.connector.warp.WarpConnector] Error 
accepting requests
java.net.SocketException: socket closed
        at java.net.PlainSocketImpl.socketAccept(Native Method)
        at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:468)
        at java.net.ServerSocket.implAccept(ServerSocket.java:243)
        at java.net.ServerSocket.accept(ServerSocket.java:222)
        at org.apache.catalina.connector.warp.WarpConnector.run
(WarpConnector.java:590)
        at java.lang.Thread.run(Thread.java:484)

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to