Weboldal, ill. webalkalmazás készítés JSF és JPA + Apache Tomcat használatával II.
Most hogy megvan az adatbázis, álljunk neki elkészíteni a projektet. NetBeans-alatt mutatom, mert én ezt ismerem. Csináljunk egy web alkalmazást JSF támogatással Tomcat szerver alatt.
Tehát készítsünk egy új projektet

Majd adjuk meg a projekt nevét és helyét a lemezen

Válasszuk ki a szervert

Majd adjuk meg a JSF támogatást a projekthez

Ha megvagyunk valami hasonló fogad minket a projekt intéz?ben

Az els?, hogy határozzuk meg milyen csomagokba fogjuk “szétosztani” a java osztályokat. Én az entiátsokat, és a managelt bean-eket külön csomagba pakolom, az átláthatóság kedvéért. A szolgáltatások interfészeinek is kell egy csomag, és a JPA kezel? osztályt is külön csomagba tesszük.
Tehát szükség van 4 csomagra:
- com.digsys.webshop.entities
- com.digsys.webshop.managedbeans
- com.digsys.webshop.services
- com.digsys.webshop.jpa
Hozzuk létre ezeket a csomagokat.
Az adatbázis eléréshez létre kell hozni egy JDBC csatlakozást.

Ezek után készítsük el az entitás osztályokat a NetBeans beépített “entiy classes from database” funkciójának segítségével.

Mikor felkínálja a varázsló, hogy létrehoz perzisztencia unit-ot, akkor készítsük el azt is.
Én Toplinket használok JPA-nak, de természetesen használható Hybernate vagy OpenJPA is.
Készítsük el a szolgáltatásokat. Mint már az el?z? részben kitaláltuk a következ? 3 szolgáltatásra lesz szükségünk:
- kosár kezelése (cart manager)
- cikkek kezelése (item manager)
- rendelés kezelése(order manager)
Határozzuk meg ezeket is 3 interfészbe:
ICartManager:
package com.digsys.webshop.services;
import com.digsys.webshop.entities.Items;
import java.util.List;
public interface ICartManager {
public void addItem(Items i);
public void removeItem(Items i);
public void changeQuantity(Items i, int q);
public List<Items> getItems();
public void clearCart();
}
IItemManager:
package com.digsys.webshop.services;
import com.digsys.webshop.entities.Items;
import java.util.List;
public interface IItemManager {
public List<Items> getAllItems();
}
IOrderManager:
package com.digsys.webshop.services;
import com.digsys.webshop.entities.OrderItems;
import com.digsys.webshop.entities.Orders;
public interface IOrderManager {
public void createNewOrder(Orders o);
public void createNewOrderItem(OrderItems oi);
}
A metódusok elnevezései szerintem egyértelm?ek, nem szorulnak különösebben magyarázatra.
Jelenleg itt tartunk:

Most következzen ismét egy kis tervezés.
Meg kell határozni, hogy hány weboldalon fogjuk lekezelni a vásárlást. El?ször is kell egy oldal, ahol a látogató tud válogatni a termékek között. Itt fel vannak sorolva az általunk kínált cikkek (item-ek) és bármelyiket be tudjuk tenni a kosárba.
Kell egy oldal, ahol megjelennek a kosárban lév? termékek, vagyis a kosár tartalma. Végül pedig kell egy oldal, ahol szerkeszteni tudjuk a kiválasztott tételt, vagy is jelen esetben csak annyit, hogy hány darabot szeretnénk vásárolni. Ez összesen 3 oldal.
Legyenek a következ?k:
- shop.jsp
- cart.jsp
- edit_item.jsp
Hozzuk ezeket létre, és határozzuk meg a navigációt. A shop.jsp-ból a cart.jsp felé fog navigálni a felhasználó és vissza is, ha még több tétel szeretne a kosárba tenni. az edit_item.jsp -t pedig a cart.jsp -b?l éri el. Tehát a navigáció a következ?képpen alakul.

Továbbá kell még egy index.jsp-is, ahonnan a felhasználó indul, de ezt egyb?l forwardoljuk a shop.jsp-re.
index.jsp:
<%@page contentType=”text/html” pageEncoding=”UTF-8″%>
<!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=UTF-8″>
<title>JSP Page</title>
</head>
<body>
<jsp:forward page=”shop.jsf” />
</body>
</html>
A navigáció elnevezéseit természetesen bárhogy megadhatjuk.
Folyt. köv.
2 Responses to “Weboldal, ill. webalkalmazás készítés JSF és JPA + Apache Tomcat használatával II.”
1 KattyBlackyard 15 June 2009 @ 07:22
The best information i have found exactly here. Keep going Thank you
2 Etibi 25 June 2009 @ 17:23
Hello!
Nagyon jó ez a leírás, mikor jön a III.rész?
Comments:
You must be logged in to post a comment.