[IntelliJ] Cannot resolve symbol 'HttpServletRequest’

sbj·2023년 12월 13일
0

ERROR.zip

목록 보기
12/19
post-thumbnail

2023년 12월 13일 오전 9:00


Problem (문제)

Cannot resolve symbol 'HttpServletRequest’

인텔리제이에서 서블렛 공부 중, 서블렛 자체를 인식 못 하는 이슈가 발생했다.


Causes(원인)

  1. 서블릿 API 라이브러리가 추가되지 않았을 때
  2. 라이브러리의 경로가 잘 못 설정되어 있을 때

Solution(해결법)

  1. File | Project Structure ⌘; → Modules.

Dependencies ⇒ servlet-api, jsp-api jar파일을 적용했으나 이슈는 해결되지 않는다.

이클립스의 경우 classpath에 추가해주면 해결됐지만, 인텔리제이는 뭘 건드려야 하는가?


  1. **pom.xml**
<dependency>
            <groupId>jakarta.servlet</groupId>
            <artifactId>jakarta.servlet-api</artifactId>
            <version>5.0.0</version>
            <scope>provided</scope>
</dependency>

의존성 추가한 것 확인했다.


  1. 버전 확인

Apache Tomcat version 10.0 implements the Servlet 5.0 and JavaServer Pages 3.0 specifications from Jakarta EE

현재 톰캣 10.1과 Servlet 5.0.0 호환 가능하다. 문제없다.


해결했다.

나는 HttpServletResponse 클래스를 임포트하지 않아서였다.

이클립스에서 단축키로 자동으로 임포트하는 것에 익숙해져서 이상한 (;) 실수를 했다.
이런 이슈는 이클립스에서도 자주 마주했기에 의존성, 경로, 버전 문제인가 해서 한참을 들여다 보고 있었는데 기본적인 걸 간과했다.


즉, 이런 에러가 발생한다면

  1. servlet-api, jsp-api jar
  2. 혹은 의존성 확인
  3. 클래스 임포트 확인하기 (....)

하면 해결할 수 있을 것이다.

profile
Strong men believe in cause and effect.

0개의 댓글