본문 바로가기

JSP Programming/Tip & Tech2

The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path JSP 프로그래밍을 하다 보면 제목과 같은 오류를 자주 목격하게 된다. 주로 입문자들이 Tomcat을 가지고 프로그래밍을 할 때 나타나는데, 프로젝트를 생성할 때 Runtime을 추가하지 않고 나중에 서버를 추가하게 되는 경우 빌드 패스에 서버 런타임 라이브러리가 등록되지 않아서 발생하는 문제다. 일단 프로젝트 자체에도 X 표시가 출력되지만, JSP 파일을 생성하면 첫 번째 라인에 저런 오류 메시지가 출력된다. 1. 프로젝트에서 마우스 오른쪽 클릭 후 자바 빌드 패스로 들어간다. 2. 자바 빌드 패스에 오면 클래스 패스에 톰캣 라이브러리가 없다. 순서대로 Classpath를 클릭 후 Add Library로 들어간다. 만약 jdk의 버전이 1.8 또는 1.8 이전의 것이라면 Modulepath나 Class.. 2021. 2. 23.
Servlet / JSP에서 session이 유효한 상태인지 알아보는 방법 우리가 웹에서 로그아웃을 구현할 때 session을 무효화상태로 바꾸는 방법을 사용한다. session.invalidate(); 이렇게 invalidate() 메소드를 사용하여 세션을 무효화 시킨 이후에 해당 세션이 유효한지를 검증하는 방법으로 session == null로 세션이 null인지를 비교하는 방법을 주로 사용한다. 하지만 session.invalidate()를 통해 세션을 무효화 시킨다고 해서 session이 null이 되는 것은 아니다. 직접 session을 출력해보거나 session.getId() 메소드를 통해서 ID값도 가져올 수 있다. 하지만 session.isNew() 같은 메소드를 사용하면 아래와 같이 세션은 이미 무효화 상태라는 예외가 발생한다. java.lang.IllegalS.. 2021. 2. 7.