Java 如何使用OutputStreamWriter在同一浏览器窗口中写入流?
在服务器端代码中,我使用OutputStreamWriter编写字符串(在浏览器页面上写入)。这将在新窗口中写入。我需要能够在同一个窗口中写入此内容 该类扩展了HttpServlet,下面是代码的结构:Java 如何使用OutputStreamWriter在同一浏览器窗口中写入流?,java,html,http,servlets,Java,Html,Http,Servlets,在服务器端代码中,我使用OutputStreamWriter编写字符串(在浏览器页面上写入)。这将在新窗口中写入。我需要能够在同一个窗口中写入此内容 该类扩展了HttpServlet,下面是代码的结构: void foo(HttpServletResponse response...) { ... OutputStreamWriter out = new OutputStreamWriter(response.getOutputStream()); response.reset(
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的链接。关于服务器不具备从现有浏览器窗口打开新浏览器窗口的功能,您是对的。