目录

1 SpringBoot 静态资源访问

1.1 默认静态资源路径

1.2 ⾃定义静态资源路径

2 SpringBoot应⽤打包与部署

2.1 Jar 包部署

2.1.1 配置打包命令

2.1.2 部署并访问

2.2 war 包部署

2.2.1 pom.xml修改

2.2.2 Starter 修改

2.2.3 打包操作

2.2.4 部署并访问


1 SpringBoot 静态资源访问

从⼊⻔项⽬中可以看到:对于 Spring Mvc 请求拦截规则为 '/' ,Spring Boot 默认静态资源路径如下:

即:我们可以在 resources 资源⽬录下存放 web 应⽤静态资源⽂件。

1.1 默认静态资源路径

在 resources ⽬录下创建 static 或者 public ⽬录,存放 images、js、css 等静态资源⽂件:

 浏览器访问:

在视图中使⽤静态资源:

1.2 ⾃定义静态资源路径

在 spring.resources.static-locations 后⾯追加⼀个配置 classpath:/os/

spring:
 # 修改默认的静态寻址资源⽬录 多个路径之间⽤逗号隔开
 resources:
 static-locations: classpath:/public/,classpath:/static/,classpath:/os/

2 SpringBoot应⽤打包与部署

       当项⽬开发完毕进⾏部署上线时,需要对项⽬进⾏打包操作,⼊⻔中构建的项⽬属于普通应⽤,由于 SpringBoot 内嵌 Tomcat 容器,所有打包后的 jar 包默认可以⾃⾏运⾏。

2.1 Jar 包部署

2.1.1 配置打包命令

       idea 下配置 clean compile package -Dmaven.test.skip=true 执⾏打包命令,target ⽬录得 到待部署的项⽬⽂件。

2.1.2 部署并访问

       打开本地 dos 窗⼝,执⾏ java -jar 命令 部署已打好的 jar 包⽂件。 命令如下: java -jar jar包所在⽬录

浏览器访问:

2.2 war 包部署

       War 包形式部署 Web 项⽬在⽣产环境中是⽐较常⻅的部署⽅式,也是⽬前⼤多数 web 应⽤部署的⽅ 案,这⾥对于 Spring Boot Web 项⽬进⾏打包部署步骤如下

2.2.1 pom.xml修改

应⽤类型修改:

       由于⼊⻔项⽬构建的项⽬默认为 jar 应⽤,所以这⾥打 war 需要作如下修改

内嵌tomcat忽略:

       构建 SpringBoot 应⽤时,引⼊的 spring-boot-starter-web 默认引⼊ Tomcat 容器,这⾥忽略掉 内容 Tomcat

<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-tomcat</artifactId>
 <scope>provided</scope>
</dependency>
 <build>
 <!--
 配置⽣成的war⽂件名
 --> 
 <finalName>springboot</finalName>
 <plugins>
 <plugin>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-maven-plugin</artifactId>
 </plugin>
 </plugins>
 </build>

2.2.2 Starter 修改

       添加容器启动加载⽂件 (类似于读取 web.xml),这⾥通过继承 SpringBootServletInitializer 类并重写 configure ⽅法来实现,在部署项⽬时指定外部 Tomcat 读取项⽬⼊⼝⽅法。

@SpringBootApplication
public class Starter extends SpringBootServletInitializer {
 private static Logger logger = LoggerFactory.getLogger(Starter.class);
 public static void main(String[] args) {
 logger.info("SpringBoot 应⽤开始启动...");
 SpringApplication.run(Starter.class);
 }
 @Override
 protected SpringApplicationBuilder configure(SpringApplicationBuilder
builder) {
 return builder.sources(Starter.class);
 }
}

2.2.3 打包操作

执⾏命令,⽣成对应的 war 包:

2.2.4 部署并访问

外部tomcat部署并访问:

浏览器访问:

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐