어? 이게 되네
2022.05.24. 화요일 이공계 전문기술 연수사업 (서블릿,MVC,JSP) 본문
오늘 배운 것
파일 업로드가 가능한 게시판 생성
board 테이블에 파일 이름을 저장하는 컬럼 추가
alter table board add fname varchar2(50);
pstmt.set(1,vo객체.get)이거 잘 알고 넘어가기
파일도 함께 데이터 전달받는 방법
<form action="InsertBoard" method="post" enctype="multipart/form-data">
<input type="file" name="여기선 파일이름이 가는 것이 아니라 그 파일 내용이 전달됨">
enctype="multipart/form-data 속성 꼭 추가하기
파일과 함께 데이터를 전달받기 위한 별도의 클래스 필요
http://www.servlets.com.cos/ 가서 cos.jar준비
jstl준비는 WEP-INF lib에 jstl1.2.jar
파일과 함께 클라이언트가 요청한 데이터를 받아오기 위해서는 다음의 객체를 생성해야 함
MultipartRequest multi=
new MultipartRequest(request,"c:/images",1024*1024*5,
"utf-8",new DefaultFileRenamePolicy());
//requst,파일저장경로,파일최대크기,인코딩방식,중복시 정책
파일을 저장할 경로를 c:로 설정하게 되면 서버에 데이터를 기록하는 용도로는 가능하지만
만약에 그 파일이 이미지 파일이어서 클라이언트에게 보여줄 용도라면 c:드라이브에 저장하게 되면 클라이언트에게 보여줄 수 없음
만약에 업로드 한 파일을 다시 클라이언트에게 보여줄 목적이라면 현재 프로젝트를 기준으로 폴더를 만들고 거기에 업로드해야 함
이 때 현재 프로젝트를 기준으로 폴더를 만들고 그 폴더에 실제 경로를 알아오기 위해서는
request.getRealPath()메소드 이용함
입력해서 파일도 선택해서 등록을 하면 doPost로 와서 multi~~객체가 생성되어 파일은 위에서 지정해준 위치에 복사가 됨
MultiPartRequest 객체를 생성하는 순간 파일 복사가 이루어짐 따라서 사용자가 입력한 정보들은 multi가 가지고 있게 됨 따라서 multi를 통해서 getParameter해야 함
request.getRealPath();
request.getOriginalFileName();
null과 ''는 다름 !
String sql="insert into board values(?,?,?,?,?,sysdate,0,?)";
try {
Connection conn=ConnectionProvider.getConnection();
PreparedStatement pstmt=conn.prepareStatement(sql);
pstmt.setInt(1, getNextNo());
pstmt.setString(2, b.getTitle());
pstmt.setString(3, b.getWriter());
pstmt.setString(4, b.getPwd());
pstmt.setString(5, b.getContent());
//8번째 아님 주의 !!!!!!!!!!!!!!!!!!!
pstmt.setString(6, b.getFname());
re=pstmt.executeUpdate();
오늘 헷갈린 것
- pstmt set 메소드에 게터 오는 거랑 숫자 순서 부여.. 사실 이 메소드 잘 구분 못하겠음 ㅠㅠ 왜 set아닌 get이 오는 거지?
오늘 한 생각
주석 중요 ! 수업시간에 달아주지 않아도 내가 달자
'TIL' 카테고리의 다른 글
2022.05.26. 목요일 이공계 전문기술 연수사업 (Spring, Spring MVC) (0) | 2022.05.30 |
---|---|
2022.05.25. 수요일 이공계 전문기술 연수사업 (MVC를 활용한 페이징처리 된 게시판 구현) (0) | 2022.05.30 |
2022.05.23. 월요일 이공계 전문기술 연수사업 (MVC패턴 이용 게시글 CRU) (0) | 2022.05.23 |
2022.05.20. 금요일 이공계 전문기술 연수사업 (MVC) (0) | 2022.05.20 |
2022.05.19. 목요일 이공계 전문기술 연수사업 (VO, DAO) (0) | 2022.05.19 |