https://steady-developer-hyemin.tistory.com/48
HttpServletRequest의 주요기능
- 서블릿 객체에서 최종적으로 요청을 처리하는 doGet()/doPost() 등은 HttpServletRequest와 HttpServletResponse를 파라미터로 전달받는다.
- 주로 읽는 기능을 제공
getParameter()
- '?name=AAA&age=20'과 같이 쿼리 스트링에서 'name'이나 'age'라는 키를 이용해 값을 얻는 역할을 위해 사용한다.
- 항상 String이라는 점 , 해당 파라미터가 존재하지 않으면 null 반환
- 문자열로 반환되기 때문에 숫자를 처리할 때는 예외가 발생할 수 있다.
getParameterValues()
- 동일한 이름의 파라미터가 여러 개 있는 경우에 사용한다.
- 예를 들어 name이라는 이름의 파라미터가 여러 개 존재한다면 getParameterValues()를 이용해 String[]타입으로 반환된다.
setAttribute()
- JSP로 전달할 데이터를 추가할 때 사용한다.
- setAttribute()는 키와 값의 형테로 데이터를 저장할 수 있다. 키는 문자열로 지정하고, 값은 모든 객체 타입을 이용할 수 있다.
- JSP에는 서블릿에서 setAttribute()로 전달된 데이터를 화면에 출력한다.
RequestDisspatcher
- 웹 MVC 구조에서는 HttpServletRequest의 getRequestDispatcher()를 이용해서 RequestDisptacher 타입의 객체를 구할 수 있다.
- 현재의 요청을 다른 서버의 자원(서블릿/JSP)에게 전달하는 용도로 사용
- 2개의 메소드가 존재한다. 실제 개발에서는 거의 forward()만 이용된다.
forward() | 현재까지의 모든 응답 내용은 무시하고 JSP가 작성하는 내용만을 브라우저로 전달 |
include() | 지금까지 만들어진 응답 내용 + JSP가 만든 내용을 브라우저로 전달 |
HttpServletResponse 주요 기능
- 주로 쓰는 기능을 담당한다.
전달 관련 | sendRedirect() | 브라우저에 이동을 지시 |
HttpServletResponse는 JSP에서 주로 처리되기 ㄸ ㅐ문에 서블릿 내에서 직접 사용되는 일은 많지 않고 주로 sendRedirect()를 이용하는 경우가 많다.
sendRedirect()
- 가장 많이 사용되는 메소드로 브라우저에게 다른 곳으로 가라 는 응답 메시지를 전달한다.
- HTTP에서 'Location' 이름의 HTTP 헤더로 전달되는데 브라우저는 'Location'이 있는 응답을 받으면 화면을 처리하는 대신에 주소창에 지정된 주소로 이동하고 다시 호출하게 된다.
- 브라우저의 주소가 아예 변경되기 때문에 사용자의 '새로고침'과 같은 요청을 미리 방지할 수 있고, 특정한 작업이 완전히 끄탄고 새로 시작하는 흐름을 만들 수 있다.
'Backend > Spring' 카테고리의 다른 글
[Spring] Security 동작 확인 / 사용 방법 (0) | 2023.12.18 |
---|---|
[Spring] 스프링 시큐리티란 ? / 시큐리티 기본 설정 / 예시 (0) | 2023.12.11 |
[Spring] HttpServlet 란? / HttpServlet 과정 (0) | 2023.12.11 |
[Spring] PRG 패턴 / 와이어프레임 (0) | 2023.12.11 |
[Spring] Web MVC 방식 (0) | 2023.12.10 |