Servlet não encontra parâmetros no WEB.xml

2 respostas
M

Salve salve !

estou testando um servlet que pega parâmetros contidos no arquivo WEB.XML mas o servlet parece não encontrar.

Coloquei o seguinte código em todos os arquivos WEB.XML que encontrei no diretório D:\jakarta-tomcat-4.0 :

<web-app>

	<servlet>
		<servlet-name>
			ShowMsg
		</servlet-name>

		<servlet-class>
			coreservlets.ShowMessage
		</servlet-class>

		<init-param>
		    <param-name>
			message
		    </param-name>
		    <param-value>
			Shibboleth
		    </param-value>
		</init-param>

		<init-param>
		    <param-name>
			repeats
		    </param-name>
		    <param-value>
			5
		    </param-value>
		</init-param>

	</servlet>

</web-app>

O código do servlet esta a seguir :

package coreservlets;

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class ShowMessage extends HttpServlet
{
	private String message;
	private String defaultMessage = "No message.";
	private int repeats = 1;
	
	public void init(ServletConfig config) throws ServletException
	{
		super.init(config);
		
		message = config.getInitParameter("message");
		
		if (message == null)
		{
			message = defaultMessage;
		}
		
		try
		{
			String repeatString = config.getInitParameter("repeats");
			repeats = Integer.parseInt(repeatString);
		}
		catch (NumberFormatException nfe) 
		{
		}
	}
	
	public void doGet(HttpServletRequest request,
					  HttpServletResponse response)
	 throws ServletException, IOException
	 {
	 	response.setContentType("text/html");
		PrintWriter out = response.getWriter();
		
		String title = "The ShowMessage Servlet";
		out.println(ServletUtilities.headWithTitle(title) +
					"<BODY BGCOLOR=\"#FDF5E6\">\n" +
					"<H1 ALIGN=CENTER>" + title + "</H1>");
		
		for (int i=0; i < repeats; i++)
		{
			out.println(message + "<BR>");
		}
		out.println("</BODY></HTML>");
	 }
}

O que pode estar errado ? Qual é realmente o arquivo WEB.XML reconhecido pelo TOM CAT ?

OBRIGADO ! um abraço !

2 Respostas

M

qual é o erro q ele retorna? Verifique sua estrutura de diretorios… deve ser algo como:

<TOMCAT_HOME>/webapps/suaAplicação/WEB-INF/classes/ShowMessage.class

<TOMCAT_HOME>/webapps/suaAplicação/WEB-INF/web.xml

…o web.xml q vc deve editar para o exemplo é aquele q se encontra no diretorio /WEB-INF da pasta em q vc salva sua aplicação… e o servlet deve estar no /WEB-INF/classes …da mesma pasta de sua aplicação

M

Valeu Matheus pela força !

O meu servlet esta no caminho :
D:\jakarta-tomcat-4.0\webapps\ROOT\WEB-INF\classes\coreservlets

e o web.xml esta no diretorio :
D:\jakarta-tomcat-4.0\webapps\ROOT\WEB-INF

O fato da aplicação estar no diretorio ROOT influencia em algo ?

Criado 6 de janeiro de 2004
Ultima resposta 7 de jan. de 2004
Respostas 2
Participantes 2