2010-06-29 2 views
0

내 작품 대부분이 .net에 있었지만이 프로젝트는 java로 완료해야했습니다. 그래서 세션 데이터를 다루는 것에 대한 질문이 있습니다. . NET에서, 난 그냥 내 수업에서 HttpContext.Session.Current 할 것이고 나는 세션 데이터에 액세스 할 수 있습니다. 하지만 그것은 java에서와 같이 보입니다. 그래서 request.getSession()을 할 수 있도록 HttpSession 객체를 전달해야합니다. 이 문제를 해결할 더 좋은 방법이 있습니까? 감사!java 서블릿에 사용자 특정 데이터를 저장 하시겠습니까?

답변

1

주위를 지나칠 필요가 없습니다. 세션을 HttpServletRequest#getSession()으로 가져오고 해당 setAttribute() 메서드를 사용하여 세션에 객체를 저장하고 getAttribute()을 사용하여 세션에서 가져옵니다.

전체 HttpSession 개체를 도메인 개체로 전달해야한다고 생각하면 문제가 있습니다. 세션에서 관심있는 정보 (일반적으로 Javabean의 특징)를 가져와야하고 그 대신을 전달하거나 디자인이 프론트 컨트롤러와 관련된 경우 HttpServletRequest 인스턴스 만 전달해야합니다.

+0

다음 질문에 대해서는 HttpServletRequest가 어떤 항아리입니까? 내가 해결할 수없는 것 같습니다 ... – Arthurdent510

+0

당신이 사용하고자하는 servletcontainer의 라이브러리에 있습니다. 예 : Apache Tomcat, Sun Glassfish, JBoss AS 등. 이것은 별개의 이야기입니다. Starter는 종종 다른 공급 업체의 것을 Webapp의/WEB-INF/lib에 복사하는 실수를 범합니다. 간단한 메모장과 javac를 사용하는 경우 클래스 경로에 서버 라이브러리의 경로를 추가하기 만하면됩니다. Eclipse와 같은 IDE를 사용하는 경우 Java EE 용 Eclipse 버전이 있어야하고 Eclipse에서 ServletContainer를 통합하고 마지막으로 동적 웹 프로젝트와 연관시켜야합니다. 이클립스는 자동으로 처리합니다. – BalusC

+0

좋아, 오늘은 내 주위에 내 머리를 감쌀 수없는 그 시절 중 하나입니다 ... 아무도 좋은 코드 예제가 있습니까? – Arthurdent510

관련 문제