【发布时间】:2014-07-21 18:39:55
【问题描述】:
我正在尝试使用从 Spring 的 WebApplicationInitializer 扩展的基于代码的类替换我的 web.xml 文件。我的 web.xml 文件有几个“env-entry”元素。我试图弄清楚如何在我的 WebApplicationInitializer 类中设置这些,但没有运气。也许有人知道这些标签的等效代码?
public class MyWebApplicationInitializer implements WebApplicationInitializer {
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
XmlWebApplicationContext appContext = new XmlWebApplicationContext();
appContext.setConfigLocation("WEB-INF/springmvc-servlet.xml");
Dynamic servlet = servletContext.addServlet("springmvc", new DispatcherServlet(appContext));
servlet.setLoadOnStartup(1);
servlet.addMapping("/*");
//How do I add this?
// <env-entry>
// <env-entry-name>logback/configuration-resource</env-entry-name>
// <env-entry-type>java.lang.String</env-entry-type>
// <env-entry-value>logback.xml</env-entry-value>
// </env-entry>
}
}
【问题讨论】:
-
试试:
InitialContext context = new InitialContext(); context.addToEnvironment("logback/configuration-resource","logback.xml)"; -
谢谢@kolossus。这是正确的答案。可以在此处找到参考:tomcat.apache.org/tomcat-5.5-doc/jndi-resources-howto.html。
是一个标量 JDNI 资源。我正在使用 Spring,并决定在组合根中定义值而不是作为 JNDI 资源。 -
哈哈。那很好。我现在将取消删除我的答案
标签: java spring spring-mvc servlet-3.0 spring-java-config