如果我必须在运行时定义 context-visib 参数,我不会使用ServletContext.setInitParameter()
,因为init参数在部署描述符中一次性定义,我想ServletContext().setAttribute()
会更合适。
说,
ServletContext.setInitParameter()
而不是ServletContext().setAttribute()
?setInitParameter()
的方法? 初始参数实际上是在 web.xml 文件中为ServletConfig
定义的,我正在设置/获取上下文参数(拥有以下内容) ServletContext
)而不是。答案 0 :(得分:1)
ServletContext::setAttribute
是执行您正在执行的操作的正确方法。如果您查看ServletContext::setInitParameter
的javadoc,您会看到它:IllegalStateException - 如果此ServletContext已初始化
因此,一旦上下文启动,您将无法再调用该方法。
setInitParameter
,它引入了基于注释的配置作为XML配置的替代方案。我假设添加了此方法以允许基于注释的配置通过Java方法调用填充init参数。