Servlets não rodam!

4 respostas
D

aee!

pelo titulo do topico ja deu pra perceber meu problema né… hehehe
entao…

os JSPs funcionam perfeitamente… mas os Servlets não!.. nao sei pq!!

eu vo por tudo o q eu fiz, passo a passo…

primeiro eu criei a estruta de pastas assim:

o conteudo do web.xml (q está dentro do /Teste/WEB-INF) é esse:

aí eu reiniciei o Tomcat e tentei acessar com o seguinte endereço:

E deu erro 404… nao encontrado…

aí olha agora q estranho…
dentro do diretório webapps do tomcat, tem um diretorio examples… onde fica gravado todos os exemplos do tomcat… e eu coloquei o meu Servlet (TesteServlet.java e TesteServlet.class) dentro da pasta /examples/WEB-INF/classes… nao adicionei nada no web.xml do examples e tentei executar com esse endereço:

e rodou!!
pq q rodou dentro da pasta de exemplos do tomcat e nao rodou na minha pasta???

aguem sabe me explicar??

valeu!!

4 Respostas

J

Oi

Daniel, pq tem esse servlet no meio da URl???

tenta assim

T+

G

O problema é que você esqueceu de mapear o diretório de sua Servlet, tente fazer desta maneira:

<servlet> 
	<servlet-name>Teste</servlet-name> 
	<servlet-class>Teste</servlet-class> 
</servlet>  
   <servlet-mapping> 
      <servlet-name>Teste</servlet-name> 
      <url-pattern>/servlet/Teste</url-pattern> 
   </servlet-mapping>

Utilize a tag <servlet-mapping> para mapea-lo, quanto aos exemplos que já vem instalados no Tomcat, foi setado no arquivo web.xml o seguinte comando:

<servlet-mapping>
        <servlet-name>invoker</servlet-name>
        <url-pattern>/servlet/*</url-pattern>
    </servlet-mapping>

Que define a pasta padrão, onde o container irá buscar os servlets

T+,

Gabriel França Campolina

D

valeu caras!!
fucionou juntando as dicas q vcs 2 deram…

consegui acessar o Servlet pela URI:

http://localhost:8080/Teste/Teste

mas agora tem outro problema…
eu fiz mais um Servlet
e cada servlet criado eu tenho q adicionar esse código aki no web.xml né?

<servlet>
        <servlet-name>Teste2</servlet-name>
        <servlet-class>Teste2</servlet-class>
    </servlet>

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

mas sempre q tiver um novo servlet eu tenho q por essas 2 rotinas? <servlet> e <servlet-mapping> ?? pra cada servilet??

tipo nao tem como configurar esse web.xml pra reconhecer todo servlet q eu jogar na pasta /Teste/WEB-INF/classes ??

eu tentei fazer assim:

&lt;servlet-mapping&gt; 
        &lt;servlet-name&gt;invoker&lt;/servlet-name&gt; 
        &lt;url-pattern&gt;/Teste/*&lt;/url-pattern&gt; 
    &lt;/servlet-mapping&gt;

mas nao deu certo…

só mais uma coisinha… hehehe…
tem como configurar o Tomcat pra nao precisar ficar reiniciando o serviço toda vez q eu fizer alguma modificação, incluir Servlets???

Valeu!![/code]

M

bem, respondendo a primeira pergunta, sim, tu tens q mapear cada classe de servlet no teu web.xml! … se estiver usando o NetBeans, ele ja adiciona adiciona pra ti as entradas de cada servlet no web.xml…, com certeza o Eclipse deve ter algum plugin pra isto…

sobre a segunda dúvida, eu não sei te responder, pois tb tentei isto e não consegui (segue meu post):

http://www.portaljava.com/home/modules.php?name=Forums&file=viewtopic&t=3957

…e sobre o tomcat, não sei se tem geito isso não. :roll:

Criado 7 de maio de 2004
Ultima resposta 8 de mai. de 2004
Respostas 4
Participantes 4