본문 바로가기
[ java ]

HttpServletRequest 과 HttpServletResponse 메소드 정리

by 히앤님 2022. 10. 17.
반응형
SMALL

HttpServletRequest 과 HttpServletResponse  메소드 정리

HttpServletRequest 를 간단하게 req라고 해봅시다. req를 사용하면, 값을 받아올 수가 있는데, 회원정보를 보냈다면 req 객체 안에 모든 데이터들이 들어가 있다. 따라서 req 객체의 몇가지 메소드들을 사용해서 원하는대로 꺼내쓰면 됨.

HttpServletRequest 메소드 메소드 설명
req.getMethod() get방식과 post방식을 구분할 수 있다.
req.getSession() 세션 객체를 얻는다.
req.getProtocol() 해당 프로토콜을 얻는다.
req.getParameter() 원하는 데이터를 꺼낼때(반환타입 String)
req.getContextPath()  프로젝트 Path만 가져옵니다.
req.getRequestURI()  프로젝트 + 파일경로까지 가져옵니다.
req.getRequestURL() 전체 경로를 가져옵니다.
req.getQueryString()
쿼리스트링을 얻는다.
req.ServletPath()  파일명만 가져옵니다.
req.getRealPath()  서버 or 로컬 웹 애플리케이션 절대결로 가져옵니다. 
req.setCharacterEncoding("UTF-8") POST방식으로 보내는 값이 '한글'일 경우 깨지지 않게 전달하기 위해 사용(GET은 톰캣에서 기본 UTF-8 적용되어있음)
req.setContentType("text/html;charset=utf-8") 서블릿에서 직접 브라우저에 출력해줄경우 브라우저에게 어떤 인코딩 방식을 쓸 것인지 전달
req.getwriter() java.io의 PrintWriter 클래스를 리턴 타입으로 한다. PrintWriter 클래스는 바이트를 문자 형태 객체바꿔주는데 클라이언트에게 문자형태로 응답하고 싶기 때문. getWriter()는 '쓰기'로 응답하겠다는 말로, 응답으로 내보낼 출력 스트림을 얻어낸 후 out.print(HTML태그) 를 써서 스트림에 텍스트를 기록한다.

HttpServletResponse를 간단하게 resp라고 해봅시다. HttpResponseServlet을 사용하여 Http Response 메시지를 생성/응답한다.

HttpServletResponse 메소드 메소드 설명
resp.setContentLength() 컨텐츠 길이 설정
resp.setHeader()  응답하는 데이터의 타입
resp.setStatus("응답코드") 응답코드를 지정할 수 있다. http 응답코드 200으로 적어도 되지만 이미 선언되어있는 상수를 사용하는게 의미 있는 값으로 사용할 수 있음.
resp.setCharacterEncoding("UTF-8") 응답할 때 문자의 인코딩 형태를 구한다.
resp.setContentType("application/json") 서블릿에서 직접 브라우저에 출력해줄경우 브라우저에게 어떤 인코딩 방식을 쓸 것인지 전달.
application/json은 utf-8이 스펙상 지정되어 있어 Response Header Content-Type에 charset을 추가해줄 필요가 없다.
addCookie(cookie) 쿠키를 지정한다.
sendRedirect(URL) 지정한 URL로 이동한다.
resp.getwriter() java.io의 PrintWriter 클래스를 리턴 타입으로 한다. PrintWriter 클래스는 바이트를 문자 형태 객체바꿔주는데 클라이언트에게 문자형태로 응답하고 싶기 때문. 응답으로 내보낼 출력 스트림을 얻어낸 후 out.xx(HTML태그) 를 써서 스트림에 텍스트를 기록한다.
resp.getOutputStream()
출력스트림에 접근하여 읽고 쓰는 등의 작업을 한다.

ActionForward란?

Action이 모든 작업을 끝내고서 이동하는 위치을 가상적으로 지정한 것이 ActionForward이다.
브라우저요청 -> ActionServlet -> [ActionForm] -> Action -> ActionForward의 path에 의해 지정된 다른 웹 요소

참고 : https://cobook.tistory.com/8

반응형
LIST

댓글