Calculadora Servlet e JSP

E ai Pessoal, bom dia !!!
Seguinte gente preciso fazer uma calculadora SERVLET e JSP!
Estou com TODAS AS DIFICULADES POSSIVEIS, heheheheheh
1° preciso que, quando clicar um botão ele leia e quarde em uma session.
como quardo em uma session
2° depois quando clicar outro botão concatene com o botão que ja foi clicado no caso ex: “1”,“2” = 12 hehehe
como concateno ? como passar parametros??
3°dai clicar no botão da operação, clicar em mais botões de numeros.
4°e quando clicar em “=” sai o resultado.

Bom a unica coisa que consegui ate agora foi isso que vcs veram logo abaixo!!

Se alguem puder me dar puta de uma ajuda!!!

Abraço a todos.

Obs: estou começando a programar em Servidores Web fazem 3 semanas, tipo “estou no programa do FAUSTÃO, se vira nos 30” !! preciso fazer isso para uma vaga de emprego entao gente sei que 3 semanas nao da pra fazer milagres, estou pesquisando mto, mas ta osso fazer isso! se alguem puder VLW.

package dados;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Calcteste extends HttpServlet {
	private static final long serialVersionUID = 1L;
	int res = null;
  
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doPost(request,response);
	}
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		try
         { 
         if(request.getParameter("op") != null)
             {
        	  
                 Calcteste    calculadora =     new Calculo();
                 int num1 =Integer.parseInt((String)request.getParameter("num1"));
                 int num2 =Integer.parseInt((String)request.getParameter("num2"));
                 String op = request.getParameter("op");
                 res = calculadora.calcula(num1, num2, op);
             	
                 switch(op.charAt(0))
     	       {
     	       case '+':
     	           res = ( num1 + num2 );
     	           break;

     	       case '-':
     	           res = ( num1 - num2 );
     	           break;

     	       case '*':
     	           res = ( num1 * num2 );
     	           break;

     	       case '/':
     	           res = ( num1 / num2 );
     	           break;
     	       }     	       
             }
            request.getRequestDispatcher("/pagina.jsp").forward(request,response);
         }
             catch ( Throwable inputMismatchException ) {
           
             }
	}

}

Minha JSP com codigos HTML

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Calculadora</title>
</head>
<body>
<form method=get action="Calcteste">
<p align="center" style="width:15 ;font-weight:bold;
color:red;">Calculadora</p>

<input type="text" name="num1"><br />
<input type="text" name="num2"><br />

<input type="radio" name="op" value="+"> 
<input type="radio" name="op" value="-"> 
<input type="radio" name="op" value="*"> 
<input type="radio" name="op" value="/">
<input type="submit" name="n1" value="1"> 
<input type="submit" name="n2" value="2">
<input type="submit" name="n3" value="3">
<input type="submit" name="n4" value="4">
<input type="submit" name="n5" value="5">
<input type="submit" name="n6" value="6">
<input type="submit" name="n7" value="7">
<input type="submit" name="n8" value="8">
<input type="submit" name="n9" value="9">
<input type="submit" name="n0" value="0">

<%=res %>

</body>
</html>