분류 전체보기
-
[Spirng] BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext프로그래밍 언어/에러노트 2023. 5. 19. 10:51
java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext at org.springframework.context.support.AbstractRefreshableApplicationContext.getBeanFactory(AbstractRefreshableApplicationContext.java:168) at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1..
-
[6-ch21~22 Spring ] 파일 업로드 방식 ( 중복처리, 섬네일 ,, )Back-End/Spring Legacy 2023. 5. 10. 16:50
일단 파일 업로드 방식을 알아보기전 c드라이브 밑에 uploadBook 폴더와 임시 업로드 파일을 저장할 temp 폴더를 생성해둔다. 첨부파일을 서버에 전송하는 방식은 크게 태그를 이용해 업로드하는 방식과 Ajax를 이용하는 방식으로 나눠볼 수 있다. 📌 태그를 이용하는 방식 : 브라우저의 제한이 없어야 하는 경우 사용 - 일반적으로 페이지 이동과 동시에 첨부파일을 업로드하는 방식 - 을 이용해 화면의 이동 없이 첨부파일을 처리하는 방식 📌 Ajax를 이용하는 방식 : 첨부파일을 별도로 처리하는 방식 - 을 이용하고 Ajax로 처리하는 방식 - HTML5의 Drag And Drop 기능이나 jQuery 라이브러리를 이용해서 처리하는 방식 코드로보는 스프링 웹 프로젝트 책에서는 Ajax를 위주로 처리하였다..
-
[JAVA] java.io.File API 주요 메서드프로그래밍 언어/JAVA 2023. 5. 10. 15:21
파일 업로드 처리를 하다보면 new File()을 자주 사용하게 되므로 File의 주요 메서드를 정리해볼까 한다. 📑 생성자 📌new File( File parent, String child) : 상위 주소와 파일 이름(또는 디렉토리) 📌 new File(String pathname) : 상위 주소 📌 new File(URI uri) : 파일의 uri 주소 📑 메서드 타입 메서드 설명 boolean exists() 파일이 실제 존재하는지 판단 boolean isDirectory() 디렉토리인지 판단 boolean isFile() 파일인지 판단 boolean canRead() 파일이 읽기 가능한지 판단 boolean canWrite() 파일이 쓰기 가능한지 판단 boolean canExecute() 파일이..
-
[JAVA] java.io.File 의 mkdirs()와 mkdir() 차이프로그래밍 언어/JAVA 2023. 5. 10. 15:03
만약 기존의 폴더가 생성되어 있지 않다면 폴더를 생성하라는 다음과 같은 코드가 있다. 근데) 폴더 생성이 안되는 거 아닌가?? mkdirs()를 mkdir()로 불러왔기 때문이다. 그럼 그 차이가 무엇일까? File uploadPath = new File(uploadFolder, getFolder()); log.info("upload path: " + uploadPath); if(uploadPath.exists() == false) { uploadPath.mkdir(); // 새로운 폴더 생성 } JAVA API에서는 디렉토리를 생성하기 위해 , File.mkdir()과 File.mkdirs() 두 개의 API가 제공된다. 이 API는 모두 디렉토리를 생성하는 기능을 하지만, 세부적으로는 약간 틀린 기능..
-
[spring 에러] org.springframework.web.context.ContextLoaderListener프로그래밍 언어/에러노트 2023. 5. 10. 09:25
스프링을 실행시키니 다음과 같은 에러가 떴다. pom.xml과 web.xml에 라이브러리와 태그를 추가했더니 발생한 일이었다. maven 업데이트를 했는데도 같은 상황이 반복되길래 검색 후 해결방법을 찾았다. 1. 프로젝트 우클릭 -> Build Path -> Configure Build Path 클릭 2. Deployment Assembly에 Maven Dependencies 추가. 우측 add 버튼 클릭 Java Build Path Entries 클릭 후 next -> maven 선택해주면 된다.
-
[백준 알고리즘] 단계별로 풀어보기 - 2단계 조건문 JAVA코딩테스트/백준 2023. 4. 27. 11:03
https://www.acmicpc.net/step/4 조건문 단계 점이 어느 사분면에 있는지 알아내는 문제 www.acmicpc.net 📑 Q9498 package step2; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Q2_9498 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int num = Integer.parseInt(br.readLine()); if (n..
-
[JAVA] String, StringBuilder, StringBuffer의 차이점 알아보기프로그래밍 언어/JAVA 2023. 4. 26. 10:51
📑 String이란? String과 다른 (StringBuilder, StringBuffer)의 차이는 String은 immutable(불변), 다른 클래스는 mutable(변함)에 있다. String은 문자열을 대표하는 것으로 문자열을 조작하는 경우 유용하게 사용할 수 있다. + 연산자 또는 concat 메서드를 통해 기존에 생성된 String 클래스 객체에 다른 문자열을 붙이면 기존 객체에 문자열이 추가되는 걸까?? 아니다! 기존에 생성되어 있는 String 객체는 그대로 있고 추가로 새로운 String 객체를 만든 후 새 String 객체에 연결된 문자열을 저장하고 그 객체를 참조하도록 한다. 즉) String 클래스 객체는 Heap 메모리 영역(가비지 컬렉션이 동작하는 영역)에 생성되는 것이다. ..
-
[MyBatis] 동적 쿼리 trim 문법 알아보기Back-End/Spring Legacy 2023. 4. 17. 08:41
은 하위에서 만들어지는 sql 문을 조사하여 앞 쪽에 추가적인 sql을 넣을 수 있다. prefix, suffix, prefixOverrides, suffixOverrides 속성을 지정할 수 있다. 📑 prefix 실행될 쿼리의 문 안 쿼리 가장 앞에 붙여준다. UPDATE board username=#{username},password=#{password} 📑 prefixOverrides 실행될 쿼리의 문 안 쿼리 가장 앞에 해당하는 문자들이 있으면 자동으로 지워준다. SELECT * FROM board WHERE id = #{id} OR TT LIKE '%' || #{searchContent} || '%' 📑 suffix 실행될 쿼리의 문 안 쿼리 가장 뒤에 붙여준다. 📑 suffixOverride..