Dados no xml e servlet

Qual a diferença entre colocar dados no XML e colocar no servlet (na classe) ??
Pra reiniciar o contexto eu não vou ter que resetar a aplicação? não ocorreria o mesmo se eu alterasse o .class ?? Recompilar o codigo fonte não vejo problema, não interfere em nada (eu acho), o servidor tá lá rodando o codigo velho, só na hora de botar funcionar tem que resetar a aplicação, não ocorreria o mesmo se eu fosse alterar o xml ?

De que dados você está falando? E que xml?

Estou falando do web.xml, por exemplo, colocar um email no <init-param>…, em vez de colocar direto no servlet uma string email. Eu sei que colocar no web.xml eu só vou ter que depois mudar em um único lugar etc, mas minha dúvida é em relação ao servidor, se temq ue reiniciar ele nos dois casos.
Vi em alguns foruns as pessoas falando que tem preferem usar atributos no web.xml porque não precisam depois recompilar a classe. Mas que diferença vai ter pro usuário final ??
No que eu entendo, recompilar a classe não é um grande problema. A única vantagem que eu vejo, é se não precisa reiniciar o servidor, ai é mais vantagem colocar no web.xml.

Pro usuário final nenhuma.

E recompilar uma classe é um grande problema sim, em um sistema bem pequeno pode ser que não, mas quando as coisas ficam maiores, não é tão facil assim… e como você disse, as configurações ficam em um lugar só, você não tem que sair vasculhando o codigo atras de configuração pra alterar, o que pode te trazer problemas, se tiver o email em 2 lugares por exemplo, você altera 1 e esquece do outro, aí lá se vai a confiabilidade da sua aplicação…

O ideal tambem seria você colocar isso em um arquivo de configuração, como um properties, assim você não precisa parar o servidor…

E os properties, pra mudarem, tem que reiniciar o servidor ??

É acho quo melhor é colocar em um properties mesmo!

Valew!

Precisa reiniciar não…