Duvida básica sobre Servlets - deployment descriptor - RESOLVIDO

0 respostas
kdashu

Boa tarde pessoal,

Estou até com vergonha de perguntar, mas já quebrei tanto a cabeça pra tentar achar o problema que agora desisti. Seguinte: Criei um exemplo simples sobre Servlets e inseri um formulário.

Problema que quando eu dou o submit, em vez dele ir para a página “CadastraFuncionarioServlet” ele tenta achar um caminho que é “CadastrarFuncionario”, provavelmente alguma definição feita no passado, mas não encontro onde editar isso, ou como ele está apontando para este! :oops:

Tenho um projeto similar funcionando beleza, e este não, continua apontando para um servlet que não existe “CadastrarFuncionario”. No projeto que funciona nem foi necessario configur o web.xml!

Alguém pode me clarear o que está errado?

Segue como estão os arquivos:

Obrigado

index.html:

<form name="cadastramento" method="post" action="Buda">
	<p>Nome: <input type="text" name ="nome" size = "30"></input></p>
	<p>Endereço: <input type="text" name="endereco" size="30"></input></p>
	<p>Data de Nascimento: <input type="text" name="dataNascimento" size="11"></input>(dd/mm/aaaa)</p>
	<p>Salário: R$<input type="text" name="salario" size="10"></input></p>
	<p>Sexo: <input type="radio" name="radio_sexo" value="M">Masculino</input><input type="radio" name="radio_sexo" value="F">Feminino</input></p>
	<p>Funcionário temporário? <input type="checkbox" name="temporario" value="true"></input></p>
	<p><input type="submit" value="Cadastrar"></input></p>
</form>

servlet:

package meupacote;

import java.io.IOException;
import java.io.PrintWriter;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class CadastraFuncionarioServlet
 */

@WebServlet("/CadastraFuncionarioServlet")
public class CadastraFuncionarioServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
           
    public CadastraFuncionarioServlet() {
        super();        
    }
	
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		this.processaOperacao(request, response);
	}	
	
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		this.processaOperacao(request, response);
	}
	
	//recebe os parametros da requisição que chamou esta página
	private void processaOperacao(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		String nome = request.getParameter("nome");		
		String endereco = request.getParameter("endereco");
		String sSalario = request.getParameter("salario");
		String sDataNascimento = request.getParameter("dataNascimento");
		String sSexo = request.getParameter("sexo");
		String sTemporario = request.getParameter("temporario");
		
		Funcionario funcionario = null;
		DateFormat df = new SimpleDateFormat("dd/mm/yyyy");

			//conversao de tipos
		try {
			Double salario = Double.parseDouble(sSalario);
			Date nascimento = df.parse(sDataNascimento);
			Character sexo = sSexo.charAt(0);
			Boolean temporario = Boolean.parseBoolean(sTemporario);
			funcionario = new Funcionario(nome, endereco, salario, nascimento, sexo, temporario);
			
		} catch(Exception e){
			throw new ServletException(e);
		} 
		
			//cadastra novo funcionario na lista
		if (funcionario != null){
				//lista funcionarios cadastrados após o cadastro
			BancoDeDados.cadastra(funcionario);
				//define o tipo de saida
			response.setContentType("text/html");
			PrintWriter saida = response.getWriter();
			saida.write("<html><head><title>Relatorio de Fucnionarios Cadastrados</title></head></body>");			
				//ol = lista ordenada(ordened list)
			saida.write("<h2>Funcionarios cadastrados</h2><ol>");	
			
			List<Funcionario> lista = BancoDeDados.lista();
				//para cada funcionario de lista, escreve ele em um paragrafo de lista
			for (Funcionario f: lista) saida.write("<li><p>" + f.getNome() + "</p></li>");
				//fecha lista ordenada
			saida.write("</ol>");
				//<hr/> = linha horizontal
			saida.write("<p> <hr/> </p> <p> <a href = 'index.html'> Voltar para o formulario de cadastramento " +
					"</a> </p> </body> </html>");
		}
		
		
		
	}
}

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<!--<servlet>   
	   <description></description>   
	   <display-name>CadastraFuncionarioServlet</display-name>   
	   <servlet-name>CadastraFuncionarioServlet</servlet-name>   
	   <servlet-class>br.com.martinelli.CadastraFuncionarioServlet</servlet-class>   
	</servlet>   
	<servlet-mapping>   
	   <servlet-name>CadastraFuncionarioServlet</servlet-name>   
	   <url-pattern>/CadastraFuncionarioServlet</url-pattern>   
	</servlet-mapping>  -->
	
	
  <display-name>ExemplosHTML</display-name>
  <welcome-file-list>   
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
</web-app>

Caraca, que vergonha. Achei o problema - o auto-atualizar páginas do meu navegador !
Uso o maxthon, e costumo deixar múltiplas abas abertas para consulta. Fato que aqui no GUJ as páginas são recarregadas de tempo em tempo, e o bocó aqui marcou o auto-desabilitar pra não ouvir aquele barulhinho chato sabe.

Só me dei conta quando testei no Firefox.
Gracias, agora está normal! valeu

Criado 17 de março de 2012
Respostas 0
Participantes 1