[문제]
fileUpload 함수가 너무 길고 지저분 하게 되어있어서 리팩토링을 하는 도중
request로 파일 객체를 받아서 서버에 업로드를 해야하는데
클라이언트에서 넘겨줄땐 문제 없이 넘어가는데
파싱을 하려고 하면 null로 떴다.
[원인]
페이지의 요청이 발생하면 최초 한 번만 자바 코드로 변환된 후 서블릿 클래스로 컴파일 됨
즉, JSP는 실행시 서블릿으로 변환됨 (출처-https://pathas.tistory.com/176)
이것 때문인지 정확한 원인은 모르겠는데 request를 두번 사용해서 값들이 날아간것이었다.
[해결]
이 오래된(약 20년 전..) 프레임워크에서 공통적으로 만들어놓은 jsp에서 request를 먼저 받아 multipart인 것들을 파싱하고 있었다. 그 후에 내가 파싱을 시도하려고 하니까 null이 떴던것!!
중복된 소스를 제거하니까 정상적으로 file 객체들이 떴다.
멋찐 대리님의 도움을 받아 이틀동안 해결 못할 뻔 한걸 해결했다!!
Ref
https://lessoncoding.tistory.com/34
파일 업로드 / 다운로드 구현 (1) - 파일 업로드
파일 업로드를 서버에서 편리하게 구현하기 위해서는 cos.jar 또는 Commons Fileupload.jar 와 Commons io.jar 를 다운받아야 사용할 수 있다. 여기서는 Commons Fileupload.jar, Commons io.jar를 사용하여 파..
lessoncoding.tistory.com
https://pathas.tistory.com/176
JSP | JSP 개요 및 특징
JSP Java Server Pages 자바를 기반으로 하며 서블릿보다는 자바 코드에 덜 의존적인 웹 프로그래밍 언어 JSP 개요 서블릿과 동일한 처리 구조를 가짐 서블릿 기술을 확장한 것이며 웹 상에서 100% 순수
pathas.tistory.com
'Programming > trouble_shooting' 카테고리의 다른 글
[mybatis] 오류 Invalid column index. (0) | 2023.01.02 |
---|---|
SVN 설치/연동/사용자 권한/Svn: E175002: SSL handshake failed: 'Received fatal alert: handshake_failure 오류 (0) | 2022.12.05 |
[jsp] ajax 리턴 받을 때 parsererror가 뜬다면 (0) | 2022.03.31 |
[javascript] 날짜 비교 포맷 오류 (0) | 2022.01.27 |
[javaScript] safari에서 new Date() 안되는 현상 (0) | 2022.01.27 |