1.톰캣 설치하기
톰캣 10 버전 압축파일 다운로드하기
https://tomcat.apache.org/download-10.cgi
주의할 점
톰캣 9버전에서 10버전으로 넘어오면서 패키지 이름이 javax에서 jakarta로 바뀌었다. 톰캣 10 버전 쓰려면 패키지 이름 javax로 된거 jakarta로 바꾸어주어야한다.
그리고 원하는 경로에 압축을 풀어준다. 보통 c:/밑에 하는 경우가 많다.
2. 환경 설정하기
2.1 인텔리제이 새 프로젝트 생성 (file-> new -> project)
새로운 자바 프로젝트를 하나 만들어준다.
2.2 프레임워크 설정
돋보기아이콘을 눌러서 add framwork Support를 찾아 들어간다(프로젝트 폴더를 더블클릭하고 검색해야 저게 뜬다 )
Web Application ,Maven 선택하고 ok
그리고 build.gradle을 쓸거면 groovy, pom.xml을 쓸거면 Maven을 선택해준다. 나는 Maven을 선택했다.
ok하면 web.xml이 만들어지는 걸 확인할 수 있다 (maven선택하면 pom.xml도 생성된다.)
3. 톰캣 설정하기
3.1 dependency 추가하기
먼저 pom.xml에 톰캣 dependency(=라이브러리)를 추가해줄 것이다!!
https://mvnrepository.com/artifact/org.apache.tomcat/tomcat-servlet-api/10.1.34
설치한 톰캣 서버가 10.1.34이기 때문에 같은 라이브러리 버전으로 추가해주었다.
pom.xml이면 maven을 build.gradle이면 gradle을 쓰면 된다!!!
똑같이 드래그해서 dependencies태그에 감싸서 pom.xml에 추가해준다!!
dependency는 여러개를 보통 쓰기 때문에 dependencies태그로 꼭꼭꼭 감싸줘야한다!!!
그리고 pom내용을 수정하면 그 다음에 꼭 reload project해야한다. pom.xml파일 새로고침과 같은 기능이다(인텔리제이 최신버전은 reload에서 sync로 바뀌었다)
3.2 톰캣 설정하기
current file 있는 부분 클릭하면 드롭다운에 edit configurations 클릭하고
톰캣으로 실행할 환경을 만들기 위해서 톰캣 환경 추가
추가 버튼 누르면 여러가지 설정이 나오는데 여기서 tomcat>local 선택
(tomcat ee 아니고 그냥 tomcat이다!!)
configure 눌러서 톰캣 설치했던 경로에서 톰캣 불러오고 그냥 톰캣 바로 실행하면 한글이 깨지기 때문에 vm option을 다음과 같이 추가해준다.
-Dfile.encoding=UTF-8
deployment 설정하기
+ 누르면 war파일이 만들어진다.
( WAR 파일은 Java 웹 애플리케이션을 배포하기 위해 사용되는 형식으로, JSP나 Servlet과 같은 웹 애플리케이션 컴포넌트들이 WAS(Web Application Server) 컨테이너 위에서 실행될 수 있도록 미리 빌드된 형태이다.)
그리고 Application context는 기본 경로인데 localhost:8080/[context 경로] 이런식으로 된다.
비워두면 localhost:8080이 기본 경로!!
나는 URI기본 경로에 프로젝트 이름이 뜨게 하고싶지 않아서 다 지워줬다.
3.3 서블릿 파일 템플릿 만들기(이건 그냥 편하게 서블릿 파일 만들기 위함 필수아님.)
그 다음으로 서블릿 파일을 편하게 만들기 위해서 템플릿을 만들어주려고 한다.
File-> Settings에 들어가서 File and Code Template으로 들어간다
servlet.class에 있는 코드를 모두 복사해서 Files에 내가 쓸 템플릿을 커스텀 해준다.
이렇게 설정해두면 파일을 새로 생성할때 아래와 같이 내가 만든 템플릿을 선택할 수 있다.
4 서블릿으로 테스트 하기
이렇게하고 run을 해주면 기본은 localhost:8080으로 접속이 되는데 뒤에 주소가 없으면 web폴더에 기본으로 있는 index.jsp로 접속이 된다.
그리고 index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>$Title$</title>
</head>
<body>
$END$
</body>
</html>
그리고 예시 코드를 작성해보았다.
아래는 get 예시 코드이다.
@WebServlet으로 URL매핑 해주었다. 이 어노테이션을 쓰면 web.xml 파일에 별도의 설정 없이 서블릿을 등록할 수 있다.
import jakarta.servlet.*;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.*;
import java.io.IOException;
import java.io.PrintWriter;
@WebServlet(name="test", value = "/test")
public class Servlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("클라이언트가 HTTP GET 방식으로 접속했다");
//한글로 출력하기 하기 위해서 utf-8설정
response.setContentType("text/html;charset=utf-8");
//출력하기 위한 출력 스트림
PrintWriter out = response.getWriter();
out.println("서블릿 코드를 GET으로 실행함");
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}
만든 서블릿 테스트 해보려면 localhost:8080/test로 접속하면된다.
끗!!
'Programming > java' 카테고리의 다른 글
[JAVA] @WebServlet 404에러 (0) | 2025.01.07 |
---|