当我使用spring mvc时,我使用<mvc:resources />
将静态资源的位置映射到处理程序,现在我想向处理程序资源添加一些新功能,是否有人可以告诉我如何覆盖ResourceHttpRequestHandler?
(根据以下文档,<mvc:resources />
使用ResourceHttpRequestHandler来处理资源。)
提前致谢!
最佳答案
我还没有尝试过,但是您可以尝试扩展ResourceHttpRequestHandler并使用BeanFactoryPostProcessor用自定义类替换ResourceHttpRequestHandler类。给出了类似的解决方案here
样品...
public class ResourceHttpRequestHandlerReplacer implements BeanFactoryPostProcessor {
public void postProcessBeanFactory(ConfigurableListableBeanFactory factory)
throws BeansException {
String[] names = factory.getBeanNamesForType(ResourceHttpRequestHandler.class);
for (String name: names) {
BeanDefinition bd = factory.getBeanDefinition(name);
bd.setBeanClassName("org.myProject.CustomResourceHttpRequestHandler");
}
}
}