Java程序设计:spring boot(5)——静态资源访问、应用打包与部署
目录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 部署并访问从⼊⻔项⽬中可以看到:对于 Spring Mvc 请求拦截规则为 '/' ,
目录
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部署并访问:
浏览器访问:
更多推荐
所有评论(0)