IT/SPRING

HttpServletResponse , response.setHeader() 사용법

나콘 2023. 5. 8. 15:54

 

HttpServletResponse

웹 서버에서 클라이언트로 다시 보내는 HTTP 응답을 나타내는 Java 인터페이스이다.

Java 웹 애플리케이션에서 HttpServletResponse를 사용하려면 일반적으로 Spring MVC 또는 Servlet API와 같은 웹 프레임워크의 컨트롤러 메소드에 HttpServletResponse 유형의 매개변수를 추가하여 이에 대한 참조를 얻을 수 있다 

 


 

 

response.setHeader("Content-Type", "text/html;charset=UTF-8");

 

"Content-Type" 이라는  HTTP 응답 헤더를 설정하여 응답 본문에 반환되는 콘텐트가 "text/html" 유형이고 UTF-8문자 인코딩으로 인코딩되도록 지정한다.

 

이 헤더는 일반적으로 반환되는 콘텐츠 유형과 이를 해석하고 표시하는 방법에 대한 응답을 수신하는 웹 브라우저 또는 클라이언트에 알리는데 사용한다. 이 경우 콘텐츠가 다국어 문자 및 특수 기호를 지원하기 위해 UTF-8 문자 인코딩을 사용하여 표시되어야 하는 HTML 형식의 텍스트임을 지정한다.

 

 

 


 

Spring MVC 컨트롤러에서 "Content-Type"헤더를 설정하려면 프레임워크에서 제공하는 HttpServletResponse 객체를 사용할 수있다.

 

 

ex> html 보기를 반환하는 컨트롤러 메서드에서 다음 코드를 추가하여

"Content-Type"헤더를"text/html;charset=UTF-8"로 설정할 수 있다

여기서 @RequestMapping 주석은 GET요청을 이 메서의 "/example" URL 경로에 매핑하는데 사용 

HttpServletResponse 개체가 메서드에 매개 변수로 추가된 다음에

"Content-Type" 헤어를 설정하기 위해 setHeader() 메서드가 호출된다. 

헤더가 설정되면 컨트롤러는 "exampleView"를 반환할 수 있다.

 

 


 

ex>

 

이 예에서 handleRequest 메서드는 "/myEndpoint" 엔드포인트에 대한 요청을 처리하는 컨트롤러 메서드입니다.

응답에서 헤더를 설정하는 데 사용할 수 있는 매개 변수로 HttpServletResponse 개체를 사용합니다.

 

1. setHeader 메서드는 "MyHeaderValue" 값을 가진 "MyHeader"라는 사용자 지정 헤더를 설정하기 위해 HttpServletResponse 개체에서 호출된다

2. 헤더를 설정한 후 컨트롤러 로직을 실행할 수 있고

3. 뷰 이름을 반환할 수 있으며

4. 뷰 리졸버가 이를 확인하여 클라이언트에 응답을 렌더링한다.

반응형