KB IT's Your Life/JSP&Servlet

JSP/Servlet [02] 웹 어플리케이션 프로젝트 시작하기

지식보부상님 2025. 5. 28. 11:14

[01] TomCat 서버 설치

◈ 툼캣 다운로드

https://tomcat.apache.org/

 

Apache Tomcat® - Welcome!

The Apache Tomcat® software is an open source implementation of the Jakarta Servlet, Jakarta Pages, Jakarta Expression Language, Jakarta WebSocket, Jakarta Annotations and Jakarta Authentication specifications. These specifications are part of the Jakarta

tomcat.apache.org

Tomcat 9 다운로드

 

◈ Tomcat 서버 설치하기

다운받은 압축 해제 후 

`C:\apache-tomcat-9.0.105` 


[02] Dynamic Web Project 만들기 

◈ 프로젝트 만들기 (IntelliJ 기준)

- File > New Project

    • Name : dynamic-web (이름 임의 지정)
    • Location : C:\KB IT's Your Life\jsp-servlet (프로젝트 저장할 디렉토리 임의 지정)
    • Template : Web application
    • Application server : Tomcat 9.0.85 (설치한 Tomcat버전)
    • Build system: Gradle
    • GroupId: org.scoula
    • ArtifactId : dynamic-web (Name 과 동일)

- Java 버전 임의로 지정 ( `Java EE 8` )

 

◈ 프로젝트 기본구조

◈ 톰캣의 실행 및 재기동

 

◈ HelloServlet.java

`src > main > java > HelloServlet`

더보기
package org.scoula.dynamicweb;

import java.io.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;

@WebServlet(name = "helloServlet", value = "/hello-servlet")
public class HelloServlet extends HttpServlet {
    private String message;

    public void init() {
        message = "Hello World!";
    }

    public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
        response.setContentType("text/html");

        // Hello
        PrintWriter out = response.getWriter();
        out.println("<html><body>");
        out.println("<h1>" + message + "</h1>");
        out.println("</body></html>");
    }

    public void destroy() {
    }
}

`@WebServlet(name = "helloServlet", value = "/hello-servlet")` 의 `value` 값이 다음 지정

 

◈ 톰캣 서버 설정 하기

IntelliJ 상단

 

구성편집시 보이는 화면 - context path 확인

  • URL : 현재 context path
  • VM options: -Dfile.encoding=UTF-8 (한글 인코딩 관련 설정)
  • On 'Update' action: How Swap classes

context path 변경

  • Application context : 원하는 이름 지정

재배포