SpringBoot启动后自动打开浏览器访问项目

更简单的一个方法

Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + url);







Springboot项目启动后自动打开浏览器访问(超实用)_浏览器访问springboot项目-优快云博客

Springboot项目启动后自动打开浏览器访问

1、在Springboot项目中每次启动完项目,手动在浏览器输入访问地址太麻烦了。在启动类中加入下方代码,就可高效地在控制台中单击URL访问项目了~

示例代码: 

@SpringBootApplication
@Slf4j
public class WebApplication {
    public static void main(String[] args) throws UnknownHostException {
        ConfigurableApplicationContext application = SpringApplication.run(WebApplication.class, args);
                System.out.println(
            "  ____  __  __    ___    ___     __    ____    ____  \n" +
            " /',__\\/\\ \\/\\ \\  /'___\\ /'___\\ /'__`\\ /',__\\  /',__\\ \n" +
            "/\\__, `\\ \\ \\_\\ \\/\\ \\__//\\ \\__//\\  __//\\__, `\\/\\__, `\\\n" +
            "\\/\\____/\\ \\____/\\ \\____\\ \\____\\ \\____\\/\\____/\\/\\____/\n" +
            " \\/___/  \\/___/  \\/____/\\/____/\\/____/\\/___/  \\/___/ \n");
        Environment env = application.getEnvironment();
        String ip = InetAddress.getLocalHost().getHostAddress();
        String port = env.getProperty("server.port");
        String path = env.getProperty("server.servlet.context-path");
        if (StringUtils.isEmpty(path)) {
            path = "";
        }
        log.info("\n----------------------------------------------------------\n\t" +
                "Application  is running! Access URLs:\n\t" +
                "Local访问网址: \t\thttp://localhost:" + port + path + "\n\t" +
                "External访问网址: \thttp://" + ip + ":" + port + path + "\n\t" +
                "----------------------------------------------------------");
String jvmName = ManagementFactory.getRuntimeMXBean().getName();
log.info("当前项目进程号:" + jvmName.split("@")[0]);
    }

2、此外,还可以设置打开系统默认浏览器,并加载指定的页面。如下添加监听类。

示例代码:

import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;

/**
 * spring boot 容器加载后自动监听
 */
@Component
public class MyCommandRunner implements CommandLineRunner {

    @Value("${spring.web.loginurl}")
    private String loginUrl;

    @Value("${spring.auto.openurl}")
    private boolean isOpen;

    @Override
    public void run(String... args) {
        if (isOpen) {
            System.out.println("自动加载指定的页面");
            try {
                Runtime.getRuntime().exec("cmd /c start " + loginUrl);  // 可以指定自己的路径
            } catch (Exception ex) {
                ex.printStackTrace();
                System.out.println("浏览器打开页面异常");
            }
        }
    }

}

3、在application.yml文件中配置相关的参数:

spring:
    auto:
        openurl: true # 是否自动打开浏览器,false为否
    web:
        loginurl: http://localhost:8090 # 指定加载的页面地址

至此,可愉快地启动项目,等待浏览器自动加载我们指定的页面。
————————————————
版权声明:本文为优快云博主「flash&」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/rongbo91/article/details/109668937

<think>好的,我需要帮用户解决如何使用IntelliJ IDEA创建Spring Boot项目,并在浏览器中显示图片的问题。首先,我得回忆一下创建Spring Boot项目的步骤。根据用户提供的引用内容,社区版IDEA可能不支持直接创建,但用户提到的引用[1]和[2]里说可以详细步骤。可能用户用的是专业版,或者需要其他方法,比如通过Spring Initializr网站生成项目再导入。 接下来,用户需要在控制器中实现图片显示。这通常涉及到设置静态资源路径或者通过控制器处理请求返回图片资源。需要确认Spring Boot的静态资源默认目录,比如src/main/resources/static/,把图片放这里可能就可以直接访问。或者,如果图片放在其他位置,可能需要配置资源处理器。 步骤大概分为:创建项目、添加控制器、放置图片、配置(如果需要)、运行测试。需要注意的细节包括控制器的注解@RestController或@Controller,以及@RequestMapping的设置。可能还要用ResourceHttpRequestHandler来处理图片返回,或者直接通过静态资源访问。 另外,用户可能会遇到常见问题,比如图片路径错误、缓存问题,或是没有正确配置Maven依赖。需要确保pom.xml中有spring-boot-starter-web依赖,项目结构正确,图片位置无误,以及控制器代码正确。 可能还需要考虑不同的实现方式,比如使用ModelAndView返回图片,或者直接返回字节流。但最简单的方法可能是将图片放在static目录下,然后通过URL直接访问。但用户要求通过控制器,所以需要编写处理请求的方法,读取图片文件并返回响应。 需要验证步骤是否正确,比如创建项目后,添加控制器,访问localhost:8080/image或类似路径是否能显示图片。如果不行,可能需要检查日志,查看是否有异常,比如文件未找到,或者映射错误。 最后,生成相关问题,可能涉及如何自定义静态资源路径、如何处理动态图片、如何上传图片等扩展问题。</think>### 使用IntelliJ IDEA创建Spring Boot项目并显示图片 #### 步骤1:创建Spring Boot项目 1. **打开IntelliJ IDEA**,选择 **File > New > Project**。 2. 在左侧菜单中选择 **Spring Initializr**,确认JDK版本(建议11+),点击 **Next**[^1][^2]。 3. 填写项目元数据(Group、Artifact、包名等),选择 **Maven** 作为构建工具。 4. 在 **Dependencies** 中添加: - **Spring Web**(实现Web请求处理) - **Thymeleaf**(可选,用于模板渲染) 5. 点击 **Finish** 完成项目创建。 #### 步骤2:准备图片资源 1. 在 `src/main/resources` 目录下创建 `static/images` 文件夹。 2. 将目标图片(如 `example.jpg`)放入该文件夹。 *目录结构示例*: ``` src └─main └─resources └─static └─images └─example.jpg ``` #### 步骤3:编写控制器 创建控制器类 `ImageController.java`,实现通过URL访问图片: ```java import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.http.ResponseEntity; import org.springframework.core.io.Resource; import org.springframework.core.io.ClassPathResource; @RestController public class ImageController { @GetMapping("/image") public ResponseEntity<Resource> getImage() { Resource image = new ClassPathResource("static/images/example.jpg"); return ResponseEntity.ok() .header("Content-Type", "image/jpeg") .body(image); } } ``` #### 步骤4:运行与测试 1. 启动主类(`XXXApplication.java`)中的 `main` 方法。 2. 浏览器访问 `http://localhost:8080/image`,图片将自动显示。 --- ### 关键配置说明 1. **静态资源路径**:Spring Boot默认加载 `static` 目录下的资源,无需额外配置。 2. **控制器逻辑**:使用 `ClassPathResource` 读取类路径资源,并通过响应头指定内容类型。 --- ### 常见问题解决 - **图片无法显示**:检查图片路径是否匹配、文件名是否拼写正确。 - **404错误**:确认控制器注解(如 `@RestController`)和请求映射(`@GetMapping`)是否正确。 - **依赖缺失**:在 `pom.xml` 中确保包含: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值