Dúvida listener

5 respostas
nadilsons

Bom dia,

Gostaria de saber se um listener é capaz de obter os parâmetros do contextos especificados no web.xml? Ex:

web.xml:

(...)
    <context-param>
        <param-name>nomeParam</param-name>
        <param-value>true</param-value>
    </context-param>
	
</web-app>

No listener, é possível executar o comando:

boolean teste = Boolean.parseBoolean(getServletContext().getInitParameter("nomeParam"));

Depois que eu coloquei o código acima no listener, a aplicação começou apresentar o erro 404. Acredito que isto ocorre porque este código gera alguma exceção.
Por isso, deixo aqui a minha dúvida (se um listener é capaz de obter os parâmetros do contextos especificados no web.xml?) e agradeço se alguém puder me ajudar.

Obrigado,
Nadilson

5 Respostas

E

veja se o código a seguir q implementa um listener pegando um parâmetro do web.xml q funciona te ajuda:

import javax.servlet.*;

public class MyServletContextListener implements ServletContextListener{

	public void contextInitialized(ServletContextEvent event) {
		ServletContext sc = event.getServletContext();
		String dogBreed = sc.getInitParameter("breed");
		
		Dog d = new Dog(dogBreed);
		
		sc.setAttribute("dog", d);
	}//fecha método contextInitialized
	
	public void contextDestroyed(ServletContextEvent event) {
			
	}//fecha método contextDestroyed

}//fecha a classe MyServletContextListener

esse código ta no livro java use a cabeça jsp & servlets

nadilsons

Obrigado Emanoel,

Agora não dá mais o erro 404. No entanto o parâmetro fica nulo.
Vou revisar o web.xml para ver se existe algum erro.

Gostaria, se possível, que você me falasse qual página no livro “Servlets & JSP” tem esse exemplo. Revirei este livro de cima para baixo e não encontrei nenhuma referência.

Mais uma vez, muito obrigado.

Nadilson

E

o código ta pag 112 do livro, mas é na versão em português blz?

tem q fazer o mapeamento do listener tb no web.xml:

&lt;listener&gt; &lt;listener-class&gt;com.example.MyServletContextListener&lt;/listener-class&gt; &lt;/listener&gt;

nadilsons

Eu já tinha mapeado.
O erro ocorria por duas razões:

  1. O tem que ser definido antes de qualquer servlet ou listener (vi isso numa apostila que consegui na web)
  2. O atributo que guarda o valor do tem que ser static.

Muito obrigado,
Você me ajudou muito.

Nadilson

E

:smiley:

Criado 15 de dezembro de 2006
Ultima resposta 15 de dez. de 2006
Respostas 5
Participantes 2