Stateless Session Bean

Hasonló dokumentumok
Hello World Servlet. Készítsünk egy szervletet, amellyel összeadhatunk két számot, és meghívásakor üdvözlőszöveget ír a konzolra.

Java Server Pages - JSP. Web Technológiák. Java Server Pages - JSP. JSP lapok életciklusa

Segédanyag: Java alkalmazások gyakorlat

Adatkezelés. 11. előadás (Entity Beans)

Segédanyag: Java alkalmazások gyakorlat

JavaServer Pages (JSP) (folytatás)

Kézikönyv ABAS-TOOLS használata

JNDI - alapok. Java Naming and Directory Interface

Programozási technológia

Biztonság java web alkalmazásokban

Swing GUI készítése NetBeans IDE segítségével

Adatbázisok webalkalmazásokban

WCF, Entity Framework, ASP.NET, WPF 1. WCF service-t (adatbázissal Entity Framework) 2. ASP.NET kliens 3. WPF kliens

Web-fejlesztés NGM_IN002_1

Internet TV Broadcaster kézikönyv

Adabáziselérés ODBC-n keresztül utasításokkal C#-ban

Helyes-e az alábbi kódrészlet? int i = 1; i = i * 3 + 1; int j; j = i + 1; Nem. Igen. Hányféleképpen lehet Javaban megjegyzést írni?

Hello, EJB! Egy egyszerű példa

Tartalom. Az EJB 2.1 problémái Az EJB 3 megoldásai

libgdx alapok, első alkalmazás

OOP: Java 8.Gy: Abstract osztályok, interfészek

A WEB programozása - JSP1 dr.gál Tibor őszi félév

PDF. Tartalomjegyzék 1/21

Programozási nyelvek Java

Enterprise Java Beans. EJB - Általános bevezető

Java Programozás 9. Gy: Java alapok. Adatkezelő 5.rész

Webshop készítése ASP.NET 3.5 ben I.

Osztályok. construct () destruct() $b=new Book(); $b=null; unset ($b); book.php: <?php class Book { private $isbn; public $title;

CREATE TABLE student ( id int NOT NULL GENERATED ALWAYS AS IDENTITY PRIMARY KEY, name varchar(100) NOT NULL, address varchar(100) NOT NULL )

9. Gyakorlat: Network Load Balancing (NLB)

Adatbázis alapú rendszerek gyakorlat Adatbázis alapú alkalmazásfejlesztés Java, C# környezetben

Enterprise JavaBeans. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Az Enterprise JavaBeans

OOP és UML Áttekintés

Internetkonfigurációs követelmények. A számítógép konfigurálása. Beállítások Windows XP alatt

10. Gyakorlat: Alkalmazások publikálása Remote Desktop Szervízen keresztül

BioAdmin 4.1 könnyű telepítés csak Kliens használatra

Az osztályok csomagokba vannak rendezve, minden csomag tetszőleges. Könyvtárhierarhiát fed: Pl.: java/util/scanner.java

Alap számológép alkalmazás

1 Rendszerkövetelmények

Vé V g é r g e r h e a h j a tá t s á i s s z s ál á ak a Runnable, Thread

Enterprise JavaBeans 1.4 platform (EJB 2.0)

Java. Java Message Service. ANTAL Margit. JMS API technológia. ANTAL Margit. Sapientia - EMTE

Dinamikus adatszerkezetek. 2D generikus tömb: C++ 2D generikus tömb: C++

Dinamikus adatszerkezetek. 2D generikus tömb: C++ 2D generikus tömb: C++ 2D tömb: Java versus C++ 2D tömb: Java.

Szoftvertechnolo gia gyakorlat

Kivételkezelés, beágyazott osztályok. Nyolcadik gyakorlat

Java gyakorlat feladatai e s megolda sai ( )

Objektumorientált programozás C# nyelven

Debreceni Egyetem Informatikai Kar JAVA ENTERPRISE COMPUTING

Java és web programozás

Java programozási nyelv /ősz 9. óra. Java Server Pages. JSP technika alapjai

PC Connect. Unique ewsletter. program leírás

Adatbázis-kezelés ODBC driverrel

A JavaServer Pages (JSP)

Szabóné Nacsa Rozália. Feladat. Készítsünk el egy üres FormView alapú alkalmazást és építsünk köré egy súgó környezetet.

1. Gyakorlat: Telepítés: Windows Server 2008 R2 Enterprise, Core, Windows 7


Bevezetés a Seam keretrendszer használatába

A MOKKA hitelesítő szoftver telepítése és használata

EFER, TELEPÍTÉSI UTASÍTÁS EFER PAYMENT GATEWAY

OCSP Stapling. Az SSL kapcsolatok sebességének növelése Apache, IIS és NginX szerverek esetén 1(10)

Web programozás. 3. előadás

Grafikus keretrendszer komponensalapú webalkalmazások fejlesztéséhez

Java Programozás 8. Gy: Java alapok. Adatkezelő 4.rész

Hozzunk létre két rekordot a táblában, majd véglegesítsünk (commit):

Java programozási nyelv 6. rész Java a gyakorlatban

Google Web Toolkit. Elek Márton. Drótposta kft.

Johanyák Zsolt Csaba: Grafikus felület programozása. Copyright 2008 Johanyák Zsolt Csaba

JEE tutorial. Zsíros Levente, 2012

15.4.2a Laborgyakorlat: Böngésző beállítása

Netlock Kft. által kibocsátott elektronikus aláírás telepítése Windows XP SP3 Internet Explorer 8 böngészőbe

Kivételkezelés, naplózás. Exception handling, logging

WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK

web works hungary Rövid technikai tájékoztató a webhosting szolgáltatásról. (PLESK szerver)

Tartalom DCOM. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés

7. K: JAVA alapok Konzultáció

Objektum Orientált Programozás. 11. Kivételkezelés 44/1B IT MAN

Programozási nyelvek Java

A JavaServer Pages (JSP)

A program telepítése. A letöltés lépései: 1. nyissa meg a WEB-oldalt, majd válassza a Letöltés menüpontot a felső sorban:

OpenVPN kliens telepítése a RITEK Zrt. szervereinek eléréséhez.

Thermo1 Graph. Felhasználói segédlet

Collections. Összetett adatstruktúrák

03. AZ F-SECURE POLICY MANAGER TELEPÍTÉSI LÉPÉSEI

beállítása Outlook kliensen. Magyar verzió 1.0

JAVA webes alkalmazások

Megújított tanúsítvány cseréje a Windows tanúsítványtárban

OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN. vizsgatételek

MEGÚJÍTOTT GIROLOCK_CA TANÚSÍTVÁNYCSERE

CREATE {DATABASE SCHEMA} [IF NOT EXISTS] db_name [create_specification]

A JavaServer Pages (JSP)

CGS Civil 3D Extensions 2012 telepítése

Adatbányászat és Perszonalizáció architektúra

Szervlet-JSP együttműködés

BaBér. Bérügyviteli rendszer. Telepítési segédlet 2014.

Netscape Messenger levelező kliens beállítása POP3 típusú levelezéshez

Felhasználói leírás a DimNAV Server segédprogramhoz ( )

Eseményvezérelt alkalmazások

Informatika terméktervezőknek

Java Programozás 7. Gy: Java alapok. Adatkezelő 3.rész

Átírás:

Stateless Session Bean Készítsünk egy stateless session bean-t, amellyel összeadhatunk két számot. Hozzunk létre egy Dynamic Web projectet File New Other itt a következőket kell választani: Web Dynamic Web Project A megjelenő párbeszédablakban adjuk meg a projekt nevét, ez a példában StatelessExample.

Új Session Bean létrehozását a következő menüpontban lehet megtenni: File New Other itt a következőket kell választani: EJB Session Bean

A megjelenő párbeszédablakban a bean paraméterei állíthatók be. A példában a csomag név org.ait.beans, az osztály neve pedig CalculatorBean. Az állapotok közül válasszuk a Stateless-t. Az üzleti interfészek résznél jelöljük be a Local interfész létrehozását. Majd kattintsunk a Next gombra, majd a Finish-re.

Forráskód: A CalculatorBeanLocal interfész törzsében hozzuk létre az összeadó és kivonó metódusok prototípusát. package org.ait.beans; import javax.ejb.local; @Local public interface CalculatorBeanLocal { public int add(int x, int y); public int sub(int x, int y); A CalculatorBean-ben írjuk meg az interfészben magadott metódusok törzsét. package org.ait.beans; import javax.ejb.localbean; import javax.ejb.stateless; /** * Session Bean implementation class CalculatorBean */ @Stateless @LocalBean public class CalculatorBean implements CalculatorBeanLocal { public CalculatorBean() { @Override public int add(int x, int y) { return x + y; @Override public int sub(int x, int y) { return x - y;

Bean hozzáadás szerverhez A Server fülön klikkeljünk jobb gombbal a szerverre, amelyikhez hozzá akarjuk adni a projektünket.

Itt válasszuk az Add and Remove pontot. Majd a megjelenő ablakban adjuk hozzá a StatelessExample projektet. Ezután újra klikkeljünk jobb gombbal a szerverre és válasszuk a Start pontot. Ezzel elindul a szerver és betölti a bean-ünket. A konzolban megjelenő bean elérési névre szükség van a bean meghívása kor.

Teszt JSP oldal létrehozása JSP oldal létrehozásához a menüben válasszuk a New Other pontot, majd a Web JSP File pontot.

A megjelenő párbeszédablakban adjuk meg szülő könyvtárnak a StatelessExample/ejbModule/test -t és a jsp fájl nevét, ez legyen calculatortest.jsp.

A Next gombra való kattintás után megjelenő ablakban válasszuk a New JSP File (html) templétet.

A calculatortest.jsp törzse a következő legyen: <%@page import="javax.naming.initialcontext"%> <%@page import="javax.naming.namingexception"%> <%@page import="org.ait.beans.calculatorbeanlocal"%> <%@ page language="java" contenttype="text/html; charset=iso-8859-1" pageencoding="iso-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/tr/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> <title>insert title here</title> </head> <body> <% InitialContext ctx; CalculatorBeanLocal calculator = null; try { ctx = new InitialContext(); calculator = (CalculatorBeanLocal) ctx.lookup("java:app/statelessexampledinweb/calculatorbean!org.ait.beans.calculato rbeanlocal"); catch (NamingException e) { e.printstacktrace(); %> </body> </html> 1 + 1 = <%= calculator.add(1, 1) %> <br> 1-1 = <%= calculator.sub(1, 1) %> A Context lookup metódusának paraméterében a bean elérési útját kell megadni, ami annak indításakor megjelent a konzolban.

Böngészőben megnézve az oldalt a következő eredményt kapjuk:

Stateful Session Bean Készítsünk egy stateless session bean-t, amely egy bevásárló kosarat modellez. Hozzunk létre egy Dynamic Web projectet File New Other itt a következőket kell választani: Web Dynamic Web Project A megjelenő párbeszédablakban adjuk meg a projekt nevét, ez a példában StatefulExample.

Új Session Bean létrehozását a következő menüpontban lehet megtenni: File New Other itt a következőket kell választani: EJB Session Bean

A megjelenő párbeszédablakban a bean paraméterei állíthatók be. A példában a csomag név org.ait.beans, az osztály neve pedig ShopingCartBean. Az állapotok közül válasszuk a Stateful-t. Az üzleti interfészek résznél jelöljük be a Local interfész létrehozását. Majd kattintsunk a Next gombra, majd a Finish-re.

Forráskód: A ShoppingCartBeanLocal interfész törzse legyen a következő: package org.ait.beans; import java.util.hashmap; import javax.ejb.local; import javax.ejb.remove; @Local public interface ShoppingCartBeanLocal { public void buy(string product, int quality); public HashMap<String, Integer> getcartcontent(); @Remove public void checkout(); A ShoppingCartBean törzse pedig a következő: package org.ait.beans; import java.util.hashmap; import javax.ejb.localbean; import javax.ejb.remove; import javax.ejb.stateful; /** * Session Bean implementation class ShopingCartBean */ @Stateful @LocalBean public class ShoppingCartBean implements ShoppingCartBeanLocal { private HashMap<String, Integer> cart = new HashMap<String, Integer>(); public ShoppingCartBean() { @Override public void buy(string product, int quality) { if(cart.containskey(product)) { int currqt = cart.get(product); currqt += quality; cart.put(product, currqt); else { cart.put(product, quality); @Override public HashMap<String, Integer> getcartcontent() { return cart;

@Remove public void checkout() { System.out.println("To be implemented"); Bean hozzáadás szerverhez A Server fülön klikkeljünk jobb gombbal a szerverre, amelyikhez hozzá akarjuk adni a projektünket.

Itt válasszuk az Add and Remove pontot. Majd a megjelenő ablakban adjuk hozzá a StatefulExample projektet. Ezután újra klikkeljünk jobb gombbal a szerverre és válasszuk a Start pontot. Ezzel elindul a szerver és betölti a bean-ünket. A konzolban megjelenő bean elérési névre szükség van a bean meghívása kor.

Teszt JSP oldal létrehozása JSP oldal létrehozásához a menüben válasszuk a New Other pontot, majd a Web JSP File pontot.

A megjelenő párbeszédablakban adjuk meg szülő könyvtárnak a StatefulExample/ejbModule/test -t és a jsp fájl nevét, ez legyen shoppingtest.jsp.

A Next gombra való kattintás után megjelenő ablakban válasszuk a New JSP File (html) templétet.

A shoppingtest.jsp törzse a következő legyen: <%@page import="javax.naming.initialcontext"%> <%@page import="javax.naming.namingexception"%> <%@page import="org.ait.beans.shoppingcartbeanlocal"%> <%@page import="java.util.hashmap"%> <%@ page language="java" contenttype="text/html; charset=iso-8859-1" pageencoding="iso-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/tr/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> <title>shoppingcart test</title> </head> <body> <% InitialContext ctx = new InitialContext(); ShoppingCartBeanLocal cart = (ShoppingCartBeanLocal) ctx.lookup("java:app/statefulexample/shoppingcartbean!org.ait.beans.shoppingcartbe anlocal"); %> Buying 1 memory stick <br> <% cart.buy("memory stick", 1); %> Buying another memory stick <br> <% cart.buy("memory stick", 1); %> Buying a laptop <br> <% cart.buy("laptop", 1); %> <br> Print cart: <br> <% HashMap<String, Integer> fullcart = cart.getcartcontent(); for(string product : fullcart.keyset()) { %> <%= (String)(fullCart.get(product) + " " + product) %> <br> <% %> <br> Checkout <br> <% cart.checkout(); %> <br> Should throw an object not found exception by invoking on cart after @Remove method <br> <% try { cart.getcartcontent(); catch (javax.ejb.nosuchejbexception e) {

%> <% %> </body> </html> <br>successfully caught no such object exception. <br> A Context lookup metódusának paraméterében a bean elérési útját kell megadni, ami annak indításakor megjelent a konzolban. Böngészőben megnézve az oldalt a következő eredményt kapjuk: