아메리카노가 그렇게 맛있답니다 여러분

해당 오류는 보통 톰캣을 켜고 난 뒤 jsp, 또는 서블릿 페이지에 접근하려 할 때 발생하는 오류다. (MVC패턴을 사용했다면 jsp로 바로 접근할 때는 나오지 않지만 서블릿에서 포워딩하여 이동할 경우에만 발생한다.)


문제의 근본적인 원인은 instantiate하기 위해서는 클래스 정보가 필요한데 이 작업을 할 수 없기 때문에 발생하는 것이며 원인은 본인이 아는 바로는 대략 두 가지가 있으며 이 문제의 해결은 경험에 의한 것들이었으므로 이보다 더 다양한 이유로 해결이 되지 않을 수 있다.


1. web.xml문제

서블릿 클래스(<servlet-class>)가 올바르게 연결되지 않았거나 없다면 발생할 수 있다. 


2. 라이브러리 인식 문제

라이브러리는 WEB-INF폴더 아래에 두는 것이 좋고, 만약 WEB-INF/lib으로 폴더를 만들어서 두었는데도 오류가 발생한다면, 그리고 다른 것에 문제가 없어보인다면 lib폴더를 잠시 프로젝트 최상위 폴더에 놓는다.(lib폴더를 드래그해서 해당 프로젝트에 드랍하면 된다) lib폴더 위치 변경 후 조금 기다리면 서블릿들이 라이브러리를 인식하지 못해 에러가 뜨게 되는데, 다시 WEB-INF아래로 이동시킨다. 사실 본인도 이 과정이 라이브러리를 찾는데 어떤 의미가 있는지는 모르겠지만 결과적으로 좋은 결과를 가져다 주었다. (아마 이클립스 내부적으로 빌드할 때 인식하지 못하던 것을 오류를 발생시켜 문제로 인식하게 한 후 다시 이동시켜서 알아내는 것이 아닌가 싶다.)