input 태그의 id 속성을 활용하여 이전 페이지로부터 request.getParameter(id); 하는 것은 스코프가 짧아
페이지 간 이동이 잦다면 불편하다.
따라서 세션을 활용한다면 브라우저가 종료되기 이전까지는 데이터가 유지되어 데이터 이동이 용이해진다.
▧ 페이지 1 코드
button 의 onclick 속성에 자바스크립트 함수를 호출하도록 하여
함수 sendIt() 에서는 이름과 생일 입력 칸에 입력된 내용이 없으면 return,
정상적으로 값이 입력이 되었다면 form 을 submit 하도록 하였다.
(여기서 form 의 id 속성으로 getElementById 한 것이 아니라 document.forms[0] 으로
0번째 form 의 정보를 불러왔다는 것이 기존과는 다른 방식이다. )
▧ 페이지 2 코드
두 번째 페이지도 1번째 페이지와 흡사하지만 앞에서 받은 정보(이름, 생일) 를 받아 다음 페이지로 보내야 하므로
request.getParameter() 로 받아서 session.setAttribute() 로 세션에 값을 저장했다.
▧ 페이지 3 코드
세 번째 페이지에서는 그저 데이터를 받기만 하면 되기 때문에 간단하다.
첫 번째 페이지에서 받은 내용을 받기 위해서 session.getAttribute() 했다.
여기서 유의할 점은 getAttribute 는 결과값으로 Object 타입을 반환하기 때문에
String 타입의 변수에 담기 위해서는 (String)으로 강제 다운캐스팅 해주어야 한다.
▧ (추가) 세션 │ 세션아이디와 세션유지시간 확인
기본적으로 30분으로 설정되어 있지만 확인을 위해 10초로 설정했다.
클라이언트가 아무런 동작을 하지 않은 채 10초가 지나면 세션이 만료된다.
그 후 다른 페이지에서 session.getId();
session.getMaxInactiveInterval(); 해주면
값을 확인해볼 수 있다.
'📚Study Note > JSP Servlet' 카테고리의 다른 글
[ JSP & Servlet ] JSP 액션태그 │ <jsp:useBean> │ <jsp:setProperty> (0) | 2021.05.21 |
---|---|
[ JSP&Servlet] 쿠키 Cookie 설정 및 삭제 (0) | 2021.05.20 |
[ JSP & SERVLET] 포워딩(Forwarding) 과 리다이렉트(Redirect) │ jsp의 두 가지 페이지 전환 기능의 차이 (0) | 2021.05.12 |
[ JSP ] 달력을 출력하는 JSP 페이지 │ select box 선택 시 │ 단독페이지 (0) | 2021.05.12 |
[ JSP ] 데이터전송(html → jsp) │ onsubmit │ onchange (0) | 2021.05.11 |