TIL

[24.08.15] Servlet에서 궁금한점 몇가지 정리

DongHo 2024. 8. 15. 21:32

1. 메타 정보, 메타 데이터는 뭐야?

메타 데이터, 메타정보 둘다 클래스나 객체에 대한 정보를 설명하는 용어로, 클래스의 구조와 특성에 대한 정보를 포함(클래스의 구조, 클래스 이름, 필드, 메소드, 클래스 상속 관계

 

2. Mock 객체?

단위 테스트(Test)에서 실제 객체를 대신하여 사용되는 가짜 객체

 

3. Reflection 기술?

클래스의 메타 데이터를 동적으로 조회하고 조작할 수 있게 해준다.

 

4. attribute vs parameter

Attribute : httpservletrequest 객체로 다른 서블릿의 값 전달 매개체
Parameter : URL querystring이나 http body 통한 전달 매개체

 

5. HttpServletRequest vs HttpServletResponse 역할

HttpServletRequest : 요청 범위 내에서 데이터를 전달하고 공유하는데 중점을 둔다. 클라이언트의 요청 처리 중에 서버 내에서 데이터를 유지하고 전달할 필요가 있기 때문입니다.

HttpServletResponse : 응답을 클라이언트에게 반환하는데 중점을 둔다. 클라이언트에게 전달할 응답의 내용과 메타데이터를 설정하고, 클라이어트의 요청에 대한 응답을 받게한다.

그래서, HttpServletRequest는 attribute를 제공하여 서버 내 데이터 전달을 처리, HttpServletResponse는 응답 설정 관련된 기능만 제공(Cookie와 Session은 HttpServletResponse 객체로 client에게 값 전달한다.)

 

6. HttpServletRequest, HttpServletResponse 과 ServletRequset, ServletResponse 차이?

차이점을 범용성과 사용용도에 대해 말해보겠다.

범용성

'ServletRequset'와 'ServletResponse'는 HTTP뿐만 아니라 다른 프로토콜(TCP, FTP 등)을 처리할 수 있는 범용적인 인터페이스이다.

그러나, 'HttpServletRequset'와 'HttpServletResponse'는 HTTP 프로토콜에 특화된 인터페이스로, HTTP 관련 정보를 다루는 데 필요한 메소드들을 추가로 제공한다.

사용용도

'ServletRequset'와 'ServletResponse' 하위 클래스에 'HttpServletRequset'와 'HttpServletResponse'가 있다.

'HttpServletRequset'와 'HttpServletResponse'는 위에서 말했다시피 HTTP 프로토콜에 특화된 인터페이스라, HTTP메소드(GET, POST 등), Header 정보, 쿠키, 세션 등 HTTP와 관련된 세부 정보를 다룰 수 있는 메소드들이 추가로 제공된다.