springboot如何开启内置tomcat的SSI服务?

gradle构建的springboot,内置的tomcat没有web.xml,怎么打开SSI
2025-03-24 04:13:31
推荐回答(2个)
回答1:

首先你需要确定,如果你确实是使用springboot内置的tomcat,你需要检查,你的项目是否依赖springboot的这个jar包,即spring-boot-starter-web,如果是以maven管理项目的化,你直接查一下组件ID是这个的有没有,没有的化,需要引用

回答2:

核心配置:

@Bean
public ServletRegistrationBean servletRegistrationBean() {
    ServletRegistrationBean servlet=new ServletRegistrationBean();
    servlet.setServlet(new SSIServlet());
    List urlMpping=new ArrayList<>(1);
    urlMpping.add("*.shtml");
    servlet.setUrlMappings(urlMpping);
    servlet.addInitParameter("outputEncoding", "UTF-8");
    servlet.addInitParameter("inputEncoding", "UTF-8");
    return servlet;
}

关键点

  • 1、shtml页面要放在webapp下

  • 2、打jar包时,spring-boot-maven-plugin 使用1.4.2.RELEASE版本

  • 3、打jar包时,页面要copy到META-INF/resources目录下

demo github地址:网页链接