개발/java,spring 45

Checked Exception vs Unchecked Exception 차이: 실무에서 어떻게 선택해야 할까?

Checked Exception vs Unchecked Exception 차이: 실무에서 어떻게 선택해야 할까?Java를 어느 정도 공부하다 보면 반드시 마주치는 개념이 있습니다.바로 Checked Exception vs Unchecked Exception입니다.처음에는 단순히“Checked는 try-catch 해야 하고, Unchecked는 안 해도 된다”이 정도로 이해하고 넘어가기 쉽습니다.하지만 실무에서는 이 선택 하나로코드 구조, 유지보수성, 예외 설계 방식까지 완전히 달라집니다.이번 글에서는 단순 개념 정리를 넘어서언제 Checked를 쓰고, 언제 Unchecked를 써야 하는지까지실무 기준으로 정리해보겠습니다.Checked Exception vs Unchecked Exception 한눈에 보기..

개발/java,spring 2026.03.31

Java Exception 구조 이해하기: try-catch만 알면 부족한 이유

Java Exception 구조 이해하기: try-catch만 알면 부족한 이유자바를 처음 배울 때 try-catch 문법부터 접하는 경우가 많습니다.그런데 실무로 넘어가면 단순히 예외를 잡는 것보다 예외가 어떤 구조로 이루어져 있는지, 왜 checked exception과 unchecked exception이 나뉘는지, 어떻게 설계해야 유지보수가 편한지를 이해하는 것이 훨씬 중요합니다.저도 처음에는 Exception, RuntimeException, throws 정도만 알면 된다고 생각했는데, 프로젝트가 커질수록 예외 구조를 제대로 이해하지 않으면 디버깅도 어려워지고 코드도 금방 지저분해지더라고요.이번 글에서는 Java Exception 구조를 처음부터 차근차근 정리해보겠습니다.문법 설명에 그치지 않고..

개발/java,spring 2026.03.24

REST API 설계 기본 원칙 정리 (백엔드 개발자를 위한 가이드)

REST API 설계 기본 원칙 정리 (백엔드 개발자를 위한 가이드)백엔드 개발을 하다 보면 반드시 접하게 되는 개념이 바로 REST API입니다.하지만 처음 API를 설계할 때 이런 고민을 하게 됩니다.URL을 어떻게 설계해야 할까?GET, POST, PUT은 언제 사용해야 할까?RESTful한 API는 어떤 구조일까?이번 글에서는 REST API 설계 기본 원칙을 실제 개발에서 사용하는 방식으로 정리해 보겠습니다.목차REST API란 무엇인가REST API 설계 핵심 원칙HTTP Method 올바른 사용RESTful URL 설계 규칙응답 구조 설계정리REST API란 무엇인가REST API는 웹에서 데이터를 주고받기 위한 아키텍처 스타일입니다.REST는 Representational State Tra..

개발/java,spring 2026.03.19

springframework.web.filter.CharacterEncodingFiler cannot be cast to class jakarta.servlet.Filter

안녕하세요.이렇게 에러 관련된 포스팅을 쓰다가 너무 많아 질까 걱정이네요.거의 개인 노트가 되어가고 있습니다.프로젝트 환경을 java 21로 업데이트를 해야합니다.그러다 보니 이클립스 버전을 바꾸게 되고, 톰캣 버전을 바꾸게 되고, 그다음 스프링 버전까지 올려야 하는 상황입니다.그러다 발생한 오류를 적어봅니다.❗ CharacterEncodingFilter cannot be cast to class jakarta.servlet.Filter 오류 해결 가이드📌 오류 메시지springframework.web.filter.CharacterEncodingFilter cannot be cast to class jakarta.servlet.Filter이 오류는 javax.servlet.Filter와 jakarta...

개발/java,spring 2025.07.20

dynamic web module facet version 5.0 was not found

기존에 쓰던 프로젝트의 자바와 스프링 버전을 올리려고 하는데뭐.. 잡다한 에러들이 굉장히 많이 나오네요.결론적으로 이클립스에서 설정만 바꾸면 에러가 없어지는줄 알았습니다.그러나..톰캣 버전까지 맞지않아 엄청 고생하고 있습니다.(에러 하나 잡으면.. 또다른 에러가 ㅠㅠ)프로젝트를 진행하며 이런 이슈사항들을 기재해 둡니다.(제가 참고할 용도로 적어두는거에요.)✅ jakarta.servlet.http.HttpServlet 오류 및 Dynamic Web Module 5.0 설정 가이드📌 1. 오류 메시지 개요jakarta.servlet.http:HttpServletdynamic web module facet version 5.0 was not found이 오류는 Jakarta Servlet 5.0 기반 프로젝..

개발/java,spring 2025.07.17

[자바 에러] java.lang.NoSuchMethodError, ByteBuffer.limit(I)Ljava

이상하다.. 평소 쓰던 소스였는데...에러가 난다. 아마 협업으로 쓰고 있기 때문에 에러가 발생할 수 있다는 생각은 들지만... 이상하다에러를 알아 보았다.📌 에러 메시지심각: Servlet.service() for servlet [dispatcher] in context with path [/smart] threw exception [Handler dispatch failed; nested exception is java.lang.NoSuchMethodError: java.nio.ByteBuffer.limit(I)Ljava/nio/ByteBuffer;] with root cause java.lang.NoSuchMethodError: java.nio.ByteBuffer.limit(I)Ljava/nio/..

개발/java,spring 2025.07.07

[Java 컴파일 경고] 세부사항을 보려면 -Xlint:unchecked

안녕하세요. 혹시 이런 문구보신적 있으신가요?✅ 경고 메시지선택하지 않거나 안정하지 않은 오퍼레이션을 사용합니다.참고 : 세부사항을 보려면 -Xlint:unchecked를 사용하여 다시 컴파일하십시오.빌드를 했는데 이렇게 나타나서 제대로 빌드가 된건가 걱정되더라고요.🔍 의미Java 컴파일러가 형 안정성이 보장되지 않는 코드를 감지했을 때 나타나는 경고입니다.주로 제네릭(Generic)을 사용할 때 타입 정보를 명시하지 않은 경우 발생합니다.예시List list = new ArrayList(); // 제네릭 타입이 명시되지 않아 경고 발생list.add("Hello");🛠 해결 방법경고가 발생한 위치를 확인하려면 다음 명령어로 컴파일합니다:javac -Xlint:unchecked YourFile.ja..

개발/java,spring 2025.07.03

[java] xml 파싱 dtd 경로를 읽어 에러가 나는 경우 무시하기.

안녕하세요. 오랜만에 자바에 대한 포스팅을 합니다.이제 블로그에 있는것들을 보거나... 거의 운영업무를 하고 있어포스팅 할 기회가 없었어요. 자바를 사용하던 중 무심코 xml 을 파싱하려고 하는데에러가 발생하네요 xml 파일 윗줄에 이렇게 적혀 있는 경우가 있습니다.   이런경우에 doctype 부분의 파일을 찾는데이때 에러가 발생 할 수 있습니다. 기존 소스에는 이렇게 사용 하였습니다.DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(xmlFile);  DTD 파일 읽는 부분을 무시하고자 한다면 이렇게 바꾸세요. try { Document doc = null; DocumentBuilderFactory db..

개발/java,spring 2024.08.30

외부 라이브러리 자바(java) jar 파일 생성 및 실행(vendorName == null!) 에러 해결

안녕하세요.오랜만에 자바관련 포스팅을 하려고 합니다. 대부분 자바를 활용하여 개발을할때 이클립스를 사용합니다.하지만 실행파일을 만든다던지 별도로 실행할수 있는 파일이 필요할 때가 있습니다. 저는 이클립스로 개발을 하고 Jar 파일을 만들어 별도로 실행하려고 합니다.일반적으로 Runable jar file을 만든다던지 별도의 실행파일을 만드는 블로그의 설명글은 많습니다.그런데 외부 라이브러리를 사용하게될때의 포스팅은 별로 없는것 같았습니다. 실제로 저도 상당한 시간소요를 하게 되었습니다.아마 JAI를 사용하여 이와같은 에러를 가지고 있는 분들은 상당한 도움이 될것이라 생각합니다. 에러내용Exception in thread "main" java.util.ServiceConfigurationError: jav..

개발/java,spring 2020.05.07

[java] split multi_tif single page(멀티 tif 파일 쪼개기)

안녕하세요.포스팅의 내용은 제목 그래도 multi tif 파일을 쪼개는 것 입니다.예전에 했음에도 불구하고 다시 할려니 이리저리 쫌 해메어서 기록해 두려고 합니다. 제가 사용한 소스만을 첨부할 것이므로궁긍한 사항은 댓글로 문의 주세요. 사실 자바로 작성전에 파이썬으로 multi tif 쪼개는 코드를 작성하였는데품질이 안좋아서 다시 자바로 작성하였습니다.혹시나 파이썬으로 작업하시는분들은 이점 참고바랍니다. static void splitFile_ToJpeg(File file) throws IOException { String dir = file.getParent(); String file_name = file.getName().toLowerCase(); file_name = file_name.substri..

개발/java,spring 2020.01.20