Dou submit no formulario ele envia para lugar errado.SOCORRO

1 resposta
V

Colegas, estou tentando rodar uma primeira Servlet mas estou apanhando aqui com mapeamento via WEB.XML :

De dentro de meu index.jsp eu chamo minha pagina cidade.jsp

Dentro desta página tem um formulario que aponta para minha servlet :

1. <form action="Cidade" method="post">

Dentro do meu WEB.XML ele tá mapeado assim :

1. <servlet>  
   2.     <servlet-name>Cidade</servlet-name>  
   3.     <servlet-class>org.sindieletro.servlet.CidadeSL</servlet-class>  
   4. </servlet>  

   1. <servlet-mapping>  
   2.     <servlet-name>Cidade</servlet-name>  
   3.     <url-pattern>/CidadeSL</url-pattern>  
   4. </servlet-mapping>

mas acontece que ele, ao rodar e clicar no botão salvar, dá o seguinte erro :

1. HTTP Status 404 - /Socios/Paginas/cidade/CidadeSL  
   2. type Status report  
   3.   
   4. message /Socios/Paginas/cidade/CidadeSL  
   5.   
   6. description The requested resource (/Socios/Paginas/cidade/CidadeSL) is not available.  

HTTP Status 404 - /Socios/Paginas/cidade/CidadeSL type Status report message /Socios/Paginas/cidade/CidadeSL description The requested resource (/Socios/Paginas/cidade/CidadeSL) is not available.

Ou seja, ele tenta acessar uma página que não está em /Socios/Paginas/cidade
mas sim em
org.sindieletro.servlet.CidadeSL !!!

Eu fiz o seguinte teste, comentei as linhas que mapeavam a Servlet correspondente ao JSP Cidade lá no Web.XML e ele deu o mesmo erro, foi como se o Container ignorasse o WEB.XML

Ae observei o seguinte, não sei se estou fazendo certo :

Meu sistema tem aquela configuração de Layout Classico : Um frame de topo aonde coloco o Logo, um Frame central aonde colocarei meus Forms e um frame da esquerda aonde montei meu Menu.
Este Menu chama através de <a href="…/cidade/Cidade.jsp >"

Ou seja ele chama o form diretamente via HREF e depois no form tem os botões aonde chamo os Servlets correspondentes via WEB.XML.
Estou achando que o Container está perdendo a referência ai.

Vocês fazer os Menus assim mesmo ? Estou fazendo algo errado ? Por favor me ajudem !!!

Alguem pode me dar uma maozinha nisso ?

abs

Vimieiro

1 Resposta

V

Colegas vejam :

Para resolver o problemas deve-se incluir antes do nome da Servlet, o context root da aplicação, mas não é uma boa pratica incluir o nome diretamente no código /Socios/CidadeSL, a melhor maneira é pegar o nome do contexto dinamicamente para isso dentro da sua página jsp, utiliza a seguinte chamada ${pageContext.request.contextPath}, então a declaração do seu form tem que ficar assim:

<form action ="${pageContext.request.contextPath}/CidadeSL" method=“post”>

Muito obrigado pela força de todos

Vimieiro :slight_smile: :slight_smile: :slight_smile:

Criado 21 de janeiro de 2008
Ultima resposta 28 de jan. de 2008
Respostas 1
Participantes 1