当前位置: 首页 > 知识库问答 >
问题:

在spring boot webapp就绪后自动启动浏览器

丁高峯
2023-03-14

如何在启动Spring启动应用程序后自动启动浏览器。是否有任何侦听器方法回调来检查webapp是否已经部署并准备好提供请求,以便在浏览器加载时,用户可以看到索引页并开始与webapp交互?

public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
    // launch browser on localhost 
}

共有3个答案

雷浩思
2023-03-14

您可以通过一些java代码来实现。我不确定Spring靴是否有现成的东西。

import java.awt.Desktop;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;

public class Browser {
    public static void main(String[] args) {
        String url = "http://www.google.com";

        if(Desktop.isDesktopSupported()){
            Desktop desktop = Desktop.getDesktop();
            try {
                desktop.browse(new URI(url));
            } catch (IOException | URISyntaxException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }else{
            Runtime runtime = Runtime.getRuntime();
            try {
                runtime.exec("xdg-open " + url);
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
}
南门鸿哲
2023-03-14
@SpringBootApplication
@ComponentScan(basePackageClasses = com.io.controller.HelloController.class)
public class HectorApplication {

    public static void main(String[] args) throws IOException {
       SpringApplication.run(HectorApplication.class, args);
       openHomePage();
    }

    private static void openHomePage() throws IOException {
       Runtime rt = Runtime.getRuntime();
       rt.exec("rundll32 url.dll,FileProtocolHandler " + "http://localhost:8080");
    }
}
爱炯
2023-03-14

下面的代码为我工作:

@EventListener({ApplicationReadyEvent.class})
void applicationReadyEvent() {
    System.out.println("Application started ... launching browser now");
    browse("www.google.com");
}

public static void browse(String url) {
    if(Desktop.isDesktopSupported()){
        Desktop desktop = Desktop.getDesktop();
        try {
            desktop.browse(new URI(url));
        } catch (IOException | URISyntaxException e) {
            e.printStackTrace();
        }
    }else{
        Runtime runtime = Runtime.getRuntime();
        try {
            runtime.exec("rundll32 url.dll,FileProtocolHandler " + url);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
 类似资料:
  • 我刚刚将Spring Boot webapp从在Tomcat中的外部war部署切换到使用Spring Boot(及其内部Tomcat)的直接jar部署。 对于Tomcat运行/调试配置,Intellij为您提供在启动后打开浏览器并转到http://localhost:8080/。 如何使用Spring Boot运行/调试配置来执行类似的操作。它运行main类,直到我自己从浏览器转到localhos

  • 我有一个docker撰写与3服务:配置服务器,cpo事件和cpo执行者。我希望只有当配置服务器准备就绪时才启动服务,因为服务需要配置服务器服务中的配置文件。 docker-compose.yml: 依赖于、链接、healthcheck,没有任何东西可以保证这两个服务(cpo executor、cpo event)仅在配置服务器就绪后启动。

  • 问题内容: 抱歉,您有愚蠢的问题,但是如何在webdriver中启动Chrome浏览器?我知道我必须指定chromedriver.exe的路径。问题是我无法下载chromedriver.exe,它已被删除。我发现的文件也没有.exe扩展名。我正在使用Eclipse,Java。请帮忙!我按照建议的步骤进行了所有操作,但是没有用。这是我的代码: 这是错误: 失败:测试java.lang.Illegal

  • 问题内容: 我已经使用docker安装了Jenkins,尽管我已经跳过了手动设置。当我构建映像并运行它时(仍然有很多事情要做),我需要在浏览器中键入IP和端口以打开Jenkins仪表板。 我的问题是,我可以在运行该映像的泊坞窗中使用脚本自动执行构建的Jenkins应该在浏览器中打开的工作吗? 任何需要运行的命令,请对其进行注释 我试图通过命令打开浏览器,但最终出现错误。任何人都可以使用我的自动化工

  • 我已经开始学习Selenium WebDriver。我注意到的问题,如给定的网址不采取后火狐浏览器推出。请帮忙解决问题 WebDriver版本:2.53 Firefox:48.0 我看到下面的错误 组织。openqa。硒。火狐。NotConnectedException:45000毫秒后无法连接到端口7055上的主机127.0.0.1。Firefox控制台输出:,“syncGUID”:“0Sec7

  • 我正在使用最新的selenium-webdriver(2.47.1)和watir-webdriver(0.8.0),并将Edge WebDriver安装在Ruby/bin文件夹中,就像其他WebDriver.exe文件一样;比如chromedriver或IEDriver。它似乎启动了Edge浏览器,但在关闭浏览器并失败所有测试之前,它不会试图转到URL。Windows中的防火墙允许它,当我运行rs