[Spring] HttpServletRequest , HttpServletResponse란? / 주요 기능과 자주 사용하는 메서드

2023. 12. 11. 21:10·Backend/Spring
728x90

https://steady-developer-hyemin.tistory.com/48

 

[Spring] HttpServlet 란? / HttpServlet 과정

HttpServlet - HttpSerlvet은 GET/POST 등에 맞게 doGet(), doPost() 등을 제공하므로, 개발자들은 본인에게 필요한 메소드를 오버라이드하는 것만으로 GET/POST 방식 처리를 나누어서 처리할 수 있다. - HttpServlet

steady-developer-hyemin.tistory.com

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'이 있는 응답을 받으면 화면을 처리하는 대신에 주소창에 지정된 주소로 이동하고 다시 호출하게 된다.

 - 브라우저의 주소가 아예 변경되기 때문에 사용자의 '새로고침'과 같은 요청을 미리 방지할 수 있고, 특정한 작업이 완전히 끄탄고 새로 시작하는 흐름을 만들 수 있다.

 

 

728x90
저작자표시 (새창열림)

'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
'Backend/Spring' 카테고리의 다른 글
  • [Spring] Security 동작 확인 / 사용 방법
  • [Spring] 스프링 시큐리티란 ? / 시큐리티 기본 설정 / 예시
  • [Spring] HttpServlet 란? / HttpServlet 과정
  • [Spring] PRG 패턴 / 와이어프레임
hyeminyy
hyeminyy
Full Stack Developer | consistency
  • hyeminyy
    maemingu
    hyeminyy
  • 전체
    오늘
    어제
    • 분류 전체보기 (78)
      • Backend (46)
        • Java (15)
        • JSP & Servlet (5)
        • EL & JSTL (3)
        • Spring (15)
        • DataBase (4)
        • 알고리즘 (4)
      • Frontend (11)
        • Next.js (5)
        • JavaScript (3)
        • Vue.js (3)
      • IT_STUDY (21)
        • 정보처리기사 (9)
        • SQLD (8)
        • 개인공부 (4)
      • Developer! (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • Github
    • Notion-portfolio
  • 공지사항

  • 인기 글

  • 태그

    Java
    SQLD
    jstl
    정처기 요약
    sqld자격증
    정처기
    springProject
    알고리즘
    Next.js
    JSP
    백앤드
    Spring
    NextJS
    MVC
    el
    정보처리기사 실기
    프론트엔드
    SQL
    Servlet
    정처기 필기 요약
    뷰
    httpServletRequest
    코딩테스트
    springboot
    개발자
    백앤드개발자
    정보처리기사 실기 요약
    정처기 실기
    정보처리기사
    정처기 실기 요약
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
hyeminyy
[Spring] HttpServletRequest , HttpServletResponse란? / 주요 기능과 자주 사용하는 메서드
상단으로

티스토리툴바