Programming Study/Java Spring

개발환경 세팅 (IntelliJ + JDK + Maven + Tomcat)

Solbi Lee 2025. 6. 18. 09:24

1. 자바 웹 개발을 위한 기초 지식 

- 자바 : 프로그래밍 언어

- JDK(Java Development Kit) : 자바 언어를 개발하고 실행할 수 있게 해주는 도구

- IntelliJ IDEA : 자바 프로그램을 효율적으로 만들게 도와주는 IDE(통합개발환경)

- Maven : 라이브러리 의존성을 자동 관리하고 프로젝트를 편리하게 만들어주는 도구

- Tomcat : 만들어진 자바 웹 프로그램(Servlet, JSP)을 실행해주는 웹 서버

 

2. JDK 설치와 환경 변수 설정 

오라클 공식 사이트에서 JDK11 다운로드

설치 후 cmd에서 확인 

java -version

 

환경변수 설정하기 

windows 검색창에 환경 변수 입력 후 시스템 환경변수 열기 

시스템 변수 > 새로 만들기 

이름 : JAVA_HOME 

값 : C:\Program Files\Java\jdk-11.x.x (설치한 경로)

시스템 변수의 Path에서 %JAVA_HOME%\bin 추가

cmd에서 테스트 

javac -version

 

3. Maven 프로젝트 생성과 의존성 추가 

< Maven 이란 ? >

프로젝트 관리도구 

주 역할 : 

- 필요한 라이브러리 (의존성) 자동 다운로드 및 관리 

- 소스 코드를 WAR(웹 배포용 파일)로 자동 패키징 

- 프로젝트 구조 표준화 (폴더 구조)

=> 필요한 외부 라이브러리를 자동으로 가져와서 프로젝트를 손쉽게 관리해주는 역할! 

 

File → New → Project

왼쪽 메뉴에서 Maven 선택 

project SDK에서 위에서 설치한 JDK 선택 

 

메이븐 의존성 설치하기 

pom.xml 파일을 열고, Servlet 의존성 추가 

<!-- Servlet API 의존성 추가 -->
<dependencies>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>4.0.1</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>jsp-api</artifactId>
        <version>2.2</version>
        <scope>provided</scope>
    </dependency>
</dependencies>

추가한 후, IntelliJ 우측 Maven 메뉴에서 🔄 클릭(의존성 다운로드 확인!)

 

4. Apache Tomcat 설치와 IntelliJ 연동하기

< 톰캣이란 ? >

웹 서버 + 서블릿 컨테이너 

주 역할 :

클라이언트 (웹 브라우저)의 http 요청을 받아 자바 코드 (servlet, jsp)를 실행 

자바 코드 실행 결과를 html 형태로 변환해 브라우저로 전달 

=> 서블릿과 JSP가 포함된 웹 프로그램을 실행해서 웹페이지를 사용자에게 제공해주는 서버.

 

작동원리 :

브라우저(요청) -> 톰캣 (요청 처리 -> servlet 실행 -> JSP 생성)  -> 브라우저 (응답 HTML)

 

Tomcat 공식 사이트에서 Tomcat9 다운로드

IntelliJ 상단의 Run → Edit Configurations

좌측상단 + 버튼 클릭 Tomcat Server -> Local 선택 

Configure ... 클릭 -> Tomcat 설치 경로 지정 

Deployment 탭에서 + 버튼 → Artifact 선택하여 배포할 프로젝트 선택

Apply → OK 클릭

 

5. 최종 환경 설정 테스트 및 정리 

package com.example.controller;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;
import java.io.PrintWriter;

@WebServlet("/hello")
public class HelloServlet extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        out.print("<h1>Hello Servlet!</h1>");
    }
}