본문 바로가기
JAVA

httpServletRequest 주요기능

by NetStats 2024. 5. 2.

서블릿 객체에서 최종적으로 용을 처리하는 doGet/doPost 등은

HttpServlet, HttpsServletResponse를 파라미터로 전달받습니다

제공되는 주요기능은 다음과 같습니다

기능 메서드 설명
HTTP 헤더 관련 getHeaderNames()
getHaeder(이름)
HTTP헤더 내용들을 찾아내는 기능 
사용자 관련 getRemoteAddress() 접속한 사용자의 IP주소
요청관련  getMethod()
getRequestURL()
getRequestURI()
getServletPath()
get/post정보, 사용자가 호출에 사용한 URL정보 등
쿼리 스트링 관련 getParameter()
getParameterValues()
getParameterNames()
쿼리 스트링 등으로 전달되는 데이터를 추출하는 용도로 사용
전달 관련 getRequestDispatcher()  
데이터 저장 setAttribute() 전달하기 전에 필요한 데이터를 저장하는 경우에 사용

 

getParameter

HttpServletRequest에서 가장 빈번하게 사용되는 메서드로 ?name=00&age=00 과같은 쿼리 스트링에서 name이나 age라는 (key)값을 이용해서 값(value)을 얻는 역할을 위해서 사용

 

getPrameter()의 결과는 항상 String이다 만일 해당 파라미터가 존재하지 않는다면 null을 반환할수 있다

이떄문에 항상 null체크를 주의해줘야하고 문자열로 반환되기 때문에 숫자를 처리할때에는 예외가 발생할수 있으므로 주의해야한다.

 

getParametervalues()

getParameter와 유사하게 getParameterValues는 동일한 이름의 파라미터가 여러개 있는 경우에 사용한다

예를 들어 name이라는 이름의 파라미터가 여러 개 존재한다면 getParameterValues를 이용해서 String[]타입으로 반환된다.

 

setAttribute()

setAttribute()는 JSP로 전달할 데이터를 추가 할때 사용한다 setAttribute는 키(key)와 값(value) 의 형태로 데이터를 저장할 수 있고

이때 키(key)는 모든 객체 타입을 이용 할 수 있다 JSP에는 서블릿에서 setAttribute로 전달된 데이터를 화면에 출력하게 된다.

 

RequestDispatcher

웹 MVC구조에서는 HttpServlet의 getRequestDispatcher()를 이용해서 

RequestDispatcher 타입의 객체를 구할 . 수있다 

RequestDispatcher는 현재의 요청(Request)을 다른 서버의 자원(서블릿 혹은 JSP)에게 전달하는 용도로 사용한다

Request-Dispatcher  는 2개의 메서드가 있는데

 

- forward():현재까지의 모든 응답 내용은 무시하고 JSP가 작성하는 내용만을 브라우저로 전달

 - include():지금까지 만들어진 응답(response)내용 + jsp가 만든 내용을 브라우저로 전달

실제 개발에서는 거의 forward만 사용한다.

 

HttpServletResponse의 주요 기능 

HttpServletRequest가 주로 '읽기' 기능을 제공한다면 HttpServletResponse는 반대로 '쓰는' 기능을 담당한다

HttpServletResponse의 주요 기능은

기능 메서드 설명
MIME타입 setContentType() 응답 데이터의 종류를 지정(이미지/HTML/XML등)
헤더 관련 setHeader() 특정 이름의 HTTP헤더 지정
상태 관련 setStatus() 404,200,500등 응답 상태 코드 지정
출력 관련 getWriter() PrintWriter를 이용해서 응답 메서지 작성
쿠키 관련 addCookie() 응답 시에 특정 쿠키 추가
전달 관련  sendRedirect 브라우저에 이동을 지시 

 

웹 MVC구조에서 HttpServletResponse는 JSP에서 주로 처리되기 때문에 서블릿 내에서 직접 사용되는 일보다

주고 sendRedirect()를 이용하는 경우가 많다

반응형

'JAVA' 카테고리의 다른 글

웹 MVC  (0) 2024.05.04
Spring 어노테이션 정리  (0) 2024.05.03
JAVA 파일 스트림  (0) 2024.05.02
비동기 처리와 Axios  (1) 2024.05.02
Ajex와 REST  (0) 2024.04.30

댓글