首页 新闻 搜索 专区 学院

servlet socket is closed 问题

0
悬赏园豆:50 [已解决问题] 解决于 2012-02-20 18:07

servlet部署后,如果一次只一个请求是没问题的,如果是两个以上的请求会报:java.net.SocketException:Socket is closed;serlet 代码

public class ImageUrlServlet extends HttpServlet{
    public void init(ServletConfig config) throws ServletException {
        super.init(config);
    }

   
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        ServletOutputStream stream  =response.getOutputStream();
        response.setContentType("image/*");
        byte[] bs=ImageUrlMap.Excute(request.getRequestURI()); 
        if(bs.length!=0)
        {
             stream.write(bs);
        }
        stream .flush();
        stream .close();
    }
   
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request,response);
    }
}

 

请指教

最近有点小胖的主页 最近有点小胖 | 初学一级 | 园豆:3
提问于:2012-02-20 11:28
< >
分享
最佳答案
0

属于并发问题,资源未释放。所有有这错误。

收获园豆:50
az235 | 大侠五级 |园豆:8283 | 2012-02-20 12:01

我记得资料上说,每个请求由一个轻量级的Java线程处理,请问下你说的并发资源未释放是哪部分未释放?

最近有点小胖 | 园豆:3 (初学一级) | 2012-02-20 13:20

@最近有点小胖: 的确是并发公共使用了一些东西导致的这个问题

最近有点小胖 | 园豆:3 (初学一级) | 2012-02-20 18:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册