게시판
-
03. 게시물 적용Spring Web Project/9. 인터셉터 (Interceptor) 2021. 3. 6. 13:55
[로그인한 사용자] - 게시물의 등록 - 게시물의 수정/삭제 - 댓글 추가/수정/삭제 [일반 사용자] - 게시물의 목록 - 게시물의 조회 - 댓글 목록 1. AuthInterceptor.java > LoginInterceptor : 로그인한 사용자에 대해 postHandle()을 이용한 HttpSession 보관 처리 > AuthInterceptor : 특정 경로 접근 시 현재 사용자가 로그인한 상태의 사용자인지 체크 역할 2. AuthInterceptor 설정 3. LoginInterceptor.java > 로그인 성공 후 response.sendRedirect() 시 'dest' 정보 사용 4. 등록 페이지 Note) JSP에서 사용하는 EL의 경우 자동으로 HttpSession에 있는 'login'..
-
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. 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) 메소드..
-
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창(팝업과 유사하지만..