JSP + jspInit + Init Parameter

1 resposta
adolfo_eloy

Olá.

Estou escrevendo um jsp, e neste jsp estou anulando o método jspInit() conforme o código abaixo:

Arquivo TestInit.jsp
<html>
<body>
<%!
   public void jspInit() {
      // recuperando o servletconfig
      ServletConfig sConfig = getServletConfig();
      
      // recuperando o parametro init e guardando em emailAddr
      System.out.println(sConfig.getInitParameter("email"));
      
   }
%>
teste
</body>
</html>

Como pode-se notar, estou tentando recuperar um parâmetro init de algum Servlet. Este servlet é
o que é gerado quando o JSP é processado. Abaixo segue minha configuração no deployment descriptor web.xml:

web.xml
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" 
  version="2.4">

  <servlet>
     <servlet-name>MyTestInit</servlet-name>
     <jsp-file>/TestInit.jsp</jsp-file>
     <init-param>
        <param-name>email</param-name>
        <param-value>[email removido]</param-value>
     </init-param>
  </servlet>
  
</web-app>

Quando executo meu JSP, e verifico o log catalina.out, onde tentei imprimir o valor do parametro email,
o resultado sai como null.

Obs.: estou utilizando Tomcat6 + JDK6

Alguém poderia me ajudar a resolver este problema? Estou seguindo o mesmo modelo de um livro que estou lendo.

Obrigado pessoal.

1 Resposta

adolfo_eloy

Pessoal, encontrei a solução para o problema e vou postar somente para documentação no fórum:

O web.xml que enviei anteriormente conforme abaixo deve possuir as tags mapeando para o meu JSP
Eu não havia colocado pois no livro que estou lendo não haviam colocado também.

adolfo_eloy:
web.xml
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" 
  version="2.4">

  <servlet>
     <servlet-name>MyTestInit</servlet-name>
     <jsp-file>/TestInit.jsp</jsp-file>
     <init-param>
        <param-name>email</param-name>
        <param-value>[email removido]</param-value>
     </init-param>
  </servlet>
  
</web-app>

Abaixo segue o DD correto:

<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" 
  version="2.4">

  <servlet>
     <servlet-name>MyTestInit</servlet-name>
     <jsp-file>/TestInit.jsp</jsp-file>
     <init-param>
        <param-name>email</param-name>
        <param-value>[email removido]</param-value>
     </init-param>
  </servlet>
  
  <servlet-mapping>
     <servlet-name>MyTestInit</servlet-name>
     <url-pattern>/TestInit.jsp</url-pattern>
  </servlet-mapping>
  
</web-app>
Criado 21 de março de 2009
Ultima resposta 21 de mar. de 2009
Respostas 1
Participantes 1