Czy mamy pojęcie zakresu stron na wiosnę3? Załóżmy, że użytkownik otwiera wiele kart, a jeśli dane są przechowywane w sesji, to w niektórych sytuacjach mogą się nie udać. Wyobraź sobie, że użytkownik otworzy dwie karty w przeglądarce. W obu tych kartach pracuje on na tej samej stronie, dzięki czemu może szybciej zakończyć swoją pracę. Jeśli więc niektóre dane są przekazywane z sesji, wówczas aplikacja może osiągnąć stan błędu.
Aby tego uniknąć, chcę przechowywać dane w zakresie stron, tak aby dane każdej strony nie były mieszane w sesji? czy jest dostępny bezpośrednio na wiosnę, czy muszę napisać własną logikę konwersacji i zakres stron?
Odpowiedzi:
1 dla odpowiedzi № 1Wiosną masz następujący zakres:
singleton - (Default) Określa definicję pojedynczego komponentu na pojedynczą instancję obiektu dla kontenera Spring IoC.
prototype - obejmuje definicję pojedynczego komponentu do dowolnej liczby instancji obiektu.
request - obejmuje pojedynczą definicję komponentu beancykl życia pojedynczego żądania HTTP; to znaczy każde żądanie HTTP ma własną instancję komponentu bean utworzoną z tyłu definicji pojedynczego komponentu bean. Obowiązuje tylko w kontekście aplikacji Spring ApplicationContext obsługującej Internet.
session - obejmuje definicję pojedynczego komponentu do cyklu życia sesji HTTP. Obowiązuje tylko w kontekście aplikacji Spring ApplicationContext obsługującej Internet.
sesja globalna - obejmuje definicję pojedynczego komponentudo cyklu życia globalnej sesji HTTP. Zazwyczaj poprawne tylko w przypadku użycia w kontekście portletu. Obowiązuje tylko w kontekście aplikacji Spring ApplicationContext obsługującej Internet.
Czy mamy pojęcie zakresu stron na wiosnę3?
-> Wiosną nie masz zasięgu strony, ale możesz skonfigurować konkretny komponent bean, aby używał zakresu żądań.
Odniesienie : Dokumentacja wiosenna