ㅋㅋ
[명세 및 작업 내역]
1. 업로드시는 Stream이 Inputstream으로 나와서 이걸 Mappedbytebuffer로 바꾸고 그걸 파일로 저장하는 것이 필요없다고 생각되어 안함.
2. 파일 타입을 확인하여 올바른 폴더에 넣는다. 헤더 같은 것을 보지 말고 그냥 확장자로 한다. 이유는 파일 업로드는 관리자 만 할 수 있게 할 것이므로 사이트에 장난을 친다고 생각할 수 없고 혹시 다른 파일을 확장자를 바꿔 보내 더라도 폴더가 달라지고 보여주는 태그가 잘 못 나올우려뿐 큰 문제가 일어나지 않는다.
[앞으로의 작업 내역]
1. 사진, 문서(microsoft office, text, html), 동영상(activeX용, 일반동영상), 음악은 파일 형식에 따라 글쓴이(관리자)가 쉽게 보여줄 위치, 재생 여부, 다운 로드 여부 를 적을수 있도록 해야한다.
[다른 작업의 진행]
1. 페이지 문제 요청디스패처로 해결해야함?
JSP / Servlet 작성하다 보면 파일 다운로드 사항이 들어간다.
이때 Java와 Jsp에서 처리하는 것에 차이가 발생한다.
jsp에서 getOutputStream을 불러오는 것 만으로 에러가 발생하는데
이중 하나가 getOutputStream() has already been called for this response 에러 이다.
해당 에러는 jsp에서 outputstream을 사용할때 servlet에서 생성된 out 객체와 중복되어 발생하는 에러다.
이때 servlet에서 생성된 out(JspWriter)객체를 clear시키고 jsp에서 다시 생성해서 사용하면 되는 것이다.
out.clear로 out객체를 clear시키고
out에 pageContext.pushBody(); 로 새로운 out 객체를 생성해서 넣어주면된다.
pushBody
public BodyContent pushBody()Return a new BodyContent object,
save the current "out" JspWriter,
and update the value of the "out" attribute
in the page scope attribute namespace of the PageContext.
자바 I/O & NIO 네트워크 프로그래밍
tags : 도서