복붙노트

[SPRING] spring-boot webapp가 준비된 후 자동으로 브라우저를 시작합니다.

SPRING

spring-boot webapp가 준비된 후 자동으로 브라우저를 시작합니다.

스프링 부팅 응용 프로그램을 시작한 후 브라우저를 자동으로 시작하는 방법은 무엇입니까? 브라우저가로드되면 사용자가 색인 페이지를 볼 수 있도록 webapp가 배포되어 요청을 처리 할 준비가되었는지 확인하기 위해 수신기 메소드 콜백이 있습니다. webapp와 상호 작용을 시작할 수 있습니까?

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

해결법

  1. ==============================

    1.당신은 어떤 자바 코드로 그것을 할 수 있습니다. 나는 봄 부츠가 상자 밖으로 무엇인가 가지고 있는지 확실하지 않다.

    당신은 어떤 자바 코드로 그것을 할 수 있습니다. 나는 봄 부츠가 상자 밖으로 무엇인가 가지고 있는지 확실하지 않다.

    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();
                }
            }
        }
    }
    
  2. ==============================

    2.아래의 코드는 나를 위해 일했습니다 :

    아래의 코드는 나를 위해 일했습니다 :

    @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();
            }
        }
    }
    
  3. ==============================

    3.나는 최근에이 일을 스스로 시도하려고 시도했다. 나는이 질문이 제기 되었기 때문에 오랜 시간이 걸렸으나 나의 일하는 (그리고 아주 기본적인 / 간단한) 해결책은 아래에 나와있다. 이것은 애플 리케이션에서 요구되는이 작동 리팩터링을 얻고 자하는 사람들을위한 출발점입니다!

    나는 최근에이 일을 스스로 시도하려고 시도했다. 나는이 질문이 제기 되었기 때문에 오랜 시간이 걸렸으나 나의 일하는 (그리고 아주 기본적인 / 간단한) 해결책은 아래에 나와있다. 이것은 애플 리케이션에서 요구되는이 작동 리팩터링을 얻고 자하는 사람들을위한 출발점입니다!

    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    import java.awt.*;
    import java.io.IOException;
    import java.net.URI;
    import java.net.URISyntaxException;
    
    @SpringBootApplication
    public class Application {
    
        public static void main(String[] args) {
            SpringApplication.run(Application.class, args);
            openHomePage();
        }
    
        private static void openHomePage() {
            try {
                URI homepage = new URI("http://localhost:8080/");
                Desktop.getDesktop().browse(homepage);
            } catch (URISyntaxException | IOException e) {
                e.printStackTrace();
            }
        }
    }
    
  4. ==============================

    4.

    @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");
        }
    }
    
  5. from https://stackoverflow.com/questions/27378292/launch-browser-automatically-after-spring-boot-webapp-is-ready by cc-by-sa and MIT license