2008년 3월 3일 월요일

DWR 사용시 Session 값 얻기

DWR 사용중 Session 객체 얻기

Java로 웹프로그래밍 하다보면 Session값을 가끔식 필요로 할 때가 있습니다.
일반적인 경우에는 doPost나 doGet 메소드를 구현함으로써 쉽게 Session값을 얻을 수가 있습니다.

HttpSession session = request.getSession();

보통 위 같은 방식으로 session을 많이 얻어옵니다.
하지만 DWR를 사용할 경우 어떤 방식으로 session값을 얻어올가요?
결국 request 인스턴스만 가질수 있으면 session은 쉽게 얻을 수 있지 말입니다.

DWR 샘플들을 살펴보던중 WebContext 라는 클래스를 알게 되었습니다.
사실 DWR를 이용하여 JS에서 Java 메소드를 콜할시 결국 request를 보내게 됩니다.
이 request를 얻을려면 별도로 webContext라는 인스턴스를 얻어야만 하는데
WebContextFactory.get() 로 쉽게 얻을 수가 있습니다.

WebContext wctx = WebContextFactory.get();
HttpServletRequest request = wctx.getHttpServletRequest();
HttpSession session = request.getSession();

이것땜에 반나절 삽질을 했네요.ㅜㅜ

댓글 5개:

  1. 잘보고가요 ^.^ dwr을 사용해야 할줄이야 ㅠㅋㅋ

    답글삭제
  2. @bonnie - 2008/03/04 15:36
    아무래도 DWR를 이용하면 Prototype ajax 함수를 이용하는것 보다는 쉽죠?! ㅎㅎ

    답글삭제
  3. trackback from: DWR : Easy Ajax for JAVA
    작년인가 JCO컨퍼런스에서 들었던 DWR을 이제서야.. 사용해보았습니다. 그때 시연에서 봤던것처럼 참 편하고 요긴합니다. DWR 사이트를 참고해서 DWR에 대해 간단하게 소개 합니다. ==================================================================== 자바 오픈소스 라이브러리인 DWR은 Ajax 웹사이트에 사용할 수 있으며 크게 두개의 부분으로 구성되어 있습니다. 서블릿이 실행되고있는 서버에 요..

    답글삭제
  4. 좋은 정보 감사합니다~^^

    API를 찾는것보다.. 검색이 더 편해져서.. 큰일입니다 ㅜㅜ

    답글삭제
  5. @학생. - 2008/05/23 10:35
    실제 개발을 하다보면 검색에만 의거하여 문제를 해결할 수 없습니다. 개발자라면 API를 많이 참조하는 습관을 길러야 한다고 생각합니다.^^

    답글삭제