import javax.servlet.*; import javax.servlet.http.*; import java.io.*; import java.util.Properties; import javax.naming.*; import com.ejbhome.examples.*; public class BonusServlet extends HttpServlet { BonusHome homebonus; Bonus theBonus, rec1; CalcHome homecalc; Calc theCalculation; int socsec = 0, retsocsec = 0; int bonus = 0, retbonus = 0; public void init(ServletConfig config) throws ServletException{ try{ Properties env = new Properties(); env.put("java.naming.factory.initial", "com.ejbhome.naming.spi.rmi.RMIInitCtxFactory"); Context ctx = new InitialContext(env); homebonus = (BonusHome)ctx.lookup("bonuses"); homecalc = (CalcHome)ctx.lookup("calcs"); } catch (Exception NamingException) { NamingException.printStackTrace(); } } public void doGet (HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException { PrintWriter out; response.setContentType("text/html"); String title = "EJB Example"; out = response.getWriter(); out.println(""); out.println(title); out.println(""); //Create two records try{ socsec = 555220000; bonus = 200; for(int i = 1; i < 3; i++){ theBonus = homebonus.create(socsec, bonus); retbonus = theBonus.getBonus(); retsocsec = theBonus.getSocSec(); out.println("

Record " + i + "

"); out.println("

Soc Sec: " + retsocsec + "

"); out.println("

Bonus Total: " + retbonus + "

"); socsec += 1; } } catch (Exception CreateException) { CreateException.printStackTrace(); } //Retrieve a record try{ BonusPK PK = new BonusPK(555220000); out.println("

Calculate Bonus for " + PK + "

"); rec1 = homebonus.findByPrimaryKey(PK); retbonus = rec1.getBonus(); out.println("

Bonus Before: " + retbonus + "

"); //Calculate bonus int base = 100; int perf=5, company=2; theCalculation = homecalc.create(); int calc = theCalculation.calcBonus(base, perf, company); System.out.println(calc); rec1.addBonus(calc); retbonus = rec1.getBonus(); out.println("

Bonus After: " + retbonus + "

"); } catch (Exception FinderException) { FinderException.printStackTrace(); } out.println(""); out.close(); } public void destroy() { System.out.println("Destroy"); } }