저는 Spring MVC를 처음 접했고, 제가 생각하기에 매우 간단하다고 생각되는 적절한 방법을 찾으려고합니다.스프링 MVC로 세션에 문자열을 저장하려면 어떻게해야합니까?
var dataString = 'existingProject='+ $("#existingProject").val() + '&newProjName=' + $("#newProjName").val();
$.ajax({
type: "POST",
url: "manageProjects.html",
data: dataString
});
내가 사용자에 대한 세션이 사용자 설정 "프로젝트"를 설정하려면 :
나는 간단한 jQuery를 AJAX 호출을 가지고있다. 이 AJAX 호출은 JS 파일의 자바 스크립트에서 나오고 Spring MVC 컨트롤러에 연결한다.컨트롤러가 이러한 변수를 사용하고 있지만이 데이터를 세션에서 특정하게 전달하기 위해 수행해야 할 작업을 잘 모릅니다.
나는 6 가지 다른 옵션 (autowiring, xml 구성 및 cgl-nodep 라이브러리, HttpServlet 속성, @ModelAttribute, @SessionAttribute 등이 포함 된 빈 세션 주입 된 bean)에 대해 살펴 보았습니다.).
@Component
@Scope("session")
public class UserSettings
...하지만 빈은 세션에 잠겨되지되었습니다 세션 콩 범위 다음과 같은 정의에 가야했습니다. 내 컨트롤러에서 @Autowire를 사용했는데 세션간에 여전히 동일한 인스턴스 였으므로 분명히 망쳤습니다.
나는 괴롭히는 문자열 하나를 저장하고 싶습니다. 이 ...이 할 수있는 101 레벨 쉬운 방법으로
확인을 가지고,하지만 난 AJAX 호출에 시작할 때 어떻게 그 값을 설정합니까? 세션에서 속성을 설정하는 AJAX 호출을위한 "핸들러"메소드를 갖는 것이 적절한가요? 그렇다면 다른 모든 사람들이 그것을 다시 꺼냅니다. 이것이 표준 관행인가? – Raevik
차이점이 없습니다. 패스 요청이나 세션을 Ajax 처리 메소드에 넣기 만하면됩니다. – fmucar
첫 제안과 함께 HttpSession을 사용했습니다. AJAX 호출을 수락하고 세션에서 속성을 설정했습니다. 그런 다음 다른 컨트롤러 작업에서이 값을 필요로했습니다. 속성이 세션 전체에서 지속되는 것 같습니다. 새 탭을 열어 사이트를 다시 방문했고 첫 번째 탭의 설정이 내 브랜드 탭에 이미 설정되었습니다. – Raevik