21.04.06

EDDIE Kim·2021년 4월 5일
0

KH

목록 보기
75/98


웹어플리케이션 개발(프로젝트 진행) 사이클

기획발표전에 우리가 하는것

파일업로드 준비


파일업로드(파일입출력작업) - 0부터 만들지 않고 라이브러리 가져다쓸거임
1. cos.jar - servlet/jsp에서 써볼예정
2. apache-commons-io. - spring에서 써볼예정
라이브러리에서 제공하는 객체를(서블릿에서) 만들어서 자동으로 처리

구글링해서 http://www.servlets.com/cos/ 접속

다운로드

압축해제하고 jar파일 위치시키기

파일업로드하기


RECIPE : 이대로만하면 나도 파일업로드 가능하다!

1. boardForm.jsp로 와서 form태그에 method속성이 반드시 "post"여야함.
get방식으로는 파일업로드 불가

<form
	name="boardEnrollFrm"
	action="<%=request.getContextPath() %>/board/boardEnroll" 
	method="post"
	enctype="multipart/form-data">

enctype="multipart/form-data" <- form 태그안에 enctype 속성 추가해주기


2. BoardEnrollServlet.java로 와서 사용자 입력값처리전에 객체 생성하기

저장기능이있는 setattribute, getattribute기능이 있는 객체종류. 생명주기가 다 다름.

/앞의 부분은 /WebContent를 의미함

2-1. 저장경로 지정

2-2. 최대파일허용크기 지정 : 바이트단위로 전달해야함 (1kb = 1024byte, 1mb= 1048576byte)

2-3. encoding

2-4. 파일명 변경정책 객체

2-5. 기존 request, 저장경로, 최대파일허용크기, encoding, 파일명 변경정책을 매개인자로 받는 객체생성


3. db에 게시글/첨부파일 정보 저장하기

3-1. 사용자 입력값 처리

3-2. originalFileName : 사용자가 업로드한 파일명 | renamedFileName : 저장된 파일명

3-3.
첨부파일이 있는 경우 Attachment 객체생성
첨부파일이 있을때만 board에 attach 객체



4. 업무로직 : db에 insert

BoardService.java로 이동해서 작성

BoardDao.java로 이동해서 작성


5. 쿼리작성

board-query.properties로 이동해서 작성


6. 예외처리

BoardException.java로 이동해서 작성

셋중에 하나라도 오류나면 rollback하도록 Service단에서 처리해뒀음
끝.


우리가 만든 프로젝트는 WAS(톰캣)에 배포되서 실행된다. so 톰캣을 웹컨테이너라고도 부름.

톰캣을 돌리면 안에 webapps이 실행(우리프로젝트)되는 것.

배포의 다른말들

Serve modules without publishing을 체크하면 publishing없이 모듈(프로젝트)을 제공해라!
배포과정없이 WAS가 우리 프로젝트 경로에와서 직접 참조해서 실행함.


파일명 변경정책 객체 커스터마이징(파일이름 다시짓기!)
중복파일인 경우, numbering처리
ex) filerename : 20210406191919_123

MvcFileRenamePolicy.java 파일 만들어서 작성

게시판목록에서 첨부파일 있는글에 아이콘 만들기


sql developer에서 bored테이블과 attachment테이블 left join(inner join안됨)

board-query.properties로 이동해서 작성

BoardDao.java로 이동해서 작성

boardList.jsp에 이렇게 작성되있으면 끝!

게시글목록에서 제목클릭하면 상세페이지로 이동시키기


boardList.jsp로 이동해서 작성

alt + shift + r : 지정된 변수명 일괄수정

profile
과거 지상직 / 개발자 지망생

0개의 댓글

관련 채용 정보