inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

안녕하세요. POST,GET 방식 url설정 관련

486

Kevin

작성한 질문수 26

0

안녕하세요.
 
64강 상품등록폼 강의이고, 상품등록 혹은 삭제 등 onclick 쪽 혹은 그 후의 동작들에대한 url설정을 하는 내용입니다.
 
1.
상품 등록시에는 GET방식으로 호출을 받아보고, 등록버튼을 누른 후에는 POST로 다르게 받아본다고 하시고
 
<form action="item.html" th:action="/basic/items/add" method="post">


th:action 뒷부분을 생략해도 된다고 하셨습니다. 왜냐하면 add에서 버튼을 누르고 나면 그 위치가 add이기 때문에 그대로 남아있을 거라고 해서요.. 근데 제가 지우지 않고 위와같은 코드로 프로그램을 돌려보니 화면이 안떠져서 f12를 눌러보니 500에러가 떠있더라구요.
위와같이 적는게 맞는건지(제가 500번 에러가 종종 뜨는것같아서 위 코드에 문제가 없으면 스킵해야할 것 같아요..) 한번 짚어주시면 감사하겠습니다.
 
2.
그리고 궁금한게 한가지 더 있는데 상품 취소를 누르고 http://localhost:8080/basic/items 로 되돌아 가는거나 그냥 items
상품목록을 누르고 http://localhost:8080/basic/items로 되돌아가는거나 둘다 GET방식인데
 
add창에 GET방식으로 들어가고 add버튼을 눌르고 저장시킨후 POST방식으로 서로 다르게 호출하는지가 조금 이해가 잘 되지 않습니다.
똑같이 생각하면 그냥 GET방식으로 호출해도 문제가 없을 것 같은데 해보면 오류가 나네요..
 
add전후의 다름을 표시해주기 위함인건지 같은주소->같은주소는 충돌이 일어나는건지, 궁금합니다..!
 
 
 

addform spring MVC

답변 1

0

나무늘보

안녕하세요, 님! 공식 서포터즈 codesweaver 입니다.

1. 500에러는 백엔드 코드에 오류가 있을때 발생하는 오류입니다. 전체적인 자바 코드에 오류가 있는지 확인해보셔야 해요.

2. get과 post일 때 백엔드의 처리가 달르기 때문에 구분해서 사용하는 것입니다. /basic/items/add 라는 경로는 같지만 폼을 get으로 전송하는가 post로 전송하는가에 따라  컨트롤러의 어느 메소드에 연결될지 갈립니다. 

@PostMapping(...) @GetMapping(...)  어느 프로세스를 선택할 것인가!

감사합니다.

0

Kevin

답변감사합니다.  1. 코드에 이상이 있어보이진 않습니다. 두번 진행하는 수업이기도하고 진행이 얼마되지 않아서 코드를 확인해봤는데 이상은 없네요.  그리고 1번질문은 위에 질문드린것과 같이 생략가능한 코드에서 생략을 하면 실행이되고 생략을 안해도 무방한데 생략을 안하고 그대로 적으면 왜 실행이 안되는지가 궁금합니다.(코드엔 이상이 없어요.)

2. post방식 get방식이 서로 다른건 알겠는데   강의에서 post를 쓴걸 get으로 하면 안되는 이유가 어떻게 될까요?

(리다이렉트하고 관련이 잇는걸까요..?)

시간내주셔 감사합니다!

0

나무늘보

안녕하세요 영님!

1. 폼에서 액션 값을 생략하면 자기자신을 의미합니다. 즉 폼 내역을 자기자신(=현재URL) 으로 전달합니다. 그런데 액션 값을 명시하면 문제가 발생하는 상태이니, 액션에 지정한 URL 경로에 문제가 있는것으로 추정할수 있는데요. 가능하시다면 전체 코드를 구글드라이브에 올려 공유해주시면 원인을 찾는데 도움이 될 것 같아요.

 

2. 만약 상품등록(add) 폼의 타입을 get 으로 전달할 경우, 상품등록은 실행되지 않을것이고, 상품등록 화면으로 다시 이동하겠지요? 그런데 이 과정이 제대로 처리 되지 않는다면 컨트롤러 코드를 살펴보아야 할것 같아요.

 

감사합니다.

0

Kevin

그쵸 자기자신인데.. 분명 같은데 말이죠.. 아무리봐도.. 

이번 실습예제 베이스삼아서 date넣은  todolist를 만들면서 코드를 하나하나 뜯어 맛보고 있는데,

해당 부분 또 문제있게되면 질문드리겟습니다! 감사합니다~!

mvc 패턴 - 적용 강의에서 회원가입할 때 redirect가 아닌 forward인 이유가 궁금합니다.

0

31

1

servlet과 container에 대한 질문입니다

0

54

1

api를 어느 컨트롤러에 작성해야하는지는 어떤 기준으로 해야하나요?

0

86

1

jsp 의존성 수정 요청

0

128

2

요즘 웹 서버가 주로 사용되는 이유는 SPA 구조 때문일까요 ?

0

161

1

save() 메서드 문의

0

79

1

절대 경로로 templates/basic 하위 파일 열면 css 적용 안되는 현상

0

114

1

request-body-json

0

97

2

MVC 패턴의 적용 단위

0

103

1

RequestMapping을 이용한 핸들러, 어댑터

0

124

2

save 후 결과화면

0

101

2

jsp를 이용한 view

0

102

1

application.properties에 debug 추가해도 결과가 똑같습니다.

0

195

1

수업 코드 제공 관련 문의

0

107

2

RequestMappingHandlerAdapter의 Controller 호출 과정

0

109

3

파일 오픈 시

0

76

1

스프링 배치 관련

0

81

1

@RequestParam의 defaultValue가 blank 값도 처리하는 지 여부

0

115

1

postman으로 /request-body-json-v1 호출시 500 error

0

109

1

프론트엔드와 백엔드의 mvc, rest api에 대한 질문

0

90

1

모델의 역할과 계층 분리에 대한 이해 차이 + 추가질문

0

119

1

console log 출력 관련 질문입니다.

0

80

1

애플리케이션이 실행 되지 않습니다 ㅠㅠㅠ

0

149

1

html 변경하는 부분 적용 문제

0

109

1