我正在尝试使用从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>
}
}
答案 0 :(得分:3)
您可以使用以下
手动将变量绑定到JNDI上下文InitialContext context = new InitialContext(); //initialize a new JNDI context
context.addToEnvironment("logback/configuration-resource","logback.xml)"; //add a new named entry
答案 1 :(得分:0)
接受的答案对我不起作用。一段时间后,我最终找到了一个解决方案并将其发布到类似的堆栈溢出帖子中,并包括在此处以防对任何人有帮助: