Servlet nao encontrado no Tomcat

9 respostas
marcelosdias

Pessoal bom dia, estou com dificuldades, quem puder me axiliar;
Andei pesquisando nas postagem antigas sem encontrar algo parecido com o meu caso (ou não soube utilizar os que encontrei, rsrsrs)
Estou postando uma aplicação em um dominio www.meudominio.com.br e quando minha pagina jsp vai chamar meu servlet dá a mensagem:

Not Found

The requested URL /AdmCfcController was not found on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

AdmCfcController é meu servlet principal e a
minha aplicação esta rodando no root, abaixo segue a arvore de diretorio:

webapps
|---ROOT
     |---ddlevelsfiles
     |---imagens
     |---menus
     |---META-INF
     |---WEB-INF
          |--classes
          |    |--br
          |        |--com
          |            |--admcfc
          |               |--conexao
          |               |--controller
          |               |--model
          |                  |--bean
          |                  |--command
          |                  |--dao
          |                  |--helper
          |--lib

meu web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<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_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>ROOT</display-name>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
    <description></description>
    <display-name>AdmCfcController</display-name>
    <servlet-name>AdmCfcController</servlet-name>
    <servlet-class>br.com.admcfc.controller.AdmCfcController</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>AdmCfcController</servlet-name>
    <url-pattern>/AdmCfcController</url-pattern>
  </servlet-mapping>
</web-app>

Se alguém puder me dar umas dicas, não estou conseguindo sair do lugar.
Na expectativa

Marcelo.

9 Respostas

A

posta o codigo da sua servlet !

valew

marcelosdias

Obrigado por retornar marsola2k, segue conforme solicitado.

package br.com.admcfc.controller;

import java.io.IOException;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
import br.com.admcfc.conexao.InterfacePool;
import br.com.admcfc.conexao.Pool;
import br.com.admcfc.model.command.InterfaceCommand;
import br.com.admcfc.model.helper.AdmCfcHelper;

/**
 * Servlet implementation class AdmCfcController
 */
public class AdmCfcController extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
	static final long serialVersionUID = 1L;
	
    private InterfacePool pool = new Pool();
	private AdmCfcHelper admCfcHelper = new AdmCfcHelper(pool); 

	public AdmCfcController() {
        super();
    }

	@Override
	public void init(ServletConfig config) throws ServletException {
		super.init(config);
		this.pool = (InterfacePool)getServletContext().getAttribute("pool");
	}

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		processarRequisicao(request, response);
	}  	

	private void processarRequisicao(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException
	{
		admCfcHelper.setRequest(request);
        InterfaceCommand comando = admCfcHelper.getCommand();
        String pagina = comando.execute(request, response);
        request.getRequestDispatcher(pagina).forward(request, response);
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		processarRequisicao(request, response);
	}
}
marcelosdias

Estou procurando o que estou fazendo de errado e não acho, a minha hospedagem é no KingHost;

Os Passos feitos:

  1. parei o servidor:

  2. criei minha aplicação pelo painel de controle do cliente ("admcfc.com.br);

  3. gerei o .war pelo eclipse (ganymede), o nome do projeto é ROOT;

  4. coloquei no diretório webapps;

  5. re-iniciei o servidor;

Ao digitar www.meudominio.com.br a aplicação inicia na pagina index, mas quando vai acessar o servlet principal, que é onde é enviada a requisição quando submeto o formulário, dá o erro;

marcelosdias

Ainda em tempo:

Tomcat 6.0
Jdk1.6.0_07;

marcelosdias

Para informação de todos, meu ambiente está igual ao ambiente de meu provedor de serviço.

wswillianss

Verifique se a classe AdmCfcController está no diretório correto, ou se estar no pacote correto também.

marcelosdias

Pessoal, como observaram no material que postei, não tem nada errado com a configuração. Ontem no curso Java que estou fazendo, tive oportunidade de ter certeza disso, tanto que em desenvolvimento tudo está funcionando corretamente.

Foi aí que conversando com um colega javeiro mais experiente descobri que meu link (o que faz a requisição para o server “http://www.admcfcaeec.com.br/AdmCfcController?.…”) está sendo interceptado por um outro servidor, provavelmente pelo APACHE, que é o servidor de balanceamento do meu provedor de serviço. Ele teve um problema semelhante com um outro site de hospedagem e a solução foi tirar o recurso PHP. Como ele não utilizava, ficou tudo bem.

Isso mesmo, minha requisição nunca chegou no Tomcat. Esses dias todos quebrando a cabeça, “corrigindo” minha configuração pensando que estava fazendo algo errado, já sem graça de tanto falar com o suporte deles. Segundo esse colega, isso é muito comum em sites de hospedagem, pois coloca-se um servidor de balanceamento de carga antes (geralmente e o APACHE) que acaba recebendo as requisições primeiro. Curioso que meu perfil contratado é apenas Java.

Abri um ticket de serviço para corrigirem este problema e me deram 24h iniciais para uma solução. E eu agora estou aguardando, e indo para o 5o. dia sem conseguir postar completamente o protótipo.

Mas gostaria de agradecer a todos que postaram e procuraram me auxiliar. Agora é só aguardar para ver se é só isso. Como eles tem um controle de qualidade, enviei algumas sugestões para que melhorarem o serviço e me desculpei se em algum momento, dentro deste estresse gerado, fui indelicado com alguem da equipe de suporte. É um grande desafio construir uma parceria a longo prazo, ainda mais quando o serviço não é adequado.

R

Quando vc postou sua aplicação no domínio, o tomcat foi reiniciado ou sua aplicação carregada? Se vc apenas colocou seus arquivos no servidor, ele não vai achar sua aplicação.

Outra coisa, confirma se o servidor está rodando em java5.

flw!

R

Não sei como são seus acessos ao seu servidor, mas confira os jars q vc tem na sua máquina e no servidor.

Outra coisa, acesse o manager do TomCat e veja se sua aplicação aparece na lista e tente iniciá-la por lá, assim vc consegue ver a exception. Se sua aplicação não estiver na lista, faça o deploy pelo manager e espere pela exception. Se vc conseguir ver a exception, posta aí…

Flw!

Criado 20 de outubro de 2008
Ultima resposta 21 de out. de 2008
Respostas 9
Participantes 4