【发布时间】:2012-02-20 22:35:23
【问题描述】:
有没有办法以编程方式添加上下文参数?我不想在 web-xml 中添加。具体来说,我想做这篇文章中的答案建议:Invoking methods with parameters by EL in JSF 1.2。
【问题讨论】:
有没有办法以编程方式添加上下文参数?我不想在 web-xml 中添加。具体来说,我想做这篇文章中的答案建议:Invoking methods with parameters by EL in JSF 1.2。
【问题讨论】:
是的,这是可能的。
在servlet的init方法中,使用
getServletConfig().getServletContext().setInitParameter("[Parameter name]", "[value]");
或者干脆
getServletContext().setInitParameter("[Parameter name]", "[value]");
这一定对你有用。
对于应用程序负载,
在 web.xml 中,当你声明这个 servlet 时,为这个 servlet 提供 <load-on-startpup> 元素为 1。
<servlet>
<servlet-name>TestServlet</servlet-name>
<servlet-class>TestServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
【讨论】:
ServletContextListener 或 ServletContainerInitializer 来初始化 API,它们在创建第一个 Servlet 之前很久就运行了。
ServletContextListener 或其他可能是设置初始化参数的最佳位置?
setInitParameter 似乎只能从 Servlet 3.0 开始使用