1. response 객체 메소드


2. sendRedirect(String location)

요청의 흐름이 이어지는 것이 아니라, 페이지 이동이 일어나는 또 다른 요청이다.

String value = "자바";
//웹 서버에 전송할 파라미터 값을 알맞게 인코딩 한다.
String encodedValue = URLEncoder.encode(value,"utf-8");
response.sendRedirect("/chap03/index.jsp?name="+encodedValue);
//server.xml 문서에 <Connector .. URIEncoding="UTF-8"..> 설정을 해준다면 안해도...

3. setContentType("text/html; charset=utf-8")

out.print 할 때 브라우저에게 다음과 같은 contentType으로 페이지 파싱을부탁


4. 출력 버퍼와 응답

1) 장점

JSP는 출력 내용을 버퍼에 저장한 후, 나중에 전송한다.

  • 데이터 전송 성능 향상
    : 작은 단위로 데이터를 전송하는 것이 아니라 한 번에 큰 단위로 데이터 전송 가능
  • JSP 실행 도중에 버퍼를 비우고 새로운 내용
    : <jsp:forward> 기능과 에러 페이지 처리 기능
    : 버퍼가 다차기 전까지는(버퍼에 저장된 데이터가 브라우저로 전송되기 전까지는) 버퍼에 보관된 데이터를 지우고 새로운 내용을 전송 가능
    ex) 실행 중 에러 발생시, 버퍼를 지우고 에러 화면 출력
  • 버퍼가 다차기 전까지 헤더 변경 가능
    : 버퍼 내용이 브라우저에 전송되면 그 이후로는 변경해도 적용되지 않음

2) page 디렉티브에서 버퍼 설정

① buffer 속성
JSP 규약은 buffer 속성을 지정하지 않으면 최소 8kb 이상의 크기를 갖는 버퍼를 사용하도록 규정하고 있다. none으로 지정하면 버퍼를 사용하지 않는다.

<%@ page buffer ="none" %>
  • <jsp:forward> 기능을 사용할 수 없다.
  • 곧바로 전송되기 때문에 출력한 내용을 취소할 수 없다.

② autoFlush 속성

  • true: 버퍼가 다 차면 버퍼를 플러시하고 계속해서 작업을 진행(JSP 페이지가 생성하는 데이터 크기가 버퍼 크기보다 커지면 자동으로 버퍼를 플러시)
  • false: 버퍼가 다 차면 익셉션을 발생시키고 작업을 중지(에러창)

0개의 댓글