본문 바로가기

웹 프로그래밍/JSP

[JSP] forward, sendRedirect / 쿠키 복습

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 를 통해 어디까지 전달할지