Error ao abrir um servlet ( pagina em branco)

E ae galera blz?

Bom, nesse semestre na facul estou aprendendo sobre Jsp e Servlets.

Em um exercicio tinha que fazer uma pagina em html com 3 inputs ( 2 campos de operandos e 1 de operador) e um botao submit para fazer um calculo basico de calculadora. Foi pedido conscistencias tb como nao permitir divisao por zero, essas coisas.

Fiz no eclipse. Fiz a pagina em html com um form que no action passa o nome do mapeamento ( la no url-mapping) do servlet.
Fiz o servlet tb e teoricamente funciona.

Tipo:
Quando executo o servlet sozinho pelo Tomcat no Eclipse ele carrega ( abre uma pagina que eu queria mas com, claro, todos os erros de incosistencia mostrados ja que nao foi passado nenhum parametro antes).
Quando executo o .html tb eh executado a pagina. Mas ao clicar no botao submit ela abre uma pagina em branco e o servlet simplesmente parece nao executar. Engracado eh que se eu clico no endereco que abriu após clicar no botao submit o servlet eh carregado, claro, com os erros de inconsistencia. Assim, imagino eu, mostrando que pelo menos o html ta achando o servlet.

Alguem sabe o que poderia estar acontecendo pra pagina estar em branco?
Obrigado desde ja…

Codigo do servlet:

[code]package servlet;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class CalculadoraServlet extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
static final long serialVersionUID = 1L;

public CalculadoraServlet() {
	super();
}   	

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	PrintWriter out = response.getWriter();
	response.setContentType("text/html");
	out.println("<html>"+
			"<head>"+
			"<title>");
	out.println("Calculadora");
	out.println("</title>"+
			"</head>"
			+"<body>");
	out.println("<h1>Resultado da Conta:</h1>");
	
	double oper1=0.0;
	double oper2=0.0;
	
	
	String operador1 = request.getParameter("operador1");
	
	try {
		if (operador1!=null) {
			oper1= Double.parseDouble(operador1);
		}
		else {
			out.println("Primeiro operador inexistente<br>");
		}
	} catch (NumberFormatException e) {
		out.println("Operador 1 inv?lido<br>");
	}
	
	String operador2 = request.getParameter("operador2");
	
	
	try {
		if (operador2!=null){
			oper2 = Double.parseDouble(operador2);
		}
		else {
			out.println("Segundo operador inexistente<br>");
		}
	} catch (NumberFormatException e) {
		out.println("Operador 2 inv?lido<br>");
	}
	
	String operando = request.getParameter("operando");
	
	if (!("+".equals(operando) || "-".equals(operando) || "*".equals(operando) || "/".equals(operando))){
		out.println("Operador inv?lido<br>");
		operando=null;
	}
	
	if ("/".equals(operando) && oper2==0.0){
		out.println();
	}
	
	if (operador1!=null && operador2!=null && operando!=null){
		out.println(operador1+" "+operando+" "+operador2);
	}
	if ("+".equals(operando))
		out.println(oper1+oper2);
	else if("-".equals(operando))
		out.println(oper1-oper2);
	else if ("*".equals(operando))
		out.println(oper1*oper2);
	else if ("/".equals(operando))
		out.println(oper1/oper2);
	
	out.println("<br><a href='calculadora.html'>Voltar</a><br>");
	out.println("</body></html>");
		
		
			
}  	

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}   	  	    

}
[/code]

Codigo da pagina:

[code]

body { background: black; font-family: Arial, verdana; }

h1{
font-size: 20px;
color: red;
}

input {
width:100px;
background-color:#dddddd;
}

select {
width: 100px;
background-color:#dddddd;
}

.selectOperador {
width: 40px;
background-color:#dddddd;
}

Calculadora

Insira o que quer calcular:


+ - / * [/code]

Arquivo Xml:

<?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <display-name> CalculadoraExemplo1</display-name> <servlet> <description> </description> <display-name> CalculadoraServlet</display-name> <servlet-name>CalculadoraServlet</servlet-name> <servlet-class> servlet.CalculadoraServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>CalculadoraServlet</servlet-name> <url-pattern>/calculadoraExemplo1</url-pattern> </servlet-mapping> <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>

po mano seu erro e uma coisa muito boba mais perceptivel veja so tem 2 metodos de envio para servlet o doGet e doPost no seu formulario html vc enviar com

“METHOD = POST”

e o seu codigo esta NO seu metodo doGet.

sugestão mudao o codigo para o doPost ou mudar o method do form para doGet.

espero ter ajudado

o problema parece estar aqui:

         &lt;form action="calculadoraExemplo1" method="post"&gt;  

vc esta enviando o formulario via metodo “post” o que siginifica que quem vai receber a requisição sera o metodo doPost do seu servlet.
Como vc so implementou o metodo doGet, a pagina vai ficar em branco.
vc pode chamar o doGet dentro do doPost p/ resolver:

doGet(request, response);

se vc não entendeu pq disso, de uma estudada nos metodos http.

[]´s

Alan e Jgbt brigadao mesmo!

Eu to estudando “por fora” no Use a cabeca da O’Reily mesmo e entendi essa parte Http. Foi erro besta mesmo ( to fazendo o exercio no trampo aki meio rapidin no note) e nem percebi. Mudei mil coisas e no final era coisa boba ( pensei até que era erro de configuracao no Tomcat pq demorei um pouco a entender como ele funciona no Os X Leopard).

Brigadao mesmo!!!