当我使用spring mvc时,我使用<mvc:resources />
将静态资源的位置映射到处理程序,现在我想向处理程序资源添加一些新函数,是否有人可以告诉我如何覆盖ResourceHttpRequestHandler?
(基于以下文档,<mvc:resources />
使用ResourceHttpRequestHandler来处理资源。)
提前致谢!
答案 0 :(得分:5)
我没有尝试过这个,但您可以尝试扩展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");
}
}
}