Chamando um servlet

7 respostas
A

Ola pessoal !

Instalei o TomCat 5 aki e o j2ee…
to fazendo uns exemplos pra ve se ta tudo blz…
em um deles quero executar uma servlet, mas nao to conseguindo acertar o action do form pra chamar essa servlet… e tb nao sei o que devo colocaer no arquivo web.xml…
Eu tenho o seguinte…
webapps
[color=“white”]…[/color]|—ROOT
[color=“white”]…[/color]|— teste
[color=“white”]…[/color]|— exemplo.htm
[color=“white”]…[/color]|—WEB-INF
[color=“white”]…[/color]|— web.xml
[color=“white”]…[/color]|—classes
[color=“white”]…[/color]|— exemplo.class
como faço para o arquivo exemplo.htm chamar a servlet exemplo.class??

O que devo colocar no web.xml ???

desde ja agradeço !!!

7 Respostas

M

topicos relacionados q vão te ajudar :slight_smile:

http://www.portaljava.com/home/modules.php?name=Forums&file=viewtopic&t=8382&highlight=web+xml+servlet

http://www.portaljava.com/home/modules.php?name=Forums&file=viewtopic&t=10409&highlight=web+xml+servlet

http://www.portaljava.com/home/modules.php?name=Forums&file=viewtopic&t=10436&highlight=web+xml+servlet

C

Coloque as tags <servlet> e <servlet-mapping>, dessa forma:

&lt;servlet&gt;
    &lt;servlet-name&gt;NomeDoServlet&lt;/servlet-name&gt;
    &lt;servlet-class&gt;pacote.NomeDoServlet&lt;/servlet-class&gt;
  &lt;/servlet&gt;
  &lt;servlet-mapping&gt;
    &lt;servlet-name&gt;NomeDoServlet&lt;/servlet-name&gt;
    &lt;url-pattern&gt;/nomePraChamarOServlet&lt;/url-pattern&gt;
  &lt;/servlet-mapping&gt;

Na <servlet>, vc fala o nome do servlet e sua classe. Na <servlet-mapping> vc fala como vc vai chamar o servlet no form. No exemplo, o action do form ficaria assim:

&lt;form action='/J2EEWebContextRoot/nomePraChamarOServletr'&gt;
  &lt;input .....&gt;
&lt;/form&gt;

J2EEWebContextRoot é o caminho que vc implantou a aplicação.

[]'s
carisio

A

Galera, valeu a dica…

Fiz as musanças e deu certo… os links tb ajudaram…

Fui !

A

poxa pessoal.. deu errado de novo :sad:

Eu fiz os testes na casa de um amigo e funcionou, agora tentei fazer em casa e nada.... :cry:

Eu montei tudo igual e deu errado, ou eu não to vendo o erro... vou por aki o que tenho e tente me dar uma luz...

Dentro do diretório webapps/root tenho o seguinte

teste
...|--- calculo.htm
...|--- WEB-INF
...........|--- web.xml
...........|--- classes
...................|--- Calculadora.java
...................|--- servlet
...........................|--- Calculadora.class

bom... em negrito estão os arquivos q vou utilizar:

no calculo.htm eu tenho um form como seguinte action
&lt;form method=&quot;get&quot; action=&quot;http&#58;//localhost&#58;8080/Calculadora&quot;&gt;
dentro do arquivo web.xml eu tenho a servlet mapeada assim:
&lt;servlet&gt;
        &lt;servlet-name&gt;Calculadora&lt;/servlet-name&gt;
        &lt;servlet-class&gt;classes.servlet.Calculadora&lt;/servlet-class&gt;
    &lt;/servlet&gt;

    &lt;servlet-mapping&gt;
        &lt;servlet-name&gt;Calculadora&lt;/servlet-name&gt;
        &lt;url-pattern&gt;/Calculadora&lt;/url-pattern&gt;
    &lt;/servlet-mapping&gt;
Qndo executo da erro de caminho invalido para a servlet

O que faço ??

C

Tenta trocar

&lt;form method="get" action="http&#58;//localhost&#58;8080/Calculadora"&gt;

por

&lt;form method="get" action="http&#58;//localhost&#58;8080/NOME_DA_APLICACAO/Calculadora"&gt;

Onde NOME_DA_APLICACAO é o nome q vc tá colocando pra sua aplicação.

[]'s
carisio

A

Cara… como assim o nome da minha aplicação ???
não seria o nome do diretório ?? Seria ds1 o nome da minha aplicação ??

Vc poderia me dar um exemplo ?

A

Galera problema resolvido... agora to ate manjando de cofigurar o xml.. :grin:
Vou por aki um exmplo de como fazer funcionar
Tendo os seguintes diretórios:

webapps
...|--- MinhaAplicacao
......|--- Meu.htm
......|--- WEB-INF
..............|--- web.xml
..............|--- classes
.......................|--- MeuServlet.java
.......................|--- servlet
...........................|--- MeuServlet.class

no web.xml vc coloca

&lt;web-app&gt;
&lt;!-- JSPC servlet mappings start --&gt;

    &lt;servlet&gt;
        &lt;servlet-name&gt;MeuServlet&lt;/servlet-name&gt;
        &lt;servlet-class&gt;servlet.MeuServlet&lt;/servlet-class&gt;
    &lt;/servlet&gt;

    &lt;servlet-mapping&gt;
        &lt;servlet-name&gt;MeuServlet&lt;/servlet-name&gt;
        &lt;url-pattern&gt;/MeuServlet&lt;/url-pattern&gt;
    &lt;/servlet-mapping&gt;

&lt;!-- JSPC servlet mappings end --&gt;

&lt;/web-app&gt;

e no Meu.htm vc faz assim a chamada

&lt;form method=&quot;get&quot; action=&quot;http&#58;//localhost&#58;8080/MinhaAplicacao/MeuServlet&quot;&gt;

Fui !! :cool:

Criado 21 de novembro de 2004
Ultima resposta 24 de nov. de 2004
Respostas 7
Participantes 3