전체 글
-
[JAVA] - 1.8 -> 17 버전 업그레이드 Base64오류Java/JAVA17 2025. 6. 27. 10:55
java.lang.NoClassDefFoundError: java/util/Base64 at com.example.Base64Test.encode(Base64Test.java:10) 원인: JDK 8 이상에서 지원되는 java.util.Base64 클래스를 찾을 수 없다는 의미→ JDK 설정이 잘못되었거나, 빌드 시 JDK 1.7 이하 대상으로 컴파일한 결과를 JDK 17에서 실행 중일 때 발생해결: javac와 java 둘 다 JDK 17을 참조하고 있는지 확인 java.lang.NoSuchMethodError: java.util.Base64.getEncoder()Ljava/util/Base64$Encoder; at com.example.Base64Test.encode(Base64Test.java:12..
-
Tomcat 10.1 Spring(5.3), Java(17)호환문제Tomcat 2025. 6. 27. 10:51
Java - 17Spring - 5.3Tomcat - 10.1 위와같이 버전을 설정한 경우 아래와같은 오류가 발생한다.java.lang.ClassCastException: class org.springframework.web.filter.CharacterEncodingFilter cannot be cast to class jakarta.servlet.Filter ✅ 요약 정리Spring 5.3.x: javax.servlet.* API 사용Tomcat 9.x 이하: javax.servlet.* 호환Tomcat 10.x 이상: jakarta.servlet.* 필요 → Spring 6.x 이상과만 호환 즉 위위서 발생한 오류의 경우 이건 Tomcat 10 이상을 사용하고 있다는 신호입니다.→ 즉, Tomcat..
-
Spring - @ModelAttribute, @RequestParam 파헤치기Spring 2025. 6. 26. 17:00
✅ 1. HttpServletRequest로 직접 파라미터 추출설명: 서블릿 방식으로 HttpServletRequest에서 직접 값을 추출하는 기본 예시입니다.URL: /param/manual@RequestMapping("/param/manual")public void handleManual(HttpServletRequest request, HttpServletResponse response) throws IOException { String username = request.getParameter("username"); int age = Integer.parseInt(request.getParameter("age")); log.info("username={}, age={}", usern..
-
Programmers - 중성화 여부 파악하기MySQL_Programmers/Level2 2025. 6. 20. 11:43
문제 설명ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.NAMETYPENULLABLEANIMAL_IDVARCHAR(N)FALSEANIMAL_TYPEVARCHAR(N)FALSEDATETIMEDATETIMEFALSEINTAKE_CONDITIONVARCHAR(N)FALSENAMEVARCHAR(N)TRUESEX_UPON_INTAKEVARCHAR(N)FALSE보호소의 동물이 중성화되었는지..
-
Programmers - NULL처리하기MySQL_Programmers/Level2 2025. 6. 20. 11:00
문제설명ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.NAMETYPENULLABLEANIMAL_IDVARCHAR(N)FALSEANIMAL_TYPEVARCHAR(N)FALSEDATETIMEDATETIMEFALSEINTAKE_CONDITIONVARCHAR(N)FALSENAMEVARCHAR(N)TRUESEX_UPON_INTAKEVARCHAR(N)FALSE입양 게시판에 동물 정보를 게시..
-
Programmers - 입양 시각 구하기(1)MySQL_Programmers/Level2 2025. 6. 20. 10:39
문제 설명ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물 종, 입양일, 이름, 성별 및 중성화 여부를 나타냅니다.NAMETYPENULLABLEANIMAL_IDVARCHAR(N)FALSEANIMAL_TYPEVARCHAR(N)FALSEDATETIMEDATETIMEFALSENAMEVARCHAR(N)TRUESEX_UPON_OUTCOMEVARCHAR(N)FALSE보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 09:00부터 19:59까지, 각 시간대별로 입양이 몇 건이..
-
JAVA - Generic을 사용해야하는 이유Java/JAVA17 2025. 6. 12. 11:25
Generic을 사용해야하는 이유 우선 Circle,과 Rectangle에 대한 코드구성부터 알아보자.0. 도형 클래스 정의// Shape.javapackage generic.exShape;public abstract class Shape { private String name; public Shape(String name) { this.name = name; } public String getName() { return name; } public abstract double getArea(); public abstract void draw();}// Rectangle.javapackage generic.exShape;public class Rectangle extends..
-
JAVA - GENERIC 사용방법, 사용이유 파헤치기Java/JAVA17 2025. 6. 10. 15:12
제네릭이란 무엇인가?제네릭의 기본 문법// 클래스를 정의할 때 타입 매개변수 T 선언public class GenericBox { private T value; public void set(T value) { this.value = value; } public T get() { return value; }}T는 Type Parameter(타입 매개변수)의 관례적인 이름입니다.실제 사용할 때는 GenericBox처럼 타입 인자를 지정해 주면, 그 순간부터 T가 Integer로 고정돼요.GenericBox strBox = new GenericBox(); strBox.set("Hi"); // OKString s = strBox.get(); ..