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
veja se o código a seguir q implementa um listener pegando um parâmetro do web.xml q funciona te ajuda:
[code]
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[/code]
esse código ta no livro java use a cabeça jsp & servlets
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
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:
<listener>
<listener-class>com.example.MyServletContextListener</listener-class>
</listener>
Eu já tinha mapeado.
O erro ocorria por duas razões:
- O tem que ser definido antes de qualquer servlet ou listener (vi isso numa apostila que consegui na web)
- O atributo que guarda o valor do tem que ser static.
Muito obrigado,
Você me ajudou muito.
Nadilson