Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用OutputStreamWriter在同一浏览器窗口中写入流?_Java_Html_Http_Servlets - Fatal编程技术网

Java 如何使用OutputStreamWriter在同一浏览器窗口中写入流?

Java 如何使用OutputStreamWriter在同一浏览器窗口中写入流?,java,html,http,servlets,Java,Html,Http,Servlets,在服务器端代码中,我使用OutputStreamWriter编写字符串(在浏览器页面上写入)。这将在新窗口中写入。我需要能够在同一个窗口中写入此内容 该类扩展了HttpServlet,下面是代码的结构: void foo(HttpServletResponse response...) { ... OutputStreamWriter out = new OutputStreamWriter(response.getOutputStream()); response.reset(

在服务器端代码中,我使用OutputStreamWriter编写字符串(在浏览器页面上写入)。这将在新窗口中写入。我需要能够在同一个窗口中写入此内容

该类扩展了HttpServlet,下面是代码的结构:

void foo(HttpServletResponse response...) {
...
    OutputStreamWriter out = new OutputStreamWriter(response.getOutputStream());
    response.reset();
    response.setContentType("text/html");
    out.write("Hello World!"); // Or some html string
    out.flush();  
    out.close();
}    
服务器端(servlet)没有也无法打开新窗口(幸运的是,否则用弹出窗口向客户端发送垃圾邮件将非常容易…)。客户端(浏览器)是唯一可以打开新窗口的用户。很可能您在HTML或JavaScript中使用了以下构造之一,将在新窗口中显示结果:



    • 服务器端(servlet)没有也无法打开新窗口(幸运的是,否则用弹出窗口向客户端发送垃圾邮件将非常容易…)。客户端(浏览器)是唯一可以打开新窗口的用户。很可能您在HTML或JavaScript中使用了以下构造之一,将在新窗口中显示结果:

      
      

      
      

    我很确定客户端没有打开新窗口的代码-我已经检查过了。同样为了确保,我甚至打印了一个没有标签的字符串“Hello World”;它被打印在一个新窗口上。直接在浏览器地址栏中输入servlet URL。你会发现它没有打开一个新窗口(如果打开了,那么你的浏览器就坏了)。URL确实在同一窗口中打开。问题在于重定向到该URL的链接。你说得对,服务器没有从现有窗口打开新浏览器窗口的能力。我很确定客户端没有打开新窗口的任何代码-我已经检查过了。同样为了确保,我甚至打印了一个没有标签的字符串“Hello World”;它被打印在一个新窗口上。直接在浏览器地址栏中输入servlet URL。你会发现它没有打开一个新窗口(如果打开了,那么你的浏览器就坏了)。URL确实在同一窗口中打开。问题在于重定向到该URL的链接。关于服务器不具备从现有浏览器窗口打开新浏览器窗口的功能,您是对的。