GET 방식과 POST 방식

🤔 GET 방식을 통해 데이터 내용들을 jsp로 보여줬다면, 게시물 등록과 같은 POST 방식은 어떻게 구현할까 ?

request.getMethod() 를 사용한다.

  • request 는 HttpServletRequest 클래스의 객체로, 해당 메서드를 사용하면 GET 방식인지 POST 방식인지 확인할 수 있다.
  • 해당 프로젝트에서는 Rq 클래스(커스텀 라이브러리)를 통해 rq.getMethod(); 를 사용했다.
switch (rq.getMethod()) {
    case "GET":
        switch (rq.getPath()) {
            case "/usr/article/list/free":
                articleController.showList(rq);
                break;
            case "/usr/article/write/free":
                articleController.showWrite(rq);
                break;
            case "/usr/member/login":
                memberController.showLogin(rq);
                break;
        }
        break;
    case "POST":
        switch (rq.getPath()) {
            case "/usr/article/write/free":
                articleController.doWrite(rq);
                break;
        }
        break;
...
  • 다음과 같이 분기문을 하나 추가함으로써, GET → url 체크 순으로 구현했다.
  • showWirte 메서드와 doWrite 메서드는 각각 GET, POST 방식에 대한 요청을 처리한다.
    (url 은 같지만, 어떤 HTTP 방식이냐에 따라 다르게 작동함.)

request.getParameter()

  • 이것 역시, HttpServletRequest 클래스의 내장메서드로, HTTP 요청의 파라미터 값을 얻기 위해 사용한다.
    • 즉, usr/article/write/free?title=제목&body=내용 이라고 주어졌을 때,
      → 파라미터 값인 (제목, 내용) 을 가져온다.

⭐ 반드시, form 태그의 method 속성을 부여해줘야 한다.

// write.jsp   POST 방식으로 바꾸기 !!!
<form method="POST" onsubmit="ArticleSave__submitForm(this); return false;">
profile
Strengthen the core.

0개의 댓글