GET - 쿼리파라미터
URL?이름=값&이름=값
EX ) 검색, 필터, 페이징 등에서 많이 사용
📑전체 파라미터 조회
request.getParameterNames().asIterator()
.forEachRemaining(paramterName -> System.out.println(paramterName + " = " + request.getParameter(paramterName)));
📑단일 파라미터 조회
request.getParameter("이름");
String username = request.getParameter("username");
String age = request.getParameter("age");
System.out.println("username = " + username);
System.out.println("age = " + age);
📑복수 파라미터 조회
request.getParameterValues("이름");
String[] usernames = request.getParameterValues("username");
for (String name : usernames) {
System.out.println("username = " + name);
}
POST - HTML Form
- content-type: application/x-www-form-urlencoded메시지 바디의 데이터 형식을 지정한다.
- 메시지 바디에 쿼리파라미터 형식으로 전달 받는다.message body : 이름=값&이름=값
EX ) 회원가입, 상품주문 등에서 많이 사용
📑 Get 방식에서 쿼리파라미터로 받은 메서드를 그대로 사용할 수 있다.
🍫 테스트 방법 : postman / Talend API Tester
HTTP message body
HTTP message body에 데이터를 직접 담아서 요청
- HTTP API에서 주로 사용하며 데이터 형식은 JSON, XML ,TEXT 이다.
- 메서드는 POST,PUT,PATCH 로 사용된다.
📑간단한 텍스트
ServletInputStream inputStream = request.getInputStream();
String messageBody = StreamUtils.copyToString(inputStream,StandardCharsets.UTF_8);
System.out.println("messageBody = " + messageBody);
response.getWriter().write("ok");
📑JSON객체
@WebServlet(name = "requestBodyJsonServlet", urlPatterns = "/request-bodyjson")
public class RequestBodyJsonServlet extends HttpServlet {
private ObjectMapper objectMapper = new ObjectMapper();
@Override
protected void service(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
ServletInputStream inputStream = request.getInputStream();
String messageBody = StreamUtils.copyToString(inputStream, StandardCharsets.UTF_8);
System.out.println("messageBody = " + messageBody);
HelloData helloData = objectMapper.readValue(messageBody,HelloData.class);
System.out.println("helloData.username = " + helloData.getUsername());
System.out.println("helloData.age = " + helloData.getAge());
response.getWriter().write("ok");
}
}
'BackEnd > Servlet · JSP' 카테고리의 다른 글
[ Servlet&JSP ] HttpServletResponse 기능 (0) | 2023.03.21 |
---|---|
[ Servlet&JSP ] HttpServletRequest 기능 (0) | 2023.03.21 |
[ Servlet / JSP ] Model 1 방식과 Model 2 방식 비교 (0) | 2023.02.22 |
[ Project / Servlet · JSP ] 1차 과제 Model 2 방식 - (2) 게시판 만들기 ( 검색 기능 ) (0) | 2023.02.16 |
[ Project / Servlet · JSP ] 1차 과제 Model 2 방식 - (1) 게시판 만들기 ( 페이징 버튼 기능 ) (0) | 2023.02.15 |