You don't have to define any hidden variables. Just add a name to the submits the way abduraooft suggested as well as changing the form method to get, you can even go as far as to give them all the same name. example:
<form name='form1' action='abc.jsp' method="get">
<input type='Submit' value='b1' id='b1' name="which"/>
<input type='Submit' value='b2' id='b2' name="which"/>
<input type='Submit' value='b3' id='b3' name="which"/>
After that... getting the value from JSP shouldn't be all that hard:
String which = request.getParameter("which");
After that... just do whatever with the variable which (that contains the value of the clicked button). I don't see where the problem is with the offered solutions.