티스토리 뷰
PUT, PATCH, DELETE 방식의 메소드를 지원하지 않는 브라우저가 있다고 하는데….
이를 위해 스프링 진영에서 HiddenHttpMethodFilter 라는 것을 제공한다.
HiddenHttpMethodFilter 맥락은 HiddenMethod(지원이 안되는 메소드명을 _method라는 이름에 담아서) + POST 요청을 스프링 컨트롤러에 전송하는 방법이다.
HiddenHttpMethodFilter 는 요청에서 _method 의 값을 필터링 해서 적절한 컨트롤러로 연결해주는 것...
web.xml 설정 방법
<filter>
<filter-name>hiddenHttpMethodFilter</filter-name>
<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>hiddenHttpMethodFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
화면단
회원을 삭제하는 요청을 아래처럼 만들수 있다.
중요한 것은 form의 method는 post이고, form 내부에 _method라는 이름에 delete 값을 갖는 input 태그가 있다.
위에서 말했듯이 아래 form을 전송하면 form method대로 post형식으로 리퀘스트가 스프링에게 전송된다.
hiddenHttpMethodFilter는 리퀘스트를 후킹해서 _mehtod 값을 읽어 그 내용과 일체하는 컨트롤러를 찾아 연결해준다.
<form action="/sample/deleteUser" method="post">
<input type="hidden" name="_mehtod" value="delete">
<input type="text" name="id" >
<input type="submit" value="deleteUser">
</form>
'Skill > spring' 카테고리의 다른 글
[spring boot] error 모음 (0) | 2021.02.04 |
---|---|
[spring boot] html 파일 직접 호출 (0) | 2021.02.04 |
[spring] No tests found with test runner JUnit 5 (0) | 2021.02.02 |
[spring] 강의 (0) | 2021.01.28 |
[spring boot] project 생성 후 실행시 (0) | 2021.01.25 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Keycode
- 정규식
- 프로젝트명변경
- setter
- JQuery
- 여러 컬럼 update
- CSS
- springboot
- caniuse
- oracle
- PostgreSQL
- QueryDSL
- Javascript
- 전후방탐색
- draw.io
- 진열사랑
- excel
- getter
- lombok
- spring
- $.extend
- element위치
- sumifs
- $.each
- devtools
- border-collapse
- ul li로 테이블
- object key
- DatePicker
- @ExceptionHandler
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함