SpringBoot使用JSP

1.添加依赖

<!-- 添加 servlet api 依赖 -->
<dependency>
    <groupId>jakarta.servlet</groupId>
    <artifactId>jakarta.servlet-api</artifactId>
    <scope>provided</scope>
</dependency>

<!-- JSP 相关依赖 -->
<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
    <scope>provided</scope>
</dependency>

<!-- JSTL -->
<dependency>
    <groupId>jakarta.servlet.jsp.jstl</groupId>
    <artifactId>jakarta.servlet.jsp.jstl-api</artifactId>
</dependency>
<dependency>
    <groupId>org.glassfish.web</groupId>
    <artifactId>jakarta.servlet.jsp.jstl</artifactId>
</dependency>

2.创建目录

image-20241204105517248

admin、pc、ph里面都有自己的jsp、html以及静态资源文件

3.增加配置

在application.yml中增加如下配置

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

为了兼容访问html,增加配置类

@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        // 为每个模块的静态资源配置资源处理器
        registry.addResourceHandler("/pc/**")
                .addResourceLocations("classpath:/static/pc/",
                        "file:src/main/webapp/WEB-INF/views/pc/");

        registry.addResourceHandler("/ph/**")
                .addResourceLocations("classpath:/static/ph/",
                        "file:src/main/webapp/WEB-INF/views/ph/");

        registry.addResourceHandler("/admin/**")
                .addResourceLocations("classpath:/static/admin/",
                        "file:src/main/webapp/WEB-INF/views/admin/");
    }
}

4.创建controller

@GetMapping("/pc")
public String pcIndex() {
    return "pc/index";
}

@GetMapping("/ph")
public String phIndex() {
    return "ph/index";
}

@GetMapping("/admin")
public String adminIndex() {
    return "admin/index";
}

5.浏览器访问即可

分类: 标签: SpringBoot JSP

评论

全部评论