Spring
-
스프링 게시판 - ckeditor4 (ck에디터)연동 - 가비지이미지 삭제 (3)Spring 2023. 4. 2. 15:00
2023.03.25 - [Spring] - 스프링 게시판 - ckeditor4 (ck에디터)연동 - 이미지업로드 (2) ckeditor로 올리는 사진 첨부는 파일 업로드를 하고 나서 이미지 src를 본문에 넣어 보여주는 형태이다. 문제는 글을 최종 저장할 때 본문에 사진을 삭제하면 기존에 업로드했던 이미지 파일에 대해 삭제할 수 있는 기능이 없다. 실제 저장하는 이미지와 본문에서 삭제한 이미지를 처리하는 방법을 포스팅하겠다. 1. 사진을 업로드할때 마다 변수에 파일정보를 담기 (파일업로드 후 실행하는 콜백함수 이용) //이미지 첨부파일 정보 let originImgFileList = []; //이미지 업로드가 끝나고 실행하는 함수 CKEDITOR.on( 'dialogDefinition', function..
-
스프링 게시판 - ckeditor4 (ck에디터)연동 - 이미지업로드 (2)Spring 2023. 3. 25. 15:18
2023.03.18 - [Spring] - 스프링 게시판 - ckeditor4 (ck에디터)연동 - 기본적용 (1) 이번 포스트는 화면단 파일업로드 옵션 정의, 서버단 파일업로드 기능 구현을 하겠다. 저 이미지 모양을 클릭하면 이미지 업로드 기능을 사용 할 수 있다. 1. 화면단 스크립트 설정 CKEDITOR.replace( 'ckeditor', {//해당 이름으로 된 textarea에 에디터를 적용 width:'100%', height:'400px', filebrowserUploadUrl: "/bbs/ckeditor/ckEditorUpload", image_previewText: ' ' }); 옵션중 width, height는 이미지 업로드의 팝업창 크기 설정, filebrowserUploadUrl :..
-
스프링 게시판 - ckeditor4 (ck에디터)연동 - 기본적용 (1)Spring 2023. 3. 18. 17:12
※ 이 포스트는 스프링 Jsp 게시판의 CRUD가 완성되었다는 가정하에 CKEDITOR4 연동만 하겠다. ※ 4 버전을 택한이유는 가장 많이 사용하고 사용하기도 쉽기 때문에 이 버전을 적용한다. ※ 추후 ckeditor를 통해 사진파일 업로드 및 본문에 삽입, 사진파일 삭제를 구현할 예정이다. 1. ckeditor4 다운 https://ckeditor.com/ckeditor-4/download/ 스텐다드 버전을 다운로드한다. 2. 프로젝트에 적용하기 압출을 풀고 에디터 리소스를 /resource/ 하위에 넣는다. 스프링은 보통 css,이미지,기타 라이브러리는 resource/ 하위에 넣고 사용한다. 스프링에서 리소스 경로를 읽을 수 있게 아래와 같이 설정한다. servlet-context.xml 의 내용..
-
[파일업로드] 이미지 업로드시 엑박오류, 이상한 경로에 C:\...(생략)\.metadata\.plugins\ 저장된다면?Spring 2023. 3. 5. 16:41
1. 문제 ckeditorUpload 폴더에 에디터의 이미지파일을 업로드 시켰다. 업로드 경로는 당연히 프로젝트 내부 resource 폴더 하위 경로에 저장을 했다. ex)C:\workspace\springProject\web\resources\ckeditorUpload 하지만 이렇게 업로드를 하게되면 image폴더에 사진이 업로드되는데 1~2초 시간이 경과되고 바로 해당 이미지를 view에서 바로 볼 수가 없다.(1~2초 뒤에 해당 이미지를 볼 수 있다는 의미) 이렇게 되면 에디터로 파일업로드 후 바로 미리보기할때 엑스박스가 나오는 현상이 발생한다. 이런 현상을 고치기위해 setTimeout()으로 비동기통신을 지연시키나 여러가지 방법이 있겠지만 옳은 방법은 아니다. 2.1 . 해결 (애초에 톰캣배포경..
-
[Spring] 스프링 AOP를 이용해 트랜잭션(transaction) 처리하기Spring 2022. 6. 27. 16:53
필자의 스프링 버전 1.8 4.3.4.RELEASE 4.2.3.RELEASE 1.6.10 1.6.6 3.0.8 pom.xml 의존성 추가 org.springframework spring-aop ${org.springframework-version} org.springframework spring-tx ${org.springframework-version} aop와 트랜잭션을 사용하기 위해 pom.xml에 추가한다. context-transaction.xml 작성 aop의 포인트컷 설정으로 ServiceImpl.java로 끝나는 자바파일에 트랜잭션을 설정한다. bean id txManager의 dataSource는 데이터베이스가 연결설정을 하는 context xml파일내의 bean id다. web.xml ..
-
[스프링] Spring Controller 컨트롤러 Ajax 데이터통신 유형 정리Spring 2022. 2. 28. 09:50
Ajax Controller 데이터 통신 방법 정리를 위해 작성한다. (매번 삽질) @RequestParam 어노테이션을 활용하면, Request Header에 Parameter를 넣어서 전달 @RequestBody 어노테이션을 활용하면, Request Body에 Data를 넣어서 전달 Get method은 순수하게 데이터를 읽을 때 > SELECT Post method는 데이터를 입력 > INSERT Put method는 데이터를 수정 (UPDATE) or 삭제 (DELETE) Delete method는 데이터를 삭제 (DELETE) 1. @RequestParam 로 값 받기 type: get , dataType : text , contentType: application/json; charset=UT..
-
Spring REST API 정의와 설계 규칙Spring 2020. 8. 31. 16:30
REST API에 대해 설명하기 전, 기본적으로 API는 무엇인지에 대해 알아야 한다. API란? API(Application Programming Interface, 응용 프로그램 프로그래밍 인터페이스)는 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다. 주로 파일 제어, 창 제어, 화상 처리, 문자 제어 등을 위한 인터페이스를 제공한다. REST API란? REST API에 REST는 Representational State Transfer의 약자로 소프트웨어 프로그램 아키텍처의 한 형식이다. REST api의 등장은 2000년도에 HTTP의 주요 저자 중 한 사람인 로이 필딩이 그 당시 웹(HTTP) 설계의 우수성에 비해 ..