Iniciante no java - publicar servelet

oi,
Desenvolvi uma aplicação web que na minha maquina local funciona perfeitamente mas no servidor do meu site não.

Eu fiz um ftp da minha aplicação para “public_html” mas quando tento acessar minha servelet dá erro 404 de pagina não encontrada.

  • O servidor web é Linux, tem o Java e o Tomcat instalado.

O que pode estar errado ?
Será que é necessario que o provedor coloque meus arquivos na pasta “webapps” que está dentro da pasta onde foi instalado o Tomcat ?
Ou será necessario configurar o server.xml ?

alguém poderia me ajudar, por favor ?
Antecipo meus agradecimentos.

Sao diversas possibilidades. A mais logica eh que sim, a tua aplicacao tem que estar na “webapps” ou qualquer outro diretorio que o Tomcat tenha conhecimento. Isso eh feito configurando-se o Context, seja no server.xml ou por um arquivo a parte, especifico. A tua aplicaao precisa, tambem, ter a estrutura basica, com o diretorio WEB-INF e afins.

Se o server nao eh seu, mas sim de algum provedor, o melhor a fazer eh contatar o suporte tecnico e informar-se a respeito sobre como colocar a sua aplicaco java para funcionar la.

Rafael

Bem, a coisa não é tão simples assim, copiar o servlet no public_html. Não se publica um servlet, mas uma app web inteira. (que pode até ter só um servlet)
Vc provavelmente tem que contactar o seu provedor, e solicitar que ele instale (ou melhor, faça o deploy) a sua app no tomcat. Para isso tem que criar um arquivo war ou pelo menos a estrutura de diretórios padrão que o Rafael falou para a sua aplicação. Ah, o seu servlet tem que estar configurado no web.xml.
Mas se vc usa uma boa IDE ela provavelmente já fez tudo isso para vc automaticamente.
Explique melhor o que vc está fazendo, com que ferramentas, talvez a gente consiga ajudar mais.

Oi,
obrigado pelas respostas.
Vcs estão me ajudando muito.

O caso é o seguinte:

  • Criei uma pasta chamada teste na pasta webapps,
  • Criei um arquivo chamado index.html dentro da pasta teste que tem um formulario para a pessoa digitar alguns dados e quando a pessoa clicar no botão “Enviar” iria chamar minha servlet, como descrito abaixo:
<FORM ACTION="MinhaServlet" METHOD="Post" NAME="form1">
  • Criei um arquivo web.xml dentro da pasta WEB-INF:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
"http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
    
    <servlet>
        <servlet-name>MinhaServlet</servlet-name>
        <servlet-class>MinhaServlet</servlet-class>
    </servlet>

    
    <servlet-mapping>
        <servlet-name>MinhaServlet</servlet-name> 
        <url-pattern>*.teste</url-pattern> 
    </servlet-mapping>
    
    
    <servlet-mapping>
        <servlet-name>MinhaServlet</servlet-name> 
        <url-pattern>/MinhaServlet</url-pattern> 
    </servlet-mapping>

    <session-config>
        <session-timeout>30</session-timeout> <!-- 30 minutes -->
    </session-config>

    <welcome-file-list> 
          <welcome-file> index.html </welcome-file>  
    </welcome-file-list> 

</web-app>
  • Criei uma pasta chamada classes, copiei para ela o arquivo MinhaServlet.class que eu compilei usando javac …

Acessando
http://localhost:8080/teste/
abre meu formulario clico no botão enviar, ele chama minha servlet, tudo normal.

Mas eu queria publicar na web, então copiei minha estrutura de pasta inteira (teste) para public_html, quando acesso www.meusite.com.br/teste/
ele abre meu formulario, mas quando clico em “Enviar” ele não acha minha servlet e retorna o erro 404

Eu não tenho acesso a este servidor. E o suporte não esta conseguindo me ajudar.

Pingola,
vc tem que ter acesso a pasta de aplicações do tomcat, para colocar a sua app inteira.
Sem isso, nada feito, vc não publica nada que seja dinâmico (ou seja, jsp e servlets).
Vc está tentando usar algum serviço gratuito? Se for gratuito, esquece… Se não for gratuito, os caras estão te enganando, dizendo que tem java… eles não sabem nem do que estão falando…

Estou tb com uma dor de cabeça pra publicar meu site; la tem a pasta /webapps/ e tb a pasta ROOT,
tenho minha aplicação rodando no tomcat certinho, “localhost” servelt todo ok, nno servidor tenho acesso a pasta tomcat-docs faço ulpload da aplicacao colocando tudo dentro da pasta ROOT e depois ulpload o arquivo .war para a pasta /webapps/ mas nada acontece estou tentando a 5 dias, se alguem puder me ajudar agradeço eternamente, porque so vou parar quando conseguir e se tiver ajuda dos mestres do java irei com certeza funfar essa aplicação… o provedor e o kinghost e o suporte e legal mas eles demoram muito para retorno e pergunta as mesmas coisas a cada chat ai fica tenso pois parece que ta tudo certim.
att.
flash.zzz

Para publicar uma app web em java pelo TomCat siga as seguintes instruções.

[list]Dentro do netBeans(espero que você o esteja utilizando) clique em “limpar e construir”[/list]
[list]Na pasta do netBeans, você acessa a pasta da aplicação, vai em BUILD, e copie o conteudo da pasta WEB[/list]
[list]Faça upload deste conteudo para a pasta ROOT, localizada dentro da pasta Webapps do TomCat instalado no seu servidor web (Em alguns servidores WEB, você tem que instalar o Tomcat antes de poder usá-lo, procure no painel de controle, de preferencia posta aí qual servidor você está utilizando)[/list]

[list]Apos fazer upload do projeto, caso você tenha controle do TOmCat remoto, start ou Reinicie ele, caso ocorra tudo certo, sua aplicação rodará assim que você acessar o endereço raiz do seu site.[/list]