언젠가 한번, Form에서 input태그로 입력을 받고, 서버에 전송하는것을 Request문을 보고 확인했으나,
서버쪽에서 request객체의 getParameter메서드를 아무리 호출해도 값을 받을 수 없었던 문제를 겪었던 적이 있다.
그 이유는 Content-Type를 잘못 설정했기 때문이였다.
request.getParameter로 데이터를 읽어들일때 서블릿컨테이너는 content-type이 application/x-www-form-urlencoded 이면 자동으로 request의 body를 읽어 Map 형태로 변환한다.
하지만 그 외의 content-type을 사용하고 있다면 POST요청시 위와같은 방법으로 데이터 추출이 불가능하다. request body를 stream을 이용하여 읽어와야 한다.
수많은 프레임워크와 API가 있지만 역시 가장 중요한것은 기초지식이라는것을 느꼈다.
웹의 기초가 되는 웹서버와 서블릿컨테이너의 동작원리를 자세하게 공부할 필요성이 있다
'Today I learned' 카테고리의 다른 글
인코딩 개념정리 (0) | 2019.07.06 |
---|---|
Traffic Control 정리 (0) | 2019.07.06 |
자바로 배우는 리팩토링 입문 1 (0) | 2019.07.02 |
파일업로드/삭제 로직개선 (0) | 2019.07.02 |
쿼리 결과가 없는 상태에서의 isnull (혹은nvl) 함수의 동작 (0) | 2019.06.10 |
댓글