Tomcat 서버를 사용하고 있습니다. 응용 프로그램이 여러 사용자가 액세스해야하는 경우. 모든 사용자 세부 정보는 세션에만 저장됩니다. 일부 상황에서는 모든 사용자의 세부 정보를 얻어야합니다. 해당 세션에서 반복적으로 모든 사용자 세부 정보를 가져올 수 있습니다.세션에서 모든 사용자 이름을 반복하고 가져 오는 방법
0
A
답변
4
그냥 응용 프로그램 범위에있는 모든 로그인을 수집하고 저장하십시오. 가장 쉬운 방법은 로그인 한 사용자를 나타내는 User
개체가 HttpSessionBindingListener
을 구현하게하는 것입니다. 응용 범위 (ServletContext
속성)에 Set<User>
을 준비하기 만하면됩니다. 다음 valueBound()
가 호출됩니다
User user = userService.find(username, password);
if (user != null) {
request.getSession().setAttribute("user", user);
// ...
}
을 다음과 같이 사용자가 로그인 할 때마다
public class User implements HttpSessionBindingListener {
@Override
public void valueBound(HttpSessionBindingEvent event) {
Set<User> logins = (Set<User>) event.getSession().getServletContext().getAttribute("logins");
logins.add(this);
}
@Override
public void valueUnbound(HttpSessionBindingEvent event) {
Set<User> logins = (Set<User>) event.getSession().getServletContext().getAttribute("logins");
logins.remove(this);
}
// Don't forget to override equals() and hashCode() as well.
}
이 방법. 속성을 제거하거나 세션을 무효화하거나 세션을 만료 시키면 사용자를 로그 아웃 할 때마다 valueUnbound()
이 호출됩니다.
ServletContext
속성은 물론 모든 서블릿과 JSP에서만 사용할 수 있습니다.
관련 문제
- 1. preg_match에서 이름을 가져 오는 방법
- 2. 사용자 위치 이름을 가져 오는 방법은 무엇입니까?
- 3. JQuery 메뉴에서 모든 값을 가져 오는 방법
- 4. PHP 로그인 세션에서 사용자 이름을 얻는 것
- 5. PHP에서 세션에서 데이터를 가져 오는 방법은 무엇입니까?
- 6. Groovy 클래스의 모든 속성 이름을 가져 오는 방법은 무엇입니까?
- 7. C++ 폴더에서 파일 이름을 가져 오는 방법
- 8. android 패키지에서 파일 이름을 가져 오는 방법
- 9. 다른 테이블의 ID에서 이름을 가져 오는 방법
- 10. JavaScript 파일에서 메소드 이름을 가져 오는 방법
- 11. AS3에서 XML 태그 이름을 가져 오는 방법
- 12. 목록보기 wpf에서 모든 행을 가져 오는 방법
- 13. 디렉토리의 모든 확장자를 가져 오는 방법.
- 14. 모든 하위 단위를보다 효율적으로 가져 오는 방법
- 15. Facebook에서 모든 일정을 가져 오는 방법 페이지
- 16. 게시물의 모든 변수를 가져 오는 방법 (PHP)
- 17. 엔티티의 모든 속성 이름을 가져 오는 방법은 무엇입니까?
- 18. 버튼에서 backgroundImage의 이름을 가져 오는 방법은 무엇입니까?
- 19. aspnet_users에서 모든 사용자 이름을 얻는 방법은 무엇입니까?
- 20. 회원 사용자 테이블에서 userId를 가져 오는 방법
- 21. MS Access 2003 - LAN 로그인에서 사용자 이름을 가져 오는 VBA
- 22. 범위에 간단한 이름을 가져 오는 방법은 무엇입니까?
- 23. SQL : 모든 행에서 열의 모든 고유 문자를 가져 오는 방법
- 24. 사전을 반복하고 내부 사전에서 값을 가져 오는 것
- 25. Re : 글꼴 이름을 가져 오는 방법 및 자신의 스타일.?
- 26. 사용자 세션에서 개체를 가져 오도록 요청하면 전체 세션이로드됩니까?
- 27. 테이블 속성의 이름을 가져 오는 방법은 무엇입니까?
- 28. 고유 요소 이름을 가져 오는 XPath
- 29. 컨트롤러에서 모든 작업 이름을 얻는 방법
- 30. Oracle의 다른 세션에서 데이터를 가져 오는 전역 임시 테이블