目录结构

static中的文件可以直接访问,http://localhost:90/ssm/upload.html
templates 中的文件不能直接访问,可以通过controller 访问
html 热加载
要想修改html文件后不重启,需要如下设置
1.在pom中直接引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
2.设置idea的两项功能
“File” -> “Settings” -> “Build,Execution,Deplyment” -> “Compiler”,选中打勾 “Build project automatically”
组合键:“Shift+Ctrl+Alt+/” ,选择 “Registry” ,选中打勾 “compiler.automake.allow.when.app.running”
3.app.properties
spring.thymeleaf.cache=false
一个Webfilter不生效的案例
filter配置
@Component
@Order(1)
@Slf4j
@WebFilter(filterName = "errorMsgFilter", urlPatterns = "/public/api/*")
public class ErrorMsgFilter implements Filter {
启动类配置
@Configuration
@SpringBootApplication
@EnableCaching
@ComponentScan(basePackageClasses = BaseWebPackage.class, basePackages = {"com.synnex.cloud"})
@EnableFeignClients(basePackageClasses = {CommonServiceClientPackage.class}, basePackages = {"com.synnex.cloud"})
public class CloudStorefrontApplication {
public static void main(String[] args) {
new SpringApplicationBuilder(CloudStorefrontApplication.class).run(args);
}
}
这样会发现,过滤了所有的请求,包括js和css、html,原因就是 @Component和@WebFilter 不能同时配置;
应该修改为如下:
@Order(1)
@Slf4j
@WebFilter(filterName = "errorMsgFilter", urlPatterns = "/public/api/*")
public class ErrorMsgFilter implements Filter {
@Configuration
@ServletComponentScan
@SpringBootApplication
@EnableCaching
@ComponentScan(basePackageClasses = BaseWebPackage.class, basePackages = {"com.synnex.cloud"})
@EnableFeignClients(basePackageClasses = {CommonServiceClientPackage.class}, basePackages = {"com.synnex.cloud"})
public class CloudStorefrontApplication {
public static void main(String[] args) {
new SpringApplicationBuilder(CloudStorefrontApplication.class).run(args);
}
}
本文介绍如何在Spring Boot项目中实现HTML热加载,避免每次修改HTML文件后都需要重启服务。此外,还详细说明了一个WebFilter配置案例,解释了@Component与@WebFilter同时使用时可能出现的问题及解决方法。
1053

被折叠的 条评论
为什么被折叠?



