Como acessar o web.xml sem usar HttpServletRequest

5 respostas
hugalves

Preciso acessar um que possui uma pasta especifica no seu .

Sendo que, na classe que eu preciso ter acesso a esse valor do web.xml, nao tem acesso a classe HttpServletRequest. Ou seja, nao consigo pegar o parametro através de: request.getSession().getServletContext();

Tem alguma outra forma de acessar o context-param? Se alguém souber, me ajude!

Valeu!

5 Respostas

victorwss

ServletContextListener?

g4j

web.xml:

<context-param>
			<param-name>email</param-name>
			<param-value>[email removido]</param-value>
		</context-param>

Dentro de um servlet:

ServletContext context = getServletContext();
            String email = context.getInitParameter("email");
hugalves

g4j, eu queria algo que fizesse exatamente isto, porém ser usar a classe ServletContext().

Acontece que a classe em que eu preciso do conteúdo, (do email, no seu exemplo) não tem acesso a ServletContext(). Ela é uma classe que é “disparada” pelo quartz, em uma hora pré-configurada. Aí na hora tal, ela chama um método da classe e faz uma série de procedimentos.

E dentre eles, eu preciso pegar, digamos no seu exemplo, o email que está configurado lá no web.xml.

Se vc souber de alguma forma, ou tiver alguma ideia de como fazer isso, favor posta aí =)

Valeu!

victorwss
Use um ServletContextListener. Ele é invocado pelo container assim que a aplicação é inicializada.
package xxx.yyy.zzz;

import javax.servlet.ServletContext;
import javax.servlet.ServletContextListener;
import javax.servlet.ServletContextEvent;

public class MeuListener implements ServletContextListener {
    public void contextInitilized(ServletContextEvent e) {
        ServletContext context = e.getServletContext();
        // Aqui você faz o que quiser com o contexto,
        // inclusive obter parâmetros de inicialização.
    }

    public void contextDestroyed(ServletContextEvent e) {}
}
No web.xml:
&lt;listener-class&gt;xxx.yyy.zzz.MeuListener&lt;/listener-class&gt;
hugalves

Fabuloso victorwss! Era exatamente o que precisava! Consegui aqui!

Obrigado!

Criado 2 de outubro de 2008
Ultima resposta 2 de out. de 2008
Respostas 5
Participantes 3