client에 저장 -> 브라우저를 닫거나 서비스를 종료해도 정보가 남는다. -> 보안에 취약
server에 저장 -> 서비스에서 나가거나 브라우저가 변경 될 경우 끊어진다. -> 보안성 우수
// 세션에 값 저장
session.setAttribute("name", "new name change!");
// session은 value 가 Object 이다.
session.setMaxInactiveInterval(60); //초
// 움직임없이 있을 경우 유지되는 시간(기본 30분)
response.sendRedirect("index.jsp");
// index.jsp 로 돌려 보낸다.
JSP 에서 데이터 저장시 공유 하는 영역
데이터를 언제까지 가지고 있는지로 구분
// post 방식으로 전송시 한글이 깨진다.
// 그래서 우리가 직접 인코딩을 해 줘야 한다.
request.setCharacterEncoding("UTF-8");
// application 역시 내장 객체이며, session 과 사용법이 비슷하다.
//application 영역은 서버가 꺼지기 전 까지 계속 유지 된다.
//session 영역은 서비스를 나가거나 브라우저가 종료되면 사라진다.
Scriptlet은 유용하지만 페이지가 복잡해져 최소한으로 쓰지 않기 위해 action tag를 사용한다.
// 만약 요청온 데이터를 result.jsp 로 보내려고 할 때 response.sendRedirect()로는 불가능 하다.
// forward 를 사용하면 데이터를 붙일 수 있다.
forward 는 request 객체를 활용하므로 데이터를 전달 할 수가 있다.
그리고 추가 파라메터를 보낼 수도 있다.
태그사이에는 아무것도 들어가지 않아야함(공백포함)
<jsp:forward page="result.jsp">
<jsp:param name="tel" value="010-1234-1234"/>
</jsp:forward>
Scriptlet의 <%@ page include%>를 대체 하기위하여 사용한다
<jsp:include page="~.jsp"></jsp:include>
forward와 같이 추가 파라메터를 보낼 수도 있다.
정보에 감사드립니다.