일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 이클립스
- 개발자
- Python
- Javascript
- 문자열
- node.js
- 웹페이지 만들기
- 홈페이지 만들기
- 프론트엔드
- java
- sts4
- 노드
- 웹개발자
- 파이썬
- git
- 웹개발
- spring
- 프롬포트 수정
- zxing
- jsp
- Spring Boot
- 문자열 자르기
- Eclipse
- 스프링부트
- 백앤드
- 백엔드
- QR코드
- HTML
- 코딩
- 웹페이지
- Today
- Total
웹개발왕
[JAVA] HttpServletRequest cannot be resolved to a type 에러 해결방법 본문
안녕하세요.
오늘은 톰캣에서 JSP로 개발한 웹프로젝트에서 발생한 에러에 대해 알아보겠습니다.
해당 에러 메세지는 'HttpServletRequest cannot be resolved to a type' 라고 출력됐습니다.
HttpServletRequest 란?
HttpServletRequest는 Java Servlet API에서 제공하는 인터페이스로, HTTP 요청에 대한 정보를 표현하는 객체입니다.
클라이언트가 서버에 요청을 보낼 때 요청과 관련된 데이터를 처리하기 위해 사용되는데요.
주로 서블릿이나 JSP에서 사용합니다.
주요 역할로는 4가지가 있습니다.
1. HTTP 요청 정보 제공
2. 클라이언트 정보 제공
3. 요청 데이터 처리
4. 요청 범위 관리
즉 클라이언트와 서버를 연결해주는 중요한 인터페이스인데요.
그럼 왜 'HttpServletRequest cannot be resolved to a type' 에러가 발생한걸까요?
에러 원인
이 에러가 어떤 에러인지 확인하는데 엄청난 삽질을 했는데요...
이 에러는 HttpServletRequest 인터페이스를 가져 올 수 없다는 에러입니다!
인터페이스를 가져 올 수 없는 경우는 프로젝트 구조가 잘못되었거나, 라이브러리를 누락된 경우가 있는데요.
HttpServletRequest 클래스는 톰캣 버전이 달라서 가져 올 수 없는 경우가 많습니다!
해결 방안
톰캣 10버전을 미만은 javax 패키지로, 톰캣 10버전 이상은 jakarta 패키지로 사용해야합니다.
왜냐하면 서블릿 API 버전이 다르기 때문입니다.
톰캣 버전 | 서블릿 API 버전 | 주요 HttpServletRequest 기능 |
Tomcat 7.X | 3.0 | 비동기 요청 지원 javax.servlet |
Tomcat 8.0 | 3.1 | 비동기 I/O 추가 지원 javax.servlet |
Tomcat 8.5 | 3.1 | 8.0과 동일 |
Tomcat 9.X | 4.0 | HTTP/2 지원 javax.servlet |
Tomcat 10.0 | 5.0 | Jakarta EE로 전환 jakarta.servlet |
Tomcat 10.1 | 6.0 | HTTP/3 지원 jakarta.servlet |
Tomcat 11.X | 6.1 | 최신 HTTP 지원 jakarta.servlet |
위 표를 보시고 본인 톰캣 버전에 맞는 HttpServletRequest 사용하시길 바랍니다.
저는 이렇게 사용중이였던 HttpServletRequest 를
이렇게 수정했더니 정상적으로 작동되었습니다.
다음엔 더 유익한 내용으로 포스팅하겠습니다.
읽어주셔서 감사합니다!
참고하면 도움되는 포스팅 ▼
[QR.G] JAVA zxing을 이용해서 WIFI 연결하는 QR코드 만들기
안녕하세요.오늘은 JAVA로 WIFI를 연결 할 수 있는 QR코드를 만들어보겠습니다. 오픈 라이브러리인 zxing을 이용할건데요.아직 zxing을 사용 안해보신분은 이전 포스팅 참고해주세요. [QR.G] JAVA로 QR
web-developer1.tistory.com
[Spring Boot] STS4 설치하기
오늘은 Spring 프레임워크를 이용해서 웹개발을 하기 위해 STS4(Spring Tool Suite 4)를 설치할려고 합니다.저와 같이 웹개발을 하고싶어 하는 누군가에게 조금이라도 도움이 되고자 글을 남겨봅니다참
web-developer1.tistory.com
[Python] __init__.py 파일에 대해서 알아보자
안녕하세요.오늘은 Python으로 개발할때 자주 사용하는 __init__.py 파일에 대해서 알아보겠습니다. __init__.py 파일은 Python에서 패키지를 정의하는 데 중요한 역할을 합니다. 우선 그 역할에 대해 알
web-developer1.tistory.com
'JAVA' 카테고리의 다른 글
[JAVA] split 함수로 문자열 자르기, 특수문자 자르기 (0) | 2024.10.24 |
---|---|
[JAVA] 배열 출력하는 방법 Arrays.asList() (1) | 2024.10.24 |
[JAVA] String, Integer 형변환하는 방법 (2) | 2024.10.15 |
[JAVA] 숫자 쉼표 표시하는 방법 DecimalFormat (0) | 2024.10.15 |
[JAVA] 문자열 indexOf, substring (0) | 2024.10.09 |