首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

Spring Boot 整合 JSP:spring-boot-starter-web + Jasper + JSTL 完整配置指南

     編輯:Java 綜合教學

Spring Boot 整合 JSP:spring-boot-starter-web + Jasper + JSTL 完整配置指南

環境

  • IDEA 15+、JDK 1.8+、Maven 3+

關鍵依賴

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.2.5.RELEASE</version>
</parent>

<dependencies>
    <!-- 包含 spring-webmvc、spring-boot-starter、tomcat 嵌入等 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!-- JSP 編譯引擎 -->
    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
    </dependency>
    <!-- JSTL 標準標簽庫 -->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
    </dependency>
</dependencies>

注意:若不繼承 spring-boot-starter-parent,需按文檔引入 spring-boot-dependencies 管理版本,否則編譯報錯。

配置視圖解析器

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

啟動類關鍵點

@SpringBootApplication
@ComponentScan("com.shujushow")
public class Chapter02Application extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(Chapter02Application.class);
    }
    public static void main(String[] args) {
        SpringApplication.run(Chapter02Application.class, args);
    }
}
  • 繼承 SpringBootServletInitializer 並重寫 configure(),支持打 WAR 部署到外部 Servlet 容器;
  • 嵌入式 Tomcat 直接 main() 運行亦可。

目錄結構約定

src/main/webapp/WEB-INF/jsp/   ← 放置 .jsp 文件

Spring Boot 默認不掃描 src/main/webapp,需在 pom.xml 配置 <webappDirectory> 或改用 src/main/resources/META-INF/resources,否則 404。

常見坑點

  • 缺少 tomcat-embed-jasper → JSP 無法編譯;
  • 缺少 jstl → <c:forEach> 等標簽失效;
  • JSP 路徑配置錯誤 → 視圖解析失敗;
  • 打包為 JAR 時 JSP 不工作(JSP 需編譯為 class,JAR 模式無法動態編譯),生產建議打 WAR。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved