For reading servlet configuration parameters, you can use the ServletConfig object to retrieve. For reading web application general parameters, use ServletContext instead.
I don't recommend to use catalina.bat to pass in parameters using java program arguments. Firstly, the security manager of the container might prohibit you from getting or setting the property. You will get an SecurityException if you do so. Next, it might require a different approach when your application migrate to other containers. You might also have maintenance issue when there are lots of parameters to configure.
What kind of properties you referring to? If these are application/domain specific parameters, usually it is better to put them in database.
Hope this helps. Cheers.
[ November 01, 2006: Message edited by: Eddy Lee Sin Ti ]