본문 바로가기

Dev82

FileUpload API를 이용한 파일 업로드 구현 FileUpload API를 이용하기 위해선 FileUpload API를 다운로드 해 WEB_INF/lib 폴더에 jar 파일 복사 해준다. * FileUpload API를 이용한 multpart/form-data 처리 예제 1) 폼 작성 text1: file1: file2: 2) FileUpload API를 이용해 multpart/form-data로 전송된 데이터 화면에 출력하기 요청 파라미터: = 파일: , , multipart/form 요청이 아님 업로드한 파일명의 한글이 깨져서 upload.setHeaderEncoding("EUC-KR"); 코드를 추가해주었다. ※ FileItem 클래스는 multpart/form-data로 전송된 파라미터 또는 파일 정보를 저장하고 있는 클래스로서 위 코드 속 .. 2022. 9. 27.
파일 전송을 위한 multipart/form-data 1. 파일 전송을 위한 FORM 설정 태그의 method 속성 값을 post로, enctype 속성 값을 multipart/form-data로 설정하고 type 속성이 file인 태그를 통해 파일을 선택한다. 예제 1) 입력 폼 생성 text1: file1: file2: *파일 선택 폼은 웹 브라우저에 따라서 다르다. 예제 1-2) multipart_data.jsp 작성 웹 브라우저가 전송한 데이터를 그대로 출력 try { is = request.getInputStream(); int data = -1; while((data = is.read()) != -1) { out.print((char)data); } } finally { if(is != null) try { is.close(); } catch(I.. 2022. 9. 27.
게시판 작업시 싱글톤 패턴을 이용하는 이유 https://tavi.tistory.com/29 싱글톤 (Singleton) 전체 프로그램에서 단 하나의 객체만 만들도록 보장해야 하는 경우가 있는데, 단 하나만 생성된 이 객체를 싱글톤이라고 한다. 싱글톤을 이용하는 이유는 최초 한번의 new 연산자를 통해서 고정 tavi.tistory.com 서비스 클래스를 개발 했다면 서비스 클래스를 이용해서 객체를 생성한 뒤 실행한 메소드를 호출하도록 코드를 작성하게 된다. 그런데 대다수의 서비스 클래스는 객체를 여러번 만들더라도 실제로 수행하는 기능은 동일한 경우가 많다. ReadArticleService service1 = new ReadArticleService(); ReadArticleService service2 = new ReadArticleServi.. 2022. 9. 27.
(JSP2.1) 답변형 게시판 구현 - 테이블 생성과 Article 클래스 *오라클 DB로 바꿔서 작성함 답변형 게시판의 게시글은 개념적으로 루트글, 부모글, 자식글로 구성된다. 하나의 루트를 갖는 게시글을 한 그룹으로 생각 할 수 있다. 답변형 게시판에서 글들은 중첩 레벨을 갖는데, 루트글의 중첩 레벨은 0, 루트글의 자식글의 중첩 레벨은 1로 표현 할 수 있다. 또한 레벨이 1인 글의 자식 글들의 중첩 레벨은 2로 표현할 수 있다. 답변형 게시판을 구현하려면 그룹 내에서 부모 글과 자식 글 관계에 맞는 순서값을 저장해야 한다. 그룹 번호: 동일한 루트를 갖는 글들이 공유하는 번호. 새로운 루트가 추가될 때마다 그룹 번호 값이 1씩 증가됨 순서 번호: 동일한 그룹에 속하는 글들의 순서 번호. 순서 번호를 이용해서 정렬함 레벨 1~3 값은 각 레벨에서의 두 자리 순서 번호를 값.. 2022. 9. 26.
JSTL - 코어 태그 2 (if, choose, forEach, forTokens) https://tavi.tistory.com/35 JSTL - 코어 태그 , 코어 태그 라이브러리는 if-else나 변수의 지정등과 같이 논리적인 처리를 위해 사용되는 스크립트 코드를 대체하기 위한 태그를 제공한다. 코어 태그 라이브러리 기능 분류 태그 변수지원 set remo tavi.tistory.com 2. 흐름 제어 태그 - if, choose, forEach, forTokens 2-1. 태그 - 조건 자바 언어의 if 블록과 비슷한 기능을 제공한다. ... test 속성에는 ture나 false를 리턴하는 조건문이 오는데 조건이 true일 경우 몸체 내용이 실행된다. *예제 무조건 수행 name 파라미터 값이 ${param.name} 입니다. 당신의 나이는 18세 이상입니다. 첫번째 태그는 조건.. 2022. 9. 22.
JSTL - 코어 태그 <c:set>, <c:remove> 코어 태그 라이브러리는 if-else나 변수의 지정등과 같이 논리적인 처리를 위해 사용되는 스크립트 코드를 대체하기 위한 태그를 제공한다. 코어 태그 라이브러리 기능 분류 태그 변수지원 set remove 흐름 제어 if choose forTokens URL 처리 import redirect url 기타 태그 catch out 코어 태그 라이브러리를 사용하려면 JSP 페이지에 taglib 디렉티브를 추가 해주어야 한다. *예제를 위한 클래스 생성 package jstl; public class Member { private String name; public String getName() { return name; } public void setName(String name) { this.name = n.. 2022. 9. 21.