使用querystring的java开放网页

使用querystring的java开放网页,java,uri,desktop,Java,Uri,Desktop,我需要在单击java窗口应用程序中的按钮后打开网页。我的问题是当我使用 uritestpage=新的URI(“file:///C:/index.html?param1¶m2"); Desktop.getDesktop().browse(testPage) 浏览器中打开的页面不包含正确显示页面所必需的查询字符串参数。我该怎么做?为什么在“?”之后的所有内容都被剪切?我认为文件URI不支持查询字符串。查询字符串由HTTP服务器处理,因此,除非您在计算机上运行服务器,否则我认为它不会工作 问题

我需要在单击java窗口应用程序中的按钮后打开网页。我的问题是当我使用

uritestpage=新的URI(“file:///C:/index.html?param1¶m2");
Desktop.getDesktop().browse(testPage)


浏览器中打开的页面不包含正确显示页面所必需的查询字符串参数。我该怎么做?为什么在“?”之后的所有内容都被剪切?

我认为文件URI不支持查询字符串。查询字符串由HTTP服务器处理,因此,除非您在计算机上运行服务器,否则我认为它不会工作


问题不在于java如何处理查询字符串,而在于本地浏览器如何处理文件请求。对HTTP URL的快速测试表明,这一切正常。我试过了,效果完全符合预期:

public class Test {
    public static void main(String[] args) throws IOException, URISyntaxException{
        URI test = new URI("http://google.com?test=monkey");
        Desktop.getDesktop().browse(test);
    }
}

这就是所谓的查询字符串。当然,我的错误,但如何实现我的目标?是的,但JS代码仍然可以读取查询字符串;这应该行得通。我想你还不明白我的意思。我只需要用包含querystring的URI打开我的web浏览器,但取而代之的是,我得到的浏览器窗口中的URI没有querystring。顺便说一句,当我用querystring粘贴完整的URL时,我的页面看起来很好。我相信我找到你了。但是,当您使用文件协议时,底层java.net.URI将忽略查询字符串部分。它不同于简单地在浏览器中复制粘贴链接。的确,它适用于在线网页。问题是它不适用于本地网页。这种方式对我来说是必要的,因为我的java应用程序准备了演示文稿,然后由js显示。我现在的目标是让用户在将演示文稿发送到FTP server.Yup之前测试它。但这种行为并不是由java控制的,更糟糕的是,它很可能会因操作系统甚至特定的机器而异。通常,我在进行本地测试时所做的是启动一个Python SimpleHTTPServer,但我不知道这对于您的应用程序来说有多可行。或者,你可以想出如何在Java中实现类似的东西。好的,我想知道的就是enoguh。我有一个想法,如何重建我的测试页面,我希望这将工作:)