WEB.XML から env-entry を削除したい
<env-entry>
<description>String used in masking process</description>
<env-entry-name>default_mask</env-entry-name>
<env-entry-value>*</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
だから私は(c:/ my.properties)を持つプロパティファイルを作成しました
default_mask=9999
だから私は JndiPropertyPlaceholderConfigurer ( Spring Jndi Context および PropertyPlaceholderConfigurerから ) のような既存のソリューションを使用しようとし、Spring の applicationcontext.xml で次のように構成します。
<bean
class="com.test.webappl.JndiPropertyPlaceholderConfigurer">
<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE"/>
<property name="ignoreResourceNotFound" value="true"/>
<property name="location" value="file:c:\my.properties"/>
Tomcat サーバーを起動すると、次のようなプロパティ ファイルが読み込まれます。
.......com.test.webappl.JndiPropertyPlaceholderConfigurer] Loading properties file from URL [file:c:/my.properties]
私が読んだとき、今Javaで
Context context = new InitialContext();
String resource = context.lookup("java:comp/env/default_mask");
アプリケーションは次のエラーをスローします
**javax.naming.NameNotFoundException: Name default_mask is not bound in this Context**
また、web.xmlの私の春の設定は
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationcontext.xml</param-value>
</context-param>
私が正しい方法を使用しているかどうかは誰にもわかりますか?これはSpring Jndi Context および PropertyPlaceholderConfigurerで回答されていることは知っていますが、私の場合はどういうわけか機能しません
前もって感謝します