8

web.xml除了以下示例中使用的参数之外,还有其他方法可以配置上下文参数吗?

<context-param>
    <param-name>com.sun.faces.numberOfLogicalViews</param-name>
    <param-value>10</param-value>
</context-param>
4

2 回答 2

16

从 Servlet 3.0 开始,您可以通过ServletContext#setInitParameter().

只需将其放在ServletContextListener您的 Web 项目中的任何位置。@WebListener注释将使容器在 webapp 启动期间自动拾取并运行它。

@WebListener
public class Config implements ServletContextListener {

    @Override
    public void contextInitialized(ServletContextEvent event) {
        ServletContext servletContext = event.getServletContext(); 
        servletContext.setInitParameter("com.sun.faces.numberOfLogicalViews", "10");
    }

    @Override
    public void contextDestroyed(ServletContextEvent event) {
        // NOOP.
    }

}
于 2016-07-13T10:41:56.463 回答
1

如果您使用的是嵌入式 Tomcat,则如下所示:

Context.getServletContext()
    .getServletRegistrations()
    .get("webdavservlet")
    .setInitParameter("listings", "true");
于 2018-03-17T08:51:07.863 回答