FrontEND/Jsp

IntelliJ JSP 개발환경 설정 가이드

mingmingIT 2025. 4. 12. 10:22

Java 웹 개발 시 JSP(JavaServer Pages)를 사용하는 경우, IntelliJ IDEA에서 환경 설정을 제대로 하지 않으면 실행조차 되지 않거나, 빌드/디버그에 문제가 생기는 경우가 많습니다. 특히 Spring Boot가 아닌 전통적인 Servlet 기반 또는 Spring MVC와 함께 사용하는 경우 더욱 신경 써야 할 설정들이 있습니다.

이 포스팅에서는 IntelliJ IDEA에서 JSP 개발환경을 제대로 구성하는 방법을 단계별로 상세히 안내드립니다.


1. IntelliJ 에디션 확인

JSP 개발은 IntelliJ IDEA Ultimate 버전에서만 정식 지원됩니다.

  • ✔ Ultimate: 톰캣 연동, JSP 편집기, 디버깅 지원
  • ❌ Community: JSP 지원이 제한됨 (수작업 설정 필요, 추천 X)

만약 Community 버전 사용자라면 Eclipse나 STS를 사용하는 것을 추천드립니다.


2. 프로젝트 생성 시 설정

1) New Project 생성

  • File → New → Project
  • 좌측에서 Java Enterprise 선택
  • Build system: Maven 또는 Gradle 선택
  • Application Server: Apache Tomcat 선택
  • Template: Web Application 체크

2) 프로젝트 구조 확인

  • src/main/webapp/WEB-INF/web.xml 생성 여부 확인
  • src/main/webapp 폴더 안에 *.jsp 파일 배치

3. Tomcat 연동 및 실행 설정

1) Tomcat 다운로드 및 연동

  • Tomcat 공식 사이트에서 원하는 버전 다운로드: https://tomcat.apache.org/
  • IntelliJ > Settings > Application Servers > Tomcat 추가

2) Run/Debug 설정

  • Run > Edit Configurations
  • + → Tomcat Server → Local
  • Deployment 탭에서 artifact: war exploded 추가
  • Server 탭에서 HTTP 포트 및 context path 설정

💡 Tip: On 'Update' action: Redeploy 설정해두면 수정한 JSP 바로 반영됨


4. JSP 파일 인식 및 하이라이팅 문제 해결

1) File Type 확인

  • Settings → Editor → File Types
  • *.jsp가 HTML/JSP로 설정되어 있는지 확인

2) JSP Validation 활성화

  • Settings → Languages & Frameworks → JSP
  • Enable JSP syntax validation 체크

3) 자동완성 오류 해결 (태그 인식 안 될 때)

  • JSTL 라이브러리 추가
  • pom.xml에 다음 의존성 추가:
<dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>jstl</artifactId>
  <version>1.2</version>
</dependency>

5. 톰캣 없이 빌드 & 배포 (Spring Boot와 함께 사용하는 경우)

Spring Boot에서 JSP를 사용할 경우 내장 톰캣으로 JSP 렌더링이 제한됩니다. 아래 사항을 반드시 체크해야 합니다.

1) JSP가 src/main/webapp 아래 위치해야 함

  • JSP 파일은 src/main/resources/templates 가 아니라 webapp 폴더에 있어야 합니다.
  • Spring Boot에서는 application.properties 설정 추가 필요:
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp

2) 의존성 추가 (JSP 렌더링 라이브러리)

<dependency>
  <groupId>org.apache.tomcat.embed</groupId>
  <artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>jstl</artifactId>
</dependency>

3) 실행 시 주의사항

  • spring-boot:run으로는 JSP가 정상적으로 반영되지 않을 수 있음
  • IntelliJ에서 Tomcat Run Configuration을 이용한 실행 권장

결론

JSP는 레거시로 분류되지만 여전히 유지보수 중인 수많은 시스템에서 사용 중입니다. IntelliJ IDEA에서 JSP 개발 환경을 정확히 구성해두면 불필요한 오류를 줄이고 생산성을 크게 향상시킬 수 있습니다.