Java - Calculadora JSP/Servlet

   
Vista:

Calculadora JSP/Servlet

Publicado por paco (1 intervención) el 03/04/2009 23:35:52
Pues me han mandado hacer una calculadora con MyEclipse y en Java estoy más verde que la hierba asi que me estoy haciendo mucho lio.

Tengo que hacerlo en un JSP y la parte de calculos en el Servlet porque lo quieren así :S he empezado a hacer cosas consigo que los valores me salgan al pulsar los numeros en la pantallita pero poco más. Me han dicho que tengo que hacer un submit al servlet con los botones de operación y una variable que recoja si es el numero1 o numero2 y que luego eso vuelva a salir por la pantalla ya estoy medio loco.

Os pongo lo que he hecho que seguro que hay muchas burradas y cosas sin explicación así que no importa cualquier cosa que me digais y que creais que es mejor será bien recibida gracias.


[B][U]index.jsp[/U][/B]

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>Calculadora.</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->

<script type="text/javascript">
function muestrapantalla(){
var resultado = document.getElementById("resultado");

resultado.value = resultado.value + window.event.srcElement.value;
}
</script>
</head>

<body>
<FORM Id="calculadora" ACTION="CalculadoraServlet" METHOD="POST">
<table bgColor="#c0c0c0" border="2" align="center" cellpadding="2" cellspacing="2">

<tr><th colspan=4><INPUT TYPE="text" NAME="resultado" Id="resultado" size="20" VALUE="" maxlength="10"></th></tr>

<tr><th><INPUT TYPE="button" NAME="1" VALUE="1" onClick="muestrapantalla()"></th>
<th><INPUT TYPE="button" NAME="2" VALUE="2" onClick="muestrapantalla()"></th>
<th><INPUT TYPE="button" NAME="3" VALUE="3" onClick="muestrapantalla()"></th>
<th><INPUT TYPE="button" NAME="operador" VALUE="+" onClick='document.getElementById("calculadora").submit()'></th></tr>

<tr><th><INPUT TYPE="button" NAME="4" VALUE="4" onClick="muestrapantalla()"></th>
<th><INPUT TYPE="button" NAME="5" VALUE="5" onClick="muestrapantalla()"></th>
<th><INPUT TYPE="button" NAME="6" VALUE="6" onClick="muestrapantalla()"></th>
<th><INPUT TYPE="button" NAME="operador" VALUE="-" onClick='document.getElementById("calculadora").submit()'></th></tr>

<tr><th><INPUT TYPE="button" NAME="7" VALUE="7" onClick="muestrapantalla()"></th>
<th><INPUT TYPE="button" NAME="8" VALUE="8" onClick="muestrapantalla()"></th>
<th><INPUT TYPE="button" NAME="9" VALUE="9" onClick="muestrapantalla()"></th>
<th><INPUT TYPE="button" NAME="operador" VALUE="*" onClick='document.getElementById("calculadora").submit()'></th>

<tr><th><INPUT TYPE="button" NAME="." VALUE="." onClick="muestrapantalla()"></th>
<th><INPUT TYPE="button" NAME="0" VALUE="0" onClick="muestrapantalla()"></th>
<th><INPUT TYPE="button" NAME="operador" VALUE="=" onClick='document.getElementById("calculadora").submit()'></th>
<th><INPUT TYPE="button" NAME="/" VALUE="/" onClick='document.getElementById("calculadora").submit()'></th></tr>

<tr><th colspan=4><INPUT TYPE="Reset" NAME="borrar" VALUE="cls"></th></tr>
</table>
</FORM>
</body>
</html>

[B][U]CalculadoraServlet[/U][/B]

package paqueteejemplo;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class CalculadoraServlet extends HttpServlet {

public CalculadoraServlet() {
super();
}

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

float resultado = Float.parseFloat(request.getParameter("resultado"));

String pos = (String) request.getParameter("resultado");
String operador = (String) request.getParameter("operador");
HttpSession sesion = request.getSession(true);

float num1=0;
float num2=0;

if (pos==""){
float numero = Float.parseFloat(request.getParameter("resultado"));
sesion.setAttribute("numero", new Float(numero));
resultado= num1;
}
else {
float numero = Float.parseFloat(request.getParameter("resultado"));
sesion.setAttribute("numero", new Float(numero));
resultado= num2;
}

if (operador == "+"){
resultado = num1 + num2;
}
else if (operador == "-"){
resultado = num1 - num2;
}
else if (operador == "*"){
resultado = num1 * num2;
}
else if (operador == "/"){
resultado = num1 / num2;
}
else if (operador == "="){
resultado = num1;
pos="";
};

//sesion.setAttribute = ("resultado", new Float (resultado));

RequestDispatcher rd = request.getRequestDispatcher("index.jsp");
if (rd != null) {rd.forward(request, response);
}
}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Calculadora JSP/Servlet

Publicado por alex (1 intervención) el 16/11/2010 10:23:38
Bueno tu ejemplo de la calculadora me dio una idea, la cual era implementar un teclado para insertar valores sobre una textfield de busqueda y al hacer la busqueda mostrar resultado.

La duda que tengo es como hacer para que el valor que presione se muestre en el textfield (lo mismo que pasaba cuando presionabas un boton y se mostraba en el textfield que venia en el ejemplo original)

Si me puedes dar una idea, lo agradeceria mucho

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar