response.setContentType("text/html;charset=euc-kr");
PrintWriter out = response.getWriter();
....
respnse 변수에 대해 설명을 드리자면, Servlet의 doGet 혹은 doPost 함수의 파라미터로 response변수를 만들어 놓았을 것입니다.
response 변수에 실제 객체를 할당해주는 것은 servlet container가 알아서 해주기 때문에 개발자는 신경을 쓸 필요가 없습니다.
보통 어떠한 Servlet으로 요청이 들어오게 되면, 그 요청을 파악을 해서 어떠한 응답을 클라이언트로 보내야하는지에 대한 분석이 이루어집니다.
흔히 클라이언트로부터 Servlet으로 요청이 들어오게 되면, 요청 파라미터라는 것이 같이 오게 되는데,
이것에 대한 분석은 request.getParameter("")이런한 식으로 파악을 하게 됩니다.
요청을 파악했으면, 클라이언트로 내보낼 응답을 작성해야 합니다.
대부분의 웹 프로그래밍은 응답을 텍스트로 작성하며, 이 텍스트는 대부분 HTML 페이지의 모양을 하고 있게 됩니다.
여기서 응답으로 텍스트를 기록해야하는데, 이때 스트림이라는 개념이 나옵니다.
그대로 데이터의 흐름이라고 보시면 됩니다.
Servlet에서는 클라이언트 쪽으로 보내는 데이터의 흐름을 건드려야 할 필요가 있습니다.
위에서 언급했던 response 변수를 활용하면 응답과 관련된 많은 작업들을 수행 할수 있습니다.
응답 스트림에 텍스트를 기록하는 것도 가능하며, 이 작업을 하기 위해서 response.getWriter()를 호출해야 합니다.
보통 스트림에는 바이너리 기반의 스트림과 텍스트 기반의 스트림이 있습니다.
보통 바이너리 기반의 스트림은 InputStream(입력), OutputStrream(출력)이라는 것으로 끝나고,
텍스트 기반의 스트림은 reader(입력), Writer(출력)로 끝납니다.
언급했듯이 Servlet으로 들어온 요청은 대체로 텍스트(HTML)로 응답을 보내기 때문에,
PrintWriter out= response.getWriter(); 형식으로 응답으로 내보낼 출력 스트림을 얻어낸 후,
out.println("<script>"); 이런 식으로 스트림에 텍스트를 기록하게 됩니다.
출처 :