如何通过JAVA在浏览器中打开网站,而无需在浏览器中打开新选项卡

时间:2012-09-27 17:00:21

标签: java

简介

我在java中创建代理服务器。每当用户在浏览器中输入未知主机(URL)时,代理服务器通过执行以下代码来处理UnknownHostException

try {
        Process p=Runtime.getRuntime().exec("cmd /c start http://www.mysite.com/unknownhosterror.htm"); 
    }
    catch(IOException io) {
        System.out.println("Error");
    }

这些代码行的作用是显示一个包含“此页面可以”的html文件  不显示。“每当用户输入不存在的URL时。

问题

上面的代码打开一个新标签,显示www.mysite.com/unknownhosterror.htm的内容。我想要的是重定向到它。

例如,我在URL栏中写了www.nosuchsite.com。假设没有这样的网站,它将自动重定向到www.mysite.com/unknownhosterror.htm并显示“此页面无法显示。”。

我该怎么做?

编辑注意:我不使用Servlet

1 个答案:

答案 0 :(得分:0)

我可能误解了你的意思但是如果你确实有一个代理服务器,那么当代理服务器检测到UnknownHostException时,你应该能够将301 redirect发回给浏览器。

在对浏览器的回复中,您需要在回复的标题中添加以下行:

HTTP/1.1 301 Moved Permanently
Location: http://www.mysite.com/unknownhosterror.htm

如何将其添加到标题中在很大程度上取决于您处理请求的方式。如果您显示一些代理处理程序代码,我可以提供更多信息。