0

我正在我的应用程序中创建 httpserver,使用:

HttpServer server = HttpServer.create(new InetSocketAddress(8000), 0);

该服务器首先使用

OutputStream os = httpEx.getResponseBody();
os.write(("your request is being handled, please wait").getBytes());

然后打开一个 jFilechooser。如果出现任何问题,它也会使用

os.write(("Failed to handle your request").getBytes());

当我的应用程序在用户的机器上运行时,它会正确创建 httpserver,正如我可以通过日志找到的那样,但是当用户向该服务器发送任何请求时,什么也没有发生。它显示空白页。但是当我删除所有os.write行时,它工作正常并显示文件选择器弹出窗口。我不知道出了什么问题。请帮助我。我已经尝试过这些方法:

try {           
            os.write(("Your request is being handled, please wait").getBytes());
            os.close();
            //code to open Jfilechooser pop-up

        } catch (Exception e) {
            os.write(("Failed to handle the request because"+e.getMessage()).getBytes());
            os.close();}

    try {           
                os.write(("Your request is being handled, please wait").getBytes());

                //code to open Jfilechooser pop-up

            } catch (Exception e) {
                os.write(("Failed to handle the request because"+e.getMessage()).getBytes());
                }

os.close();
4

1 回答 1

0

解决了。我添加了 os.flush(); 作为:

finally(){
os.flush();
os.close();
is.close();
httpEx.close();

}
于 2013-04-10T07:34:22.883 回答