Java 为什么我应该对ServletContext使用setInitParameter()而不是setAttribute()?
如果必须在运行时定义context visib参数,我不会使用Java 为什么我应该对ServletContext使用setInitParameter()而不是setAttribute()?,java,servlets,servletconfig,Java,Servlets,Servletconfig,如果必须在运行时定义context visib参数,我不会使用ServletContext.setInitParameter(),因为init参数在部署描述符中一次性定义,我认为ServletContext().setAttribute()更合适 说, 我的方法正确吗?在这种情况下,我应该使用ServletContext.setInitParameter()而不是ServletContext().setAttribute() 为什么该方法被称为setInitParameter()?Init参数实
ServletContext.setInitParameter()
,因为init参数在部署描述符中一次性定义,我认为ServletContext().setAttribute()
更合适
说,
ServletContext.setInitParameter()
而不是ServletContext().setAttribute()
setInitParameter()
?Init参数实际上是为web.xml文件中的ServletConfig
定义的,我正在设置/获取上下文参数(由于ServletContext
)ServletContext::setAttribute
是正确的方法。如果查看ServletContext::setInitParameter
的javadoc,您会看到它说:setInitParameter
是在Servlet 3.0中引入的,Servlet 3.0引入了基于注释的配置作为XML配置的替代。我假设添加此方法是为了允许基于注释的配置通过Java方法调用填充init参数在这一点上我有点困惑。。。在Servlet中,我可以调用getServletContext().setInitParameter(“e-mail”、“e-mail”)-mail@email.com)而没有获得异常,但上下文是否已在该阶段初始化?