Problemas com Servlets e web.xml

8 respostas
T

Oi , estou usando Tomcat 5 , e tenho a seguint estrutura de diretorios:

-Modelagem
      -- src
           -- Servlet
                    - ChamadaCMD.java
      -- web
           -- WEB-INF
                   -- lib
                   - web.xml
           -- jsp
                   - index.jsp

No index.jsp tenho o seguinte form:

<form method="POST" name="formNovaChamada" action="/Chamada">

Como deve ser o meu arquivo web.xml para funcionar o meu form??
Estou tendo o seguinte erro:

type Status report

message /Chamada

description The requested resource (/Chamada) is not available.

Se algum pudesse me ajudar…

Obrigado

8 Respostas

M

levando em consideracao q tu tens um servlet de nome Chamada, no pacote x.y, tu teria o seguinte web.xml

<servlet>
  <servlet-name>chamada</servlet-name>
  <servlet-class>x.y.Chamada</servlet-class>
</servlet>
<servlet-mapping>
  <servlet-name>chamda</servlet-name>
  <url-pattern>/chamada</url-pattern>
</servlet-mapping>

e poderia chamar com http://localhost:8080/suaApp/chamada

T

tenho um servlet que esta em src.Servlet.ChamadaCMD

dai fiz o seguinte web.xml, e na action do form coloquei “/chamadacmd”

<servlet> 
       <servlet-name>chamadacmd</servlet-name> 
       <servlet-class>src.Servlet.ChamadaCMD</servlet-class> 
    </servlet> 

    <servlet-mapping> 
       <servlet-name>chamadacmd</servlet-name> 
       <url-pattern>/chamadacmd</url-pattern>  
    </servlet-mapping>

e ainda estou com o mesmo erro:

type Status report

message /chamadacmd

description The requested resource (/chamadacmd) is not available.

o que sera isso??!!

Estevão

M

cara, eu acho q o problema esta nesses teus pacotes… o /src nao é só uma pasta q tem os codigos? escreva teus pacotes em letras minusculas… o teu problema é com convenção java… eu diria… deixe somente a classe em maiusculo… ah, e salva o PACOTE em WEB-INF/classes… nao o /src todo

T

A minha estrutura de diretorios da minha aplicação é exatamente esta.

Modelagem
  Modelagem
     src
       servlet
           ChamadaCMD.java
     web
       jsp
           index.jsp
       WEB-INF
           web.xml
           classes
                   src
 	              servlet
                         ChamadaCMD.class

                   web
                      jsp
                         index.jsp
		      WEB-INF
                         classes
                         lib
		   lib

no meu index.jsp, tenho um form que é o seguinte:

<form method="POST" name="formNovaChamada" action="/ChamadaCMD">

meu arquivo web.xml é o seguinte:

<servlet>
          <servlet-name>ChamadaCMD</servlet-name> 
          <servlet-class>src.servlet.ChamadaCMD</servlet-class> 
       </servlet> 

      <servlet-mapping> 
         <servlet-name>ChamadaCMD</servlet-name> 
         <url-pattern>/ChamadaCMD</url-pattern>  
      </servlet-mapping>

quando do submit no form, da o seguinte erro:

type Status report

message /ChamadaCMD

description The requested resource (/ChamadaCMD) is not available.

Como faço isso funcionar que ja to a 3 dias tentado fazer isso funcionar e nunca funciona!!!

Valeu

M

3 dias realmente é muito tempo… hehehe, ok tevinho, vamos colocar esse fucking servlet pra funcionar, e é agora! hahaha… cara, siga exatamente oq eu vou te descrever ok…?

escreva o seguinte package pro teu serlvet:

package foo;

compile, e salve a classe junto do pacote em /WEB-INF/classes, veja bem, SÓ o pacote, nao o /src!!! ficando:

/WEB-INF/classes/foo/ChamadaCMD.class

ok, agora é só alterar o conteudo do web.xml q te passei para o pacote foo e mandar ver…! coloquei o nome “foo” só por exemplo

T

Bah… Bateu o desespero, troquei de tomcat, coloquei o TomCat 4, e dentro do webapps, coloquei minha aplicacao, que se chama “MODELAGEM” e dentro de modelagem tenho meus fontes, uma pasta web que tem: jsp ( minhas paginas ), e WEB-INF(classes, lib, web.xml)
e outra pasta chamda src que tem: servlet(que tem minha classe Chamada.java)

as classes estao compíladas da seguite maneira dentro de
WEB-INF/classes/src (tem ai a mesma estrutura que tem ali em cima)

Meu form tenho:
form method=“POST” name=“formNovaChamada” action="/chamda"

no web.xml tenho:

<servlet>
    <servlet-name>chamada</servlet-name>
    <servlet-class>src.servlet.ChamadaCMD</servlet-class>
  </servlet>
  
  <servlet-mapping>
    <servlet-name>chamada</servlet-name>
    <url-pattern>/chamada</url-pattern>
  </servlet-mapping>

Resultado: Não funciona, quando chamo meu servlet pelo JSP, tenho o erro:
type Status report

message /chamda

description The requested resource (/chamda) is not available.

Que tem de errado nessa m…

Valeu

D

Olha tchê… com action=/chamda e descritor da servlet como chamada e o arquivo como ChamadaCMD tu não vai longe mesmo !

Segue o exemplo que o Matheus te passou que vai funcionar…

Tipo… o que faz um diretorio src dentro do diretorio classes ??? tua package se chama src também ??

Pega um exemplo pronto que funcione e preste atenção nos detalhes (maiusculas e minusculas, estrutura de diretorios, etc)

[]s

Douglas Falcao

M

po cara, ahehea… faz como no web.xml q te passei… tira esse /src de /classes… tu vai coloca ali os .class e nao os .java … :roll:

Criado 30 de outubro de 2004
Ultima resposta 3 de nov. de 2004
Respostas 8
Participantes 3