is a client of a java web calculator, when I enter the values of the numbers and click on calculate the result is 0 .
this is index.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Calculadora</title>
</head>
<body>
<hr/>
<div align="center">
<form action="calcular.do" style="font-family:arial">
Numero 1:<br>
<input type="text" name="num1"
style="text-align:right"/><br><br>
Numero 2:<br>
<input type="text" name="num2"
style="text-align:right"/><br><br>
<input type="radio" name="operacion" value="Suma" checked="true" />
Suma<br>
<input type="radio" name="operacion" value="Resta" />
Resta<br>
<input type="radio" name="operacion" value="Multiplicacion" />
Multiplicacion<br>
<input type="radio" name="operacion" value="division" />
Divison<br>
<input type="submit" value="calcular" name="Calcular" />
<br><br>
Resultado:<br>
<input type="text" name="resultado" value="${result}"
style="text-align:right"/><br><br>
</form>
<hr/>
</div>
</body>
</html>
this is servlet calcular.java
package controlador;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(name = "Calcular", urlPatterns = {"/calcular.do"})
public class Calcular extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String number1 = request.getParameter("num1");
String number2 = request.getParameter("num2");
if(number1 !=null && !number1.isEmpty() && number2 !=null && !number2.isEmpty()){
jaxws.SWCalculator_Service service;
jaxws.SWCalculator port;
try{
service= new jaxws.SWCalculator_Service();
port=service.getSWCalculatorPort();
double num1 = Double.parseDouble(number1);
double num2= Double.parseDouble(number2);
double resultado=0;
String operacion = request.getParameter("operacion");
if (operacion.equals("suma")){
resultado = port.suma(num1, num2);
}
if (operacion.equals("resta")){
resultado = port.resta(num1, num2);
}
if (operacion.equals("multiplicacion")){
resultado = port.multiplicacion(num1, num2);
}
if (operacion.equals("division")){
resultado = port.division(num1, num2);
}
double respuesta = resultado;
request.setAttribute("result",respuesta);
request.getRequestDispatcher("index.jsp").forward(request, response);
}
catch (NumberFormatException ex)
{
System.out.println("numero incorrecto\n");
}
catch (Exception ex)
{
System.out.println(ex.getMessage());
}
}
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>
}
the calculator works by entering 2 numbers and selecting by means of an radio button the operation (Addition, subtraction, multiplication and division) and when clicking on submit button the result of the operation must be given.
Try changing value="${result}" to value="${requestScope.result}"
<input type="text" name="resultado" value="${requestScope.result}"
style="text-align:right"/>