본문 바로가기
Spring/스프링 MVC

[스프링 MVC 1편] 2 - (3) HttpServletRequest

by Poorm 푸름 2023. 10. 23.

 

* 스프링 입문은 Window로 스프링 MVC 1편은 Mac으로 진행합니다  
 *  진도 : 섹션2 - (3) ~ (4)
 *          : 자바 클래스명,         : 코드,         : 단축키

 

1. HttpServletRequest

  •  HTTP 요청 메세지를 손쉽게 작성해주는 기능

  • 구조

    < START LINE >

      -   HTTP 메소드
      -   URL
      -   쿼리 스트링
      -   스키마, 프로토콜

    < 헤더 >

      -   헤더 조회

    < 바디 >

      -   form 파라미터 형식 조회
      -   message body 데이터 직접 조회

 

2. HttpServletRequest 사용 

[ src - main - java - hello.servlet - basic - RequestHeaderServlet ]

 

-@WebServlet(name = "requestHeaderServlet ", urlPatterns = "/request-header" )

  • 해당 어노테이션에 경로를 입력하면 클라이언트에서 톰캣서버가 찾아서 실행한다
  • /request-header 입력하면 하위 메서드 실

- public class RequestHeaderServlet extends HttpServlet 

  • 서블릿을 사용하기 위해 HttpServlet을 상속받는다
  • 서블릿이 웹상에서 HTTP 프로토콜을 이용해 서비스를 처리하기 위해 반드시 상속받아야 하는 클래스
  • 모든 서블릿 클래스의 상위 클래스는 HttpServlet

protected service (control + o)

  • servlet 호출되면 서비스 메서드도 호출
  • 위에서 만든 urlPatterns 대로 검색하면 콘솔 로그에 해당 명령어 출력

 - request.getParameter()

 

  • HTTP 요청의 파라미터 값을 얻기 위해 사용하는 메서드
  • 사용자가 입력한 데이터를 가져올 수 있다
  • 문장 끝에 커서 두고 option + command + V

- response.getWriter().write()

  • response.getWriter()를 통해 writer 객체를 얻는다
  • write나 print를 통해 response body message를 생성하여 응답 
  • 실제 홈피에 write() 안의 내용이 출력된다

 

2. 정보 조회 [ src - main - java - hello.servlet - basic - RequestHeaderServlet ]

  • start-line
  • Header 모든 정보
  • Header 특정 정보
  • 기타 정보

 

< GET - 쿼리 파라미터 >

  • /hello?username=hi&age=22
  • 메시지 바디를 사용하지 않고, URL의 쿼리 파라미터에 데이터를 포함해서 전달하는 방법
    ex) 검색, 필터, 페이징에서 많이 사용

  • HttpServletRequest를 통해서 쿼리 파라미터 조회하기
형식 리턴 타입 설명
request.getParameter("username") String 단일 파라미터 조회
request.getParameterNames() Enumeration<String> 파라미터 네임 모두 조회
request.getParameterMap() Map<String, String[]> Map 형식으로 파라미터 조회
request.getParameterValues("username") String[] 동일 이름의 복수 파라미터 조회

 

 

 

 

 

 

[출처] 김영한 강사님 인프런 스프링 MVC 1편

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1/dashboard

 

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 인프런 | 강의

웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., 원

www.inflearn.com