Topic
  • No replies
SystemAdmin
SystemAdmin
16 Posts

Pinned topic getInitParameterNames() não retorna parâmetros de servlet

‏2013-01-09T01:36:50Z |
Olá! Estou começando na programação web com servlets. Neste momento, estou tentando recuperar alguns parâmetros de inicialização de uma servlet e outros de contexto. Eles estão declarados no arquivo web.xml como segue:


<?xml version=
"1.0" encoding=
"UTF-8"?> 
{código
}<web-app xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance" xmlns=
"http://java.sun.com/xml/ns/javaee" xmlns:web=
"http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation=
"http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version=
"3.0">
{código
} <display-name>JediWebTutorial</display-name> *<context-param>* *<param-name>contextParam</param-name>* *<param-value>contextValue</param-value>* *</context-param>* <servlet> <servlet-name>GreeterServlet</servlet-name> <servlet-class>jedi.servlets.GreeterServlet</servlet-class> *<init-param>* *<param-name>servletParam</param-name>* *<param-value>servletValue</param-value>* *</init-param>* </servlet> <servlet> <servlet-name>GetParameterValuesServlet</servlet-name> ...


Eu estou tentando buscar esses parâmetros dentro do método doGet da servelet GreeterServlet, da seguinte forma:




protected 

void doGet(HttpServletRequest request, HttpServletResponse response) 

throws ServletException, IOException 
{   ServletConfig config = getServletConfig(); ServletContext context = config.getServletContext(); Enumeration<String> servletParams = config.getInitParameterNames(); Enumeration<String> contextParams = context.getInitParameterNames();   

for (String param : Collections.list(servletParams)) 
{ System.out.println(param); 
}   

for (String param : Collections.list(contextParams)) 
{ System.out.println(param); 
} ...


Como esperado, no console aparece escrito o nome do parâmetro de contexto (contextParam), mas não é mostrado o da servlet (servletParam), pois, apesar de ele estar no web.xml, o método getInitParameterNames() retorna uma Enumeration vazia.
Estou me debatendo com esse problema há horas. Já me assegurei de que o nodo do parâmetro está dentro do nodo da servlet e não estou sobrescrevendo nenhuma versão do método init() (o que é indicado como problema em alguns fóruns). Procurando pela web, não achei caso parecido - talvez até porque seja algo simples demais e eu sou apenas muito iniciante para perceber :). De qualquer forma, agradeço a quem puder dar uma olhada.

A propósito, se ajudar, estou usando TomCat 7.0.34 e Eclipse Helios.