본문 바로가기

구디 아카데미 수료 과정/팀프로젝트 (그룹웨어)

구디아카데미 후기/ 국비지원IT개발자 취업 / 전민균 강사님/클라우드 활용 자바개발자 양성과정/•105일차/04.01

파일로드 다운로드 기능에 생긴 문제 해결

 

원인

파일다운로드 기능에서 동적으로 생성되는 태그를 Select options 에서   span tag로 바꿨었음

 

바꾼 후에 별도의 테스트를 안하고 오랜만에  파일다운로드 기능을 해보니

 

파일번호가  undefinded로 들어오는 문제가 발생

 

-> 단순 이유가  span태그로 변경했는데  돔탐색 id를 안바꿔줘서 그런줄 알았지만 그 해결과정에서 많은 시행착오가 있었음

 

 

겪었던 문제들

 

1.  동적으로 생성되는 새로운 태그에 id를 부여하고자 했었으나  'id', fileNum이라고 작성해서  인식을 못했었음

    -> 자바스크립트에서 텍스트는 꼭 '  '감싸줘야 함! 

 

 

 

2.  span 태그는 value를 쓸 수 없었음  value를 쓰려면 input, button tag로 바꾸던가   span의 textContent를 호출해야 했음. 하지만 textContent에는 이미 다른 내용이 들어가있는 상황이라   input tag를 hidden 속성으로 추가하는 방법으로 해결하였음

 

3. 모든 문제를 해결 한뒤에 파일 다운은 정상작동 하지만   컨트롤러에 아래와 같은 오류로그가 찍히는 문제 발생 

 

java.lang.IllegalStateException: 응답이 이미 커밋된 후에는, 세션을 생성할 수 없습니다.

 -> 있지도않은 WEB-INF  ~ fileDown.jsp를 찾는것을 보고  해당 메소드가 강제로 스프링 서블렛을 타고 있다는것을 유추했음

 

하지만  controller에도 이미 void로 선언해놓았길래 별도의 해결책을 못찾던 도중

@ResponseBody annotation을 추가해서 해결이 가능했음 (강제로 dispatcher servlet을 타지 않도록 했음 )

 

 

구디아카데미 후기/ 국비지원IT개발자 취업 / 전민균 강사님