Szoftverfejlesztés J2EE platformon - Labor: EJB 2.1

A VIK Wikiből


Berényi Zsolt, zberenyi@aut.bme.hu

Projekt létrehozása

  • Netbeans 5.5 beta 2-t inditunk
    • Runtime fulon el kell inditani a Sun Java System Application Server-t
  • Projects fulon jobb click, New Enterprise Project
    • Name: Calculator,
    • J2EE 1.4, sima client is kell
    • ejb projekten belul New Session Bean
    • name: Calculator, package: calculatorapp.ejb, remote interface is kell
    • build az Enterprise projekten
  • Files fulon megjelennek a generalt forrasok
    • Calculator / Calculator-ejb / src / java / calculatorapp / ejb

Session bean

  • CalculatorBean.java-t megnyitjuk, forraskodon right click, EJB methods / Add business method
    • int add(int op1, int op2)-t osszekattintani, local es remote interface is kell
    • CalculatorLocal interfesz nem valtozott, csak a CalculatorLocalBusiness
    • irjuk meg az add metodust

Meghívás vastag kliensből

  • Files Calculator / Calculator-app-client / src / java Calculator / Main.java
  • forrason jobb gomb, Enterprise Resources / Call Enterprise Bean
    • kivalasztjuk a Calculator session beant es atallitjuk remote interfeszre, mert vastag kliensbol csak igy erheto el
    • generalodik egy lookupCalculatorBean() metodus
  • hivas:
public static void main(String[] args) {
	 Main main = new Main();
	 CalculatorRemote calc = main.lookupCalculatorBean();
	 int result;
	 try {
		  result = calc.add(12, 34);
		  System.out.println(result);
	 } catch (RemoteException ex) {
		  ex.printStackTrace();
	 }
}

Futtatás

  • Enterprise projecten build majd deploy
  • properties-ben run fulon beallitjuk, hogy a vastag kliens induljon
  • Run Project

Meghívás servletből

  • Calculator-war / New / Servlet
    • Name: CalcServlet
  • Enterprise Resources / Call Enterprise Bean

* CalculatorSB, local interfesz eleg

  • processRequest-ben kommentet szuntessuk meg, es szurjuk be a kovetkezo kodot:
int result = lookupCalculatorBean().add(45,879);
out.println("Eredmeny: " + result);

Servlet futtatása

  • Startup projektet allistuk vissza a webes projektre
  • Calculator / Build, Deploy majd Run
  • A bongeszoben irjuk az url utan, hogy CalcServlet

Önálló feladat

  • Stateful session bean-ben tarolodik egy vasarloi kosar
  • Elemei:
class Item implements Serializable {
	 Integer id;
	 String name;
	 double price;
}
  • Session metodusok:
    • void addItem(Item newItem); // 1000-nel dragabbat ne adjon hozza
    • Collection getItems();
  • Servletbol meg lehet nezni a kosar tartalmat es lehet bele pakolni

-- Peti - 2006.09.29.