서버의 응답 속도가 느릴 때 중복 입력되는 경우
- 작성자
- 관리자
- 작성일자
- 2009-10-29
- 조회수
- 2,978
Q
서버의 응답 속도가 느릴 때 게시글이 중복 입력되는 경우가 있습니다.
이런 경우에 어떻게 처리해야 하는지 알고 싶습니다.
A
서버의 응답이 지연되고 있을 때 여러 번 등록 버튼을 클릭하게 되면
반복적으로 request가 들어가서 글이 중복 입력될 수 있습니다.
1. 해당 화면을 불러오는 controller 의 method 에서
request.getSession().setAttribute("[입력화면의 객체]",[입력화면에서 받아올 VO]);
이 코드를 넣어서 해당 객체를 세션에 일시적으로 입력합니다.
2. 등록 버튼을 클릭 시 처리하는 controller 의 method에서 초입부에
if(session.getAttribute("qnaManageVO")==null){
return "forward:/[등록 버튼이 입력되었던 초기 화면]";
}
위 코드를 삽입하여 해당 객체가 존재하는지 확인합니다.
그리고 모든 등록 처리가 끝난 후
session.removeAttribute("qnaManageVO");
코드를 넣어서 세션에서 해당 객체를 제거해 줍니다.
이렇게 처리해 주면 처음 객체가 호출될 때에만 세션에 객체 정보가
들어있게 되고, 한 번 입력 후 해당 객체를 삭제하기 때문에 중복 입력을 방지할 수 있습니다.
반복적으로 request가 들어가서 글이 중복 입력될 수 있습니다.
1. 해당 화면을 불러오는 controller 의 method 에서
request.getSession().setAttribute("[입력화면의 객체]",[입력화면에서 받아올 VO]);
이 코드를 넣어서 해당 객체를 세션에 일시적으로 입력합니다.
2. 등록 버튼을 클릭 시 처리하는 controller 의 method에서 초입부에
if(session.getAttribute("qnaManageVO")==null){
return "forward:/[등록 버튼이 입력되었던 초기 화면]";
}
위 코드를 삽입하여 해당 객체가 존재하는지 확인합니다.
그리고 모든 등록 처리가 끝난 후
session.removeAttribute("qnaManageVO");
코드를 넣어서 세션에서 해당 객체를 제거해 줍니다.
이렇게 처리해 주면 처음 객체가 호출될 때에만 세션에 객체 정보가
들어있게 되고, 한 번 입력 후 해당 객체를 삭제하기 때문에 중복 입력을 방지할 수 있습니다.