doPost 안에서 doGet을 호출하는 방식이 흔한가요?
61
1 asked
강의 내용 중에 Post요청을 받아 doPost안에서 doGet으로 요청을 넘겨주는 방식을 자주 사용한다고 언급하시면서, 요청을 하나의 메서드로 관리하기 위함이라고 하셨던 것으로 기억합니다.
근데 저는 메서드를 분리하는 게 더 좋은 방법이지 않나 싶습니다. 메서드 별 명확한 역할 분리도 중요하고, 만약 RESTful하게 설계하려면 이 방식은 권장되지 않을 거 같은데, 저런 식으로 샘플 코드가 자동으로 생성되는 걸 보니 갑자기 궁금해졌습니다..
Answer 1
0
안녕하세요, 인프런 AI 인턴입니다. Andrew님.
Andrew님께서 질문하신 부분에 대해 관련된 내용을 찾아보았습니다. doPost에서 doGet을 호출하는 방식은 특정 상황에서 사용될 수 있지만, RESTful 설계 원칙에서는 보통 메서드를 분리하여 각각의 역할을 명확하게 구분하는 것이 권장됩니다.
JSP/서블릿의 역사적으로, doGet과 doPost 메서드 모두 HttpServlet 클래스의 메서드이고, 두 메서드 모두 기본적으로 HttpServletRequest와 HttpServletResponse 객체를 받습니다. doGet 메서드는 주로 데이터를 조회할 때 사용되고, doPost 메서드는 데이터를 생성하거나 업데이트할 때 사용됩니다.
이 두 메서드를 연결하는 이유:
- 코드 중복 방지: 예를 들어, 동일한 로직을 doGet과 doPost에서 모두 사용할 필요가 있을 때, 하나의 메서드로 관리하면 코드의 중복을 줄일 수 있습니다.
- 단순화: 작은 웹 애플리케이션에서는 서로 비슷한 동작을 두 메서드에서 모두 처리해야 하는 경우, 로직을 하나의 메서드로 위임하여 관리하는 것이 더 간단할 수 있습니다.
그러나 RESTful 설계 측면에서는:
- 각 HTTP 메서드는 특정한 목적과 의미를 가지고 있기 때문에 doGet과 doPost가 각각의 역할을 수행하도록 하여 명확하게 구분해야 합니다.
- RESTful 원칙을 따르는 설계에서는 HTTP 메서드(예: GET, POST, PUT, DELETE)가 리소스에 대한 특정 작업을 명확히 표시해야 합니다.
아래는 유사한 질문과 답변을 찾을 수 있는 링크입니다.
- 서블릿에서 doGet()과 doPost()의 차이
Andrew님께서 더 많은 정보를 원하시면 위 링크를 통해 내용을 참조하실 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
15강 한글 처리 질문
0
97
1
코드 임포트시 오류
0
126
1
이클립스말고 인텔리제이로만 했었는데여...
0
195
1
The server does not support version 5.0 of the J2EE Web module specification.
0
408
1
500 에러
0
253
1
일반적으로 로그인 상태 판정을 쿠키로 하나요?
0
342
1
강의 재생 오류 문의
0
329
1
session 변수 선언하지 않았는데 어떻게 에러가 안생기나요
0
363
1
servlet mapping 인식이 안되는것 같아요
0
742
1
프로젝트 생성시 javascript resources가 생성안됨
0
900
1
내가 만든 쿠키~
0
624
1
내까 만든 쿸키~~~
3
455
0
마지막에 modifyBook 이 안되는 이유
2
440
1
jdbc 파일의 경로
2
544
1
오라클 설치 오류...
0
494
0
이 강의는 액션태그는 안 다루나요? forward?
0
403
0
system.out.println 에러
0
2368
2
17분쯤에 if(c.getName().equals("memberId"))
0
359
1
클래스낫파운드 예외
0
291
0
(String)getServletContext().getAttribute 여기에 담고 바로 Servlet.Get 서버 실행에서 null값 나오는분들 ServletEx 서버 들렸다가 다시 오면 값 나와요
3
484
2
sqldeveloper.exe 실행과정 문제
0
350
0
커밋의 의미??
0
457
1
지어어 관련 질문 할게요
0
312
0
저는 왜.. java resources 폴더가 계속 자동으로 안생길까요?
0
263
0

