有两种(或多种)servlet可以共享配置参数的方法,在web.xml
中声明一次?在servlets之间共享配置参数
看上去here,但它似乎并不是答案。
用例相当简单:我有两个servlet:一个将文件上载到一个目录,另一个下载它们。我很乐意仅在web.xml
中登记目录/路径一次,以避免混淆/混淆。
有两种(或多种)servlet可以共享配置参数的方法,在web.xml
中声明一次?在servlets之间共享配置参数
看上去here,但它似乎并不是答案。
用例相当简单:我有两个servlet:一个将文件上载到一个目录,另一个下载它们。我很乐意仅在web.xml
中登记目录/路径一次,以避免混淆/混淆。
是的,请将<context-param>
添加到您的web.xml
,例如,
<context-param>
<param-name>myParam</param-name>
<param-value>Some value</param-value>
</context-param>
这可以被限制在Web应用程序作为一个整体,而不是单独的servlet。
然后,您可以从您的servlet中的getInitParameter(...)
方法的ServletContext
对象(它可以在您的servlet中使用getServletContext()
获得)获得。
或者你可以在声明<env-entry>
您web.xml
:
<env-entry>
<description>This is the address of the SMTP host that shall be used to send mails
</description>
<env-entry-name>smtp.mailhost</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>mailhost</env-entry-value>
</env-entry>
使用JNDI值然后可以抬起头,可以在部署时(这是如何完成的集装箱专用),而无需修改设置WAR/EAR文件。如果未设置deply-time值,则<env-entry-value>
用作默认值 - 如果没有有意义的默认值可用于特定设置,则也可以省略。