Springboot 自定义Tomcat默认Servlet 资源路径

问题来源:
这是一个复杂的需求。
【controller 拦截所有请求–>判断是否存在资源 -->如果存在资源则转发到该资源】
问题就卡在这里,因为这是一个死循环。
所以想到了使用两个servlet来交互处理。Tomcat默认的DefaultServlet专门用来处理静态资源。
同时又出现了一个问题。
因为Tomcat的资源路径在webapp目录下面。
1.如果想要部署的便捷性,就必须把webapp打包在一起。但这样无法管理webapp里面的资源
2.如果想要便捷管理资源,就必须使用外部的Tomcat
有没有两全其美的方法呢?
1.把内嵌的Tomcat的资源路径修改成外部。
这便是我要说的方法。
方法很简单,但是谷歌了一天才解决的。不得不吐槽,百度真的一大抄。

@Configuration
public class WebappRoot   implements TomcatContextCustomizer {

    @Override
    public void customize(Context context) {
        context.setDocBase(System.getProperty("user.dir")+"/system/");
    }
}

你可能感兴趣的:(开发分享,采坑日记,springboot)