2017-02-15 1 views
0

Ich habe eine einfache Webapp, die verwenden Frühling Boot-Bahn und Ich habe eine Datei web.xml in src/main/webapp/WEB-INF erhalten, die Kontext-param enthält ähnlicheKann nicht context-param in web.xml von Spring Boot-Controller

<context-param> 
    <description>Directory containing the configuration files</description> 
    <param-name>confDir</param-name> 
    <param-value>/opt/rasdaman/etc/</param-value> 
</context-param> 

In Servlet-Controller kann ich den Servletkontext

@Autowired 
private ServletContext servletContext; 

bekommen, aber wenn ich die Parameter zu erhalten versuchte, gibt es null

servletContext.getInitParameter("confDir"); 

als ich versuchte, den wahren Weg zum ServletContext

servletContext.getRealPath(File.separator); 

es zu erhalten gibt

"..../src/main/webapp/" 

Wie kann ich die Konfigurationsvariable in web.xml bekommen?

Danke

+0

Warum setzen Sie Ihren Parameter nicht in die Eigenschaftendatei? – jstuartmilne

+0

Es ist eine Legacy-Quelle, die die web.xml-Konfiguration verwendet, so dass ich nicht in eine andere Datei verschieben konnte. –

Antwort

1

Havent versuchte es mir aber. Wenn Sie einen Controller machen ServletContextAware implementieren ich glaube, Sie Ihren Kontext-param aus bekommen kann: http://docs.spring.io/spring/docs/3.0.x/javadoc-api/org/springframework/web/context/ServletContextAware.html

Die Idee

public class MyCoolController implements ServletContextAware { 


    @Override 
    setServletContext(ServletContext servletContext) { 
     String confDir = servletContext.getInitParameter("confDir"); 
    } 
} 

give it a shot

+0

es funktioniert genauso wie @Autowired, danke. –

+1

Implementieren Sie Ihre App als WAR-Datei? – jstuartmilne

+0

es ist eine JAR-Datei als Spring Boot startet so öffentliche statische void main (String [] args) { ApplicationContext app = SpringApplication.run (ApplicationMain.class, args); –

0

Dank sudakatux das Problem ist, ich verwendet, wäre Spring Boot mit jar nicht war dann kann nicht lesen von web.xml

folgen here zu wechseln in den Krieg und Bereitstellung mit Tomcat EE normalerweise

Verwandte Themen