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:
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 {
}
}
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<style type="text/css">
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;
}
</style>
<title>Calculadora</title>
</head>
<body>
<h1>Insira o que quer calcular:</h1><br>
<form action="calculadoraExemplo1" method="post">
<input name="operador1" type="text">
<select class="selectOperador" name="operando">
<option>+</option>
<option>-</option>
<option>/</option>
<option>*</option>
</select>
<input name="operador2" type="text">
<input type="submit" value="Calcular">
</form>
</body>
</html>
<?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>