cliff.meyers‘s original answer that suggested using <env-entry> will not help when using only System.getProperty()
According to the Tomcat 6.0 docs <env-entry> is for JNDI. So that means it won’t have any effect on System.getProperty().
With the <env-entry> from cliff.meyers‘s example, the following code
System.getProperty("SMTP_PASSWORD");
will return null, not the value “abc123ftw”.
According to the Tomcat 6 docs, to use <env-entry> you’d have to write code like this to use <env-entry>:
// Obtain our environment naming context
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
// Look up our data source
String s = (String)envCtx.lookup("SMTP_PASSWORD");
Caveat: I have not actually tried the example above. But I have tried <env-entry> with System.getProperty(), and that definitely does not work.