2017-10-20 13 views
0

사용자가 이전에 방문한 페이지를 추적하기 위해 HttpSession에 "URL"특성을 유지하는 것이 좋지 않은지 궁금합니다. 나는 이전 페이지가 무엇인지에 따라 조건부로 다른 작업을 수행 할 수 있도록 이전 URL을 알고 싶습니다.URL을 저장하는 HttpSession

예를 들어 사용자가이 페이지에 액세스하는 방식에 따라 웹 페이지의 색상을 변경하는 컨트롤러 클래스가 있습니다. 사용자가 "example.com/blue"에서 버튼을 누르면 현재 페이지로 리디렉션되어 파란색으로 표시됩니다. ("example.com/pink"인 경우 페이지가 분홍색으로 표시되어야합니다.). 이 작업은

URL url = httpSession.getAttribute (url);
(url.equals (파란색)) {// 만들 페이지 파란색} 경우
경우 (url.equals (분홍색)) {// 페이지 핑크 메이크업}

희망이 만드는 감각을.

감사합니다.

답변

0

네, 이것은 나쁜 습관입니다. 이것은 유지하기 어려울 것입니다. 단위 테스트를 어떻게 작성 하시겠습니까?

이 질문의 태그는 MVC 프레임 워크를 사용하고 있지만 MVC 패턴을 오해 한 것처럼 보입니다.

URL은 '컨트롤러'에 속하며 페이지 스타일은 '보기'이며 사용자의 기록은 '모델'입니다. HttpSession에 정보를 저장하려면 프로토콜 독립적으로 만드십시오. 나는 어떤 종류의 열거 형을 저장하는 것을 고려할 것이다. 또는 버튼은 요청 매개 변수로 색상을 전달할 수 있습니다.

또한 사용자가 두 개의 탭으로 페이지를 엽니 다.

페이지 구조를 재구성하기로 결정할 때 HttpSession을 재구성 할 필요가 없도록 응용 프로그램을 구현하십시오.

+0

답변 해 주셔서 감사합니다. 당신이 말한 것은 MVC를 사용하여 특히 의미가 있습니다. – BGui