Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/04/2009, 13:53
mochiloplatano
 
Fecha de Ingreso: abril-2009
Mensajes: 2
Antigüedad: 15 años, 1 mes
Puntos: 0
Pregunta Calculadora en JSP/Servlet y necesito vuestra ayuda superexpertos

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.

Nota: (he quitado cosas porque no me dejaba poner hachettp y he puesto ttp y cosas asi)



---------------------------------------

<head>
<base href="<%=basePath%>">

<title>Calculadora.</title>

<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").su bmit()'></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").su bmit()'></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").su bmit()'></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").su bmit()'></th>
<th><INPUT TYPE="button" NAME="/" VALUE="/" onClick='document.getElementById("calculadora").su bmit()'></th></tr>

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


CalculadoraServlet


public class CalculadoraServlet extends ttpServlet {

public CalculadoraServlet() {
super();
}

protected void doPost(ttpServletRequest request, ttpServletResponse response)
throws ServletException, IOException {

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

String pos = (String) request.getParameter("resultado");
String operador = (String) request.getParameter("operador");
ttpSession 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("indxjsp");
if (rd != null) {rd.forward(request, response);
}
}
}