Strictly, you don't have to restart the entire server, just the application itself. But to answer your question more directly, the configuration files (by default at any rate) are just read on startup and the values are held for the life of the application.
For Tiles you might try this init parameter, but I've not tried it personally, so I can't vouch for it.
For Struts, try setting devMode (Link) to true.
<constant name="struts.devMode" value="true" />
For changes to web.xml, and others, I think there's a setting at the application server level to control that, but I doubt that it's standard across all application servers.