Użyj opartego na komponentach szkieletu MVC, który usuwa wszystkie nieprzyjemne szczegóły interfejsu API Servleta, dzięki czemu uzyskasz zerowy import o wartości javax.servlet
. Przykładami są JSF2 i Struts2.
W JSF2 na przykład, że po prostu zadeklarować User
klasy jako sesji udało lunetą fasola:
@ManagedBean
@SessionScoped
public class User {
// ...
}
Następnie w „działanie” fasoli, które używasz do przetwarzania forma przedstawienia, odwoływać jako zarządzana usługa:
@ManagedBean
@RequestScoped
public class SomeFormBean {
@ManagedProperty(value="#{user}")
private User user;
public void submit() {
SomeData someData = user.getSomeData();
// ...
}
}
To wszystko.
Jeśli chcesz trzymać się surowego API Servlet, musisz żyć z tym, że musisz przekazać surowym obiektom HttpServletRequest/HttpServletResponse
. Najlepsze, co możesz zrobić, to homegrow some abstraction wokół (ale wtedy kończysz jak to, co JSF2/Struts2 już robisz, więc dlaczego miałbyś homegrów - bez względu na hobby/samokształcenie)).
Powodem, dla którego nie chcę używać serwletu, jest to, że nie wiem, jak z nich korzystać, dlatego chce tylko klasy. Jeśli możesz podać przykładowy kod ... – griegs
Och! w porządku. co robisz? Chodzi mi o to, jaki rodzaj aplikacji próbujesz opracować. –
Próbuję stworzyć aplikację internetową i chcę mieć scentralizowane miejsce do zarządzania moją sesją. Myślałem, że coupld po prostu zaimportować bibliotekę, aby uzyskać dostęp do sesji, ale teraz myślę, że muszę przekazać httpsession do mojej klasy – griegs