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;
}
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>