336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
Download
다운로드를 하기 위해 우선 한가지 게시글을 가져오는 쿼리를 통해서
파일 이름을 가져오는 쿼리를 작성한다
하지만 ARTICLE_ID가 존재해도 파일이 존재하지 않으면 출력이 되지 않는다
그렇기 때문에 외부 조인을 해줘야한다
그렇다면 결과는 아래와 같이 파일이 존재하지 않는 게시글도 나오게 된다
그런데 위의 쿼리는 사용이 불가능하다
하나의 게시글이 여러 개의 파일을 가질 수 있기 때문에
그렇기 때문에 카운트로 가져오면 된다
이 쿼리를 getAllArticleList 쿼리에 적용시킨다
query.xml
파일 카운트를 넣기 위해 ArticleVO에 fileCount를 추가시킨다
ArticleVO
그럼 이제 DAO로 가서 file카운트를 set 시키는 과정을 추가한다
ArticleDAO - getArticleList()
이제는 출력된 article.jsp에서 수정을 해준다
이제는 파일 리스트를 갖기 위해 ArticleVO에 List<FileVO>를 가져야 한다
추가 후 getter/setter를 생성한다
# Biz -> DAO 호출
Biz가 Biz를 호출하는 경우는 사용 가능하지만 사용하지 않는다
MemberBiz -> MemberDAO 호출
ArticleBiz가 Member 정보가 필요하다면 MemberBiz를 호출하지말고 MemberDAO를 호출
Servlet -> Biz -> DAO
서비스
# 첨부파일 목록
이제는 게시글의 상세 페이지를 출력하는 ArticleBiz의 getDetailArticle()를 수정한다
FileDAO에서 파일 목록을 가져올 메소드를 생성하고 쿼리를 작성한다
파일이 여러 개일 가능성도 존재하므로 while로써 rs.next() 해준다
return을 null로 주는 용도는 JSP에서 JSTL을 작성할 때 값이 없다는 것을 Null로 체크하기 때문에
return을 null로 주면 편하다
이제 게시글 ArticleBiz에서 게시글 상세 페이지에 fileList를 추가한다
그리고 이제 상세글 페이지에서 테이블 로우를 추가해서 파일 리스트를 보여주면 된다
그럼 다음과 같이 페이지가 표현된다
이제 다운로드를 구현하기 위해 DownloadServlet을 생성한다
위와 같이 파일Id와 게시글Id를 가져와서 정보를 저장한다
그리고 DownloadUtil의 download를 이용한다
위와 같이 작성 후 게시글에 올라온 파일을 누르면 다운로드 창이 뜬다
'[ Developer ] > Web - Servlet JSP' 카테고리의 다른 글
[JSP Web] 댓글의 댓글 대댓글 Reply 구현 (0) | 2016.06.03 |
---|---|
[JSP Web] 리플 기능 Reply (0) | 2016.06.03 |
[JSP Web] Cookie 쿠키 이용하기 (0) | 2016.06.03 |
[JSP Web] 게시판 목록 페이징 Board Paging (0) | 2016.06.02 |
[JSP Web] 게시글 수정 Update 구현하기 (0) | 2016.06.01 |