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.