위 오류는 문자 그대로 String 타입으로 들어온 데이터를 Date 타입으로 변환하려고 할 때 발생하는 오류다. jsp에서 입력한 정보는 모두 String형으로 전달된다. 따라서 자바단에서 타입 변환을 하려면 Wrapper 클래스 또는 오라클과의 연동이 지원되는 클래스를 사용해야 한다.
문제가 되는 Date 클래스에 대해 알아보자
Date
- java.util.Date: 오라클의 날짜타입과 연동 불가
- java.sql.Date: 오라클의 날짜타입과 연동 가능
어떤 클래스를 import하는지에 따라 결과가 달라진다.
util.Date를 import할 경우, 오라클의 날짜타입과 연동이 불가하여 제목에 명시된 오류가 발생한다.
따라서 오라클과의 연동을 지원하는 sql.Date 클래스를 import 해야 한다.
**만약 Date 입력 형식에 문제가 생기는 경우라면, 다음 어노테이션을 추가하면 된다.
@DateTimeFormat(pattern="yyyy-MM-dd") Date startdate