분류 전체보기
-
03. 게시물 등록의 파일 업로드Spring Web Project/8. 첨부파일 2021. 2. 4. 16:17
1. 테이블 생성 create table tbl_attach ( fullName varchar(150) not null, bno int not null, regdate timestamp default now(), primary key(fullName) ); alter table tbl_attach add constraint fk_board_attach foreign key (bno) references tbl_board(bno); 2. Domain 3. DAO > public void addAttach(String fullName) throws Exception; (BoardDAO.java) > insert into tbl_attach(fullname, bno) values (#{fullName}, LA..
-
02. 파일 업로드, 출력/다운로드, 삭제Spring Web Project/8. 첨부파일 2021. 2. 4. 12:29
1. UploadFileUtils 클래스 > uploadFile : 파일 업로드 (이미지 파일의 경우 makeThumbnail 호출, 이미지 파일이 아닌 경우 makeIcon 호출) > calcPath : 파일 저장경로 '년/월/일' 정보 생성 > makeDir : 폴더 생성 > makeThumbnail : 썸네일 이미지 생성 및 업로드 된 파일명 반환 > makeIcon : 업로드 된 파일명 반환 2. MediaUtils 클래스 > 확장자를 가지고 이미지 타입인지를 판단하는 클래스 3. 첨부파일 업로드 및 출력/다운로드 > @RequestMapping의 produces 속성 : 한국어를 정상적으로 전송하기 위한 간단한 설정 > HttpStatus.CREATED : 원하는 리소스가 정상적으로 생성되었다는..
-
01. 설정Spring Web Project/8. 첨부파일 2021. 2. 4. 11:10
1. 라이브러리 추가 > imgScalr 라이브러리 : 이미지를 깨끗하게 축소할 수 있는 라이브러리 (큰 이미지 파일을 고정된 크기로 변환) 2. 설정 Note) 파일 업로드에 사용되는 'multipart/form-data'는 데이터를 여러 조각으로 나누어서 전송, 각 부분(part)마다 경계가 되는 값을 이용해서 많은 양의 데이터를 POST 방식으로 전송할 때 사용 (브라우저에서 서버 전송 시 '---'로 시작하는 부분이 데이터의 경계선) > multipartResolver : 파일 업로드로 들어오는 데이터를 처리하는 객체 > MultipartFile은 POST 방식으로 들어온 파일 데이터를 의미 3. 서버의 파일 저장 경로 설정
-
02. TransactionSpring Web Project/7. AOP와 트랜잭션 (Transaction) 2021. 1. 31. 15:52
1. 트랜잭션의 기본 원칙(ACID 속성) 1) 원자성(Atomicity) : 하나의 트랜잭션은 모두 하나의 단위로 처리 2) 일관성(Consistency) : 트랜잭션이 성공했다면 DB의 모든 데이터는 일관성 유지 3) 격리(Isolation) : 트랜잭션으로 처리되는 중간에 외부의 간섭은 없어야함 4) 영속성(Durability) : 트랜잭션이 성공적으로 처리되면, 그 결과는 영속적으로 보관 2. 트랜잭션 매니저 설정 > 하나의 DataSource를 사용하는 경우, 스프링에서 제공하는 DataSourceTransactionManager를 이용, DataSource 주입 > 은 @Transactional 애노테이션을 이용한 트랜잭션 관리가 가능 Note) @Transactional 우선순위 1) 메소드..
-
01. AOPSpring Web Project/7. AOP와 트랜잭션 (Transaction) 2021. 1. 28. 12:34
1. AOP(Aspect Oriented Programming) 개념 > '비즈니스 로직은 아니지만, 반드시 해야 하는 작업' > 횡단 관심사(cross-concern) : 공통으로 사용되지만, 그 자체가 목적은 아니다. > 대표적인 예 : 보안 처리, 로그 기록, 문제 발생 시를 대비한 이중 백업 등 2. AOP 관련 용어 용어 설명 Aspect 공통 관심사에 대한 추상적인 명칭. 예를 들어 로깅이나 보안, 트랜잭션과 같은 기능 자체에 대한 용어 Advice 실제로 기능을 구현한 객체 Join points 공통 관심사를 적용할 수 있는 대상(작성된 Advice가 활약할 수 있는 위치 의미). Spring AOP에서는 각 객체의 메소드가 이에 해당 Pointcuts 여러 메소드 중 실제 Advice가 적..
-
08. 댓글 - ViewSpring Web Project/6. Ajax 댓글 (Reply) 2021. 1. 16. 11:28
Note) Javascript Template : '만들어진 HTML 코드에 데이터(객체)를 넣어 찍어내는 틀' 1) JS Render (http://www.jsviews.com/ 2) Mustache(https://mustache.github.io/ - handlebars, Hogan 등 [템플릿 방식의 장점] 1. 데이터와 뷰를 분리해서 처리 - 복잡한 HTML 태그를 이용해서 데이터를 구성하는 경우 문자열로 작성되는 결과를 알아보기 어려움 2. 템플릿을 변경하기 쉬움 - 유지보수 용이 3. 템플릿의 재사용 가능 - 생산성 향상 1. HTML 변경 2. jQuery 라이브러리 로딩 3. handlebars 템플릿 코드 4. 페이징 처리 5. [등록] 6. Modal창 > Modal창(팝업과 유사하지만..