3

當我使用spring mvc時,我使用<mvc:resources />將靜態資源的位置映射到處理程序,現在我想向處理程序資源添加一些新的函數,是否有人可以告訴我如何重寫ResourceHttpRequestHandler?如何覆蓋ResourceHttpRequestHandler以實現自定義資源處理程序?

(主要基於以下文檔中,<mvc:resources />使用ResourceHttpRequestHandler處理資源。)

提前感謝!

回答

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"); 
    }    
    }  
} 
相關問題