Chciałbym stworzyć apke w JSF z klasami uyztkownik(imie,nazw,wiek itp-dodawanie,usuwanie,edycja uzytkownikow) oraz cwiczenia(nazwa,opis itp -dodawanie,usuwanie,edycja cwiczen) jaka technologie wykorzystuje sie do zapisywania tych wszystkich danych ? w JSE w apkach desktopowych mozna serializowac te obiekty i zwyczajnie zapisac do pliku w a jak jest w aplikacjach webowych ?
Zapisać je do bazy danych?
To pewnie jest najlepsze rozwiazanie. Przy uzyciu jakich dodatkowych bibliotek,frameworkow najłatwiej połączę swoja apke w JSF z baza np mySQL ?
Najlepiej to chyba połączyć JSF z JPA.
Wpadło mi w rece jeszcze inne rozwiazanie. Czy bardzo nieelegancko bedzie jezeli stworzę klasę DAO i bede zapisywał do pliku stan HashMap uzytkownicy i cwiczenia po kazdym dodaniu lub usunieciu obiektu ? Dopiero zaczynam ogarniać JSF i nie chciałbym dorzucać sobie dodatkowo JPA poniewaz to jest dość rozbudowany temat a nie chce przesadzac z iloscia informacji na raz :
package pl.konrad.dao;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
import pl.konrad.klasy.Cwiczenie;
import pl.konrad.klasy.Uzytkownik;
public class DAO implements Serializable
{
private static DAO instatncja = new DAO();
private Map<String,Uzytkownik> uzytkownicy = new HashMap<String,Uzytkownik>();
private Map<String,Cwiczenie> cwiczenia = new HashMap<String,Cwiczenie>();
public static DAO getInstatncja()
{
return instatncja;
}
//*****************************************************************************
public Map<String, Uzytkownik> getUzytkownicy()
{
return uzytkownicy;
}
//*****************************************************************************
public Map<String, Cwiczenie> getCwiczenia()
{
return cwiczenia;
}
//*****************************************************************************
}
Ciężko się uczyć JEE, bo byle apka wymaga naraz JSF, CDI, JPA, EJB, a każda z nich to mega specyfikacja ;) Ja bym jednak na Twoim miejscu użył JPA- na zasadzie "byle działało" to poradzisz sobie. W ogóle całą tą aplikację to mógłbyś sobie wyklikać w Netbeans w minutę.
Co znaczy "wyklikac w minute", NetBeans ma aż taki pomocny interfejs i funkcje do tworzenia aplikacji webowych ? łatwiej go połączyć z baza danych niż Eclipsa ?
No to od razu zapytam (wiem,że jest tego sporo) ale moze nasuwa Wam sie jakis link z tutorialem gdzie nie ma zbednego lania wody jest tylko stworzenie bazy w mySql i polaczenie tego z apka JSF a pozniej jakies proste polecenia typu dodaj,usun,zmien ?
Tak, Netbeans potrafi stworzyć aplikację z gotowej bazy danych (prawdę mówiąc to polecam Netbeansa zamiast Eclipsa). Najprościej zacząć instalując Netbeans z Glassfishem.
Potem dodaj połączenie do bazy danych w Glassfish (pokazałem w załączniku).
Następnie dodaj takie samo połączenie w Netbeans (to oczywiście nie jest potrzebne do działania samej aplikacji, ale dzięki temu Netbeans będzie wiedział skąd wziąć tabele z których będzie generował kod). Klikasz (w Netbeans) w menu w Windows->Services->Databases i dodajesz.
Tutaj przykładowy film pokazujący jak wyklikać aplikację:
https://netbeans.org/kb/docs/javaee/maven-primefaces-screencast.html
Ps. jak tworzysz aplikację to stwórz od razu jako Maven, unikniesz zbędnych problemów.
ok dzięki za poradę na pewno z tego skorzystam.