![](/img/trans.png)
[英]Loading spring XML from location different from classpath to get a bean in Servlet
[英]Loading spring XML from location different from classpath
我正在嘗試使用ClassPathXmlApplicationContext類讀取spring xml,如下所示。
ApplicationContext context = new ClassPathXmlApplicationContext("file:../WebContent/WEB-INF/dispatcher-servlet.xml");
Service service = (Service ) context.getBean("service");
但是我收到FileNotFound異常。 dispatcher-servlet.xml位於WebContent / WEB-INF / dispatcher-servlet.xml下。 如果我將文件移到Src文件夾,則可以正常工作。
我嘗試了不同的方式
ApplicationContext context = new ClassPathXmlApplicationContext("classpath:../WebContent/WEB-INF/dispatcher-servlet.xml");
ApplicationContext context = new ClassPathXmlApplicationContext("/WEB-INF/dispatcher-servlet.xml");
但是這些不起作用。 有人可以提供一些輸入嗎?
從Spring文檔中 :
ApplicationContext ctx = new FileSystemXmlApplicationContext("conf/appContext.xml");
在您的web.xml中嘗試以下操作:
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/dispatcher-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
或者,如果需要在代碼中執行此操作,請使用ServletContextResource
。 看這里 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.