J2EE obsługa wielu żądań jednym serwletem


(pain3hp) #1

Jak to zrobić aby jeden servlet był do obsługi wielu żądań, jak wywoływać metody .do ? Jestem początkujący bardzo ale wszędzie gdzie napotykam podstawy to do każdego formularza jest tworzony osobny servlet? Tak to wygląda w praktyce? Przechodzę z PHP i jest to dla mnie dziwne. Ściślej chodzi mi o to że mam np na stronie kilka formularzy

I czy w j2ee dobrą praktyką jest obsługa tzw akcji z PHP ? Czyli powiedzmy że mam jakąś klasę (tutaj byłby to servlet) z metodami loginAction, addCartAction, CommentAction które właśnie obsługiwałyby te formularze. Mógłbym oczywiście zrobić taki sztuczny routing np przesyłając sobie ukryte pole z formularza do servletu i tam robić rozdzielanie na funkcje ale wydaje mi sie to zbyt łopatologiczne i dlatego chciałem zapytać jak to się robi w praktyce w javie. Można to załatwić w deskryptorze wdrożeń?

  1. Pytanie odnośnie metod .do? Jaki jest idea ich tworzenia?

(Enterbios) #2

Nie masz obowiązku tworzenia osobnego serwletu do każdego formularza, ale to bardzo dobry nawyk. Utworzenie klasy na nowy serwlet to tylko chwila a kod będzie bardziej przejrzysty i modularny. Pytasz jak to wygląda w praktyce? Chyba nikt nie tworzy aplikacji na poziomie czystych serwletów, raczej się korzysta z frameworków które ułatwią Ci robotę jak JSF, stripes, spring, struts. Jeśli chcesz tworzyć aplikacje w jee na poziomie takim jak się to robi w praktyce to będziesz musiał przyswoić kilka technologi. Jeśli zdecydujesz się na JSF to możesz zacząć tutaj: http://docs.oracle.com/javaee/6/tutorial/doc/.

Możesz też spróbować znaleźć książkę "Pragmatic Bookshelf - Stripes and Java Web Development is Fun Again" jest gdzieś do dorwania pdf w necie, powinno Ci to trochę rozjaśnić strukturę aplikacji. Wtedy zamiast pisać serwlety będziesz pisał ActionBeany (wyższy poziom abstrakcji) i odwoływał się do nich z poziomu jsp. Bez problemu umieścisz kilka funkcji w jednym AB, ułatwisz sobie prace a jak dodatkowo zdecydujesz się na stripes'a to zaoszczędzisz sobie zabawy z web.xml.