forward
- 요청받은 대상과 응답하는 대상이 다르다. 그러나 url은 최초 요청받은 jsp 경로다.
- 클라이언트에서 온 값을 응답하는 대상으로 전달하려면 두 가지 방법이 있다.
- request 공유영역에 등록
<%
request.setAttribute("id", request.getParameter("id"));
%>
<%-- <c:set var="id" value="${ param.id }" scope ="request"/> --%>
- param으로 전달 가능
<jsp:param name="id" value="${ param.id }"/>
sendRedirect
- 클라이언트의 요청을 서버가 응답하고, 응답할 때 값을 같이 보낸다. 클라이언트는 다시 재요청을 한다.
- get 방식이기 때문에, url?name=value 식으로 전달해야 한다.
---> 파라미터임.
쿠키
- 클라이언트에 저장된
- 최대 20개 (사이트당)
- 파일 4K가 한계
- 모든 사이트의 쿠키가 300개 넘으면 랜덤으로 삭제됨
- 문자열로만 저장 가능
- 세미콜론, 콤마 등 불가능. 영문만 가능(한글은 인코더, 디코더 활용하면 가능함)
- 쿠키는 서버가 만든다.
- 서버가 response 객체를 통해 클라이언트로 전달해야 함 (response.addcookie())
- 사용자쪽의 쿠키는 자연스럽게 request와 함께 전달된다. (request.getCookies())
- 웹브라우저가 종료될 때 쿠키가 사라지지만, maxAge 설정을 통해 설정한 시간 동안 저장가능.
- maxAge(0)으로 설정하면 쿠키를 삭제한다.
- domain 이라는 속성으로 쿠키를 어디까지 전달할지
- setPath 를 통해 어디까지 전달할지
'웹 프로그래밍 > JSP' 카테고리의 다른 글
[JSP] 파라미터란? (+ request 객체에 대한 생각) (2) | 2020.07.22 |
---|---|
[JSP] 세션 (0) | 2020.07.22 |
[JSP] 스크립트릿, JS 는 순서대로 실행된다. (절차지향적으로) (0) | 2020.07.21 |
[JSP] EL을 script 내에서 사용하려면, 쿼테이션으로 감싸야 한다 (0) | 2020.07.21 |
[JSP] 쿠키와 세션 (0) | 2020.07.21 |