JSP - 31. 트랜잭션 관리

갓김치·2020년 12월 31일
0

JSP+Spring

목록 보기
32/43

글 등록

  • 글 하나, 파일4개, 파트4개중 파일은 2개만 올라가고 있음
  • d드라이브 saveFiles: 미들티어의 파일시스템
  • 모델어트리뷰트 리졸버가 보드브이오를 통해 파라미터를 전달받음

트랜잭션 관리

  1. 어느기준으로 관리할 것인지 내가 직접 결정해야함 (관리방법과 구조를 알아라)
  2. 트랜잭션 관리를 직접하기때문에 어떤 문제점이 발생했는지 알아야함
  • 게시글 등록: 클라이언트가 하나의 명령을 보냄, 하지만 서버에서는 글 insert 후 파일첨부insert를 하며 트랜잭션이 2번이상일어남
    트랜잭션: 절대로 쪼갤수없는 작업의 단위 (원자성)
    게시글 등록은 글등록, 첨부파일 등록이 모두 완료가 되어야만 완료인것..
  • atm기에서 10만원 뽑다가 중간에 7만원 뽑고 멈췄는데 통장에서 10만원이 차감된다면..? 빡치는군..

단점 해결

1. 비즈니스로직

  • 개발자마다 방식이 다르고 논란의 여지가 있음
  • 로직 = 더이상쪼개질수없는 개념 = 원자성과 일맥상통
  • 공통적인 의견은 controller에서 관리하지 않는다는 것

ProdInsertController

  • 컨트롤러에서 이진데이터처리를하고있음
    -비즈니스로직으로 옮기자니 req.geTServlet때문에..
    • bl과 p 레이어는 웹과 상관없이 스탠드얼론으로도 돌아갈수있어야하는애

serviceimpl

  • 비즈니스로직레이어가 mybatis(persistence framework)에 의존하게됨
  • insert말고도 update에서도 중복코드발생중..

2. 리스너

버튼만들어 -> 버튼클릭이벤트 -> 온클릭에서 호출할 수 있는 펑션 -> 펑션에 alert창 띄우는 코드
1. 이벤트 타겟 결정: 버튼
2. 처리하고 싶은 이벤트 결정: 클릭
3. 이벤트 발생시 처리하는 핸들러 구현: 호출할 수 있는 펑션 == 리스너
4. 이벤트 바인딩 : web.xml에 등록

  • 프론트컨트롤러만 서블릿이어서 우리 로직에서는 서버시작시 init으로 저장경로를 잡기가 어려움
  • 그래서 리스너사용할 예정

AOP: 관점지향 프로그래밍 방법론

  • 트랜잭션 단점해결할 수 있는 방법론
  • 스프링때..

CKEditor

https://ckeditor.com/ckeditor-4/demo/

  • wysiwyg 에디터

  • 생태계넓음

  • 업로드 탭이 보이고, 서버전송시 우리 서버로 전송되어 웹리소스형태로 저장되어 url이 생겨야한다 다시 ckeditor에게 돌려줘야함

게시글 수정

  • board.xml : update
  • attach.xml : delete
  • attach.xml : select 이진데이터 삭제를 위해 저장명필요

미션

  • 알바
profile
갈 길이 멀다

0개의 댓글