본문 바로가기

SpringBoot

7월 14일 HttpServletRequest 기본 사용법

1.서블릿 사용

@webServlet(name = "reqeustHeaderServlet" , UrlPatterns="/request-header")

public class requestHeaderServlet extends HttpServlet{

@Override

protected void service (HttpServletRequest req , HttpServletResponse resp) throws servletException{

super.servie(req, resp);

}

}

 

HTTP 요청데이터 - 개요

3가지 방법

1.GET- 쿼리 파라미터

/url * ?username=hello&age=20

메시지 바디없이 URL의 쿼리파라미터에 데이터를 포함해서 전달

ex) 검색 , 필터 , 페이징 등에서 많이 사용하는 방식

 

2.Post - HTMLForm

content - type :application / x-www-form-urlencoded

메시지 바디에 쿼리파라미터 형식으로 전달 username = hello&age = 20

ex) 회원가입 , 상품주문 , HTML Form사용

 

3.HTTP Message body에 데이터를 직접 담아서 요청

HTTP API 에서 주로 사용가능 , Json , Xml , Text

데이터 형식은 주로 JSON을 사용

Post , Put , Patch

 

HTTP요청 데이터 - Get 쿼리 파라미터

쿼리파라미터는 URL에서 다음과 같이 '?'를 시작으로 보낼 수 있다.

추가 파라미터는 &로 구분하면 된다

http://localhost:8080/request-paraw?username=hello&age=20

 

서버에서는 HTTPServletRequest로 조회가 가능하다

HTTPServletRequest request

request.getParameterNames(); 로 모든 파라미터를 받는다

 

request.getParameterNames().asIterator().forEachRemaining(paramName -> syou(paramName,request.getParameter(paramName)))

getParamNames는 모든 파라미터의 key

getParameter(Name)는 파라미터의 값을 가져온다

 

같은 이름의 복수 파라미터 조회

String[] userName = request.getParameterValues("userName")

for(String user : userName){

sout("username" + user);

}

 

response.getWriter.writer("ok");

 

request.getParameter는 parameter가 중복되지 않을때 사용해야한다.

중복일때는 request getParameterVlaues()를 사용한다.

 

get은 message가 없다. 쿼리스트링에 있음

post는 message가 있다,. 쿼리스트링이 없음.