You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Spring Boot+Gradle+Eclipse项目资源目录缺失及JSP目录创建咨询

解决Spring Boot + Gradle在Eclipse中的目录结构与JSP配置问题

嘿,刚上手Spring Boot+Gradle在Eclipse里搭项目是吧?我来帮你捋清楚这些目录和JSP配置的问题~

一、关于缺失的src/main/resources目录

有两种简单的方式搞定它:

  • 手动创建最快捷:直接在项目的src/main目录下新建名为resources的文件夹就行,Eclipse和Gradle都会自动识别这个路径为默认资源目录,不用额外设置。
  • 用Gradle命令生成标准结构:如果想让Gradle帮你自动生成所有标准目录,打开Eclipse的终端(或者外部命令行进入项目根目录),执行这条命令:
    ./gradlew cleanEclipse eclipse
    
    它会清理旧的Eclipse配置,重新生成符合Gradle规范的项目结构,包括src/main/resources,之后刷新下Eclipse项目就ok了。

二、JSP所需的WEB-INF与配置文件目录

要跑JSP的话,得按下面的结构来建:

  1. WEB-INF目录:先在项目根目录下建src/main/webapp文件夹,然后在里面创建WEB-INF目录,接着在WEB-INF下建jsp子文件夹——你的JSP文件(比如hello.jsp)就放在这里。
  2. 配置文件存放application.properties(或者你喜欢的application.yml)直接丢到刚才搞定的src/main/resources里就行,Spring Boot会自动加载这里的配置。

三、Gradle配置必须调整的地方(划重点!)

Spring Boot默认的jar打包方式不支持JSP,所以得修改build.gradle文件,添加必要的依赖和插件:

  1. 添加JSP相关依赖
    dependencies {
        // 基础的Spring Boot Web Starter
        implementation 'org.springframework.boot:spring-boot-starter-web'
        // 嵌入Tomcat的JSP支持依赖
        implementation 'org.apache.tomcat.embed:tomcat-embed-jasper'
        // 如果你要用JSTL标签库,加上这个
        implementation 'javax.servlet:jstl'
    }
    
  2. 切换为War打包:把原来的jar插件换成war插件,因为JSP需要War包的结构支持:
    plugins {
        id 'org.springframework.boot' version '你的Spring Boot版本号'
        id 'io.spring.dependency-management' version '对应版本号'
        id 'war' // 替换原来的id 'java'或者id 'jar'
    }
    
  3. 确保Eclipse识别webapp目录(可选):如果Eclipse没自动识别src/main/webapp,可以加这段配置指定路径:
    sourceSets {
        main {
            webapp {
                srcDir = 'src/main/webapp'
            }
        }
    }
    
  4. 同步配置:右键项目 → Gradle → Refresh Gradle Project,让所有配置生效。

四、快速验证JSP是否能跑

写个简单的Controller跳转JSP:

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class HelloController {
    @GetMapping("/hello")
    public String hello() {
        return "hello"; // 对应WEB-INF/jsp/hello.jsp这个文件
    }
}

然后在src/main/resources/application.properties里加视图解析的配置:

spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp

启动Spring Boot应用,访问http://localhost:8080/hello,就能看到你的JSP页面啦~

内容的提问来源于stack exchange,提问作者user2868864

火山引擎 最新活动