준호씨의 블로그
간단한 servlet 프로젝트 만들기. tomcat9, servlet4. maven, IntelliJ 본문
이번 글에서는 tomcat9와 servlet4를 이용한 간단한 프로젝트를 만들어 보려고 합니다. tomcat 버전과 servlet 버전의 관계를 확인하려면 http://tomcat.apache.org/whichversion.html에서 확인할 수 있습니다.
빌드 도구로는 maven을 이용할 거고요. IDE는 IntelliJ를 사용하려고 합니다.
우선 tomcat9를 설치합니다. https://tomcat.apache.org/download-90.cgi에서 tar.gz 파일을 받아서 적당한 위치에 압축을 풀어 줍니다. 저는 /Users/junho85/project에 설치해 주었습니다.
저는 아래 명령어로 압축파일을 받고 풀어 주었습니다. 버전이나 사이트 정책에 따라 경로는 바뀔 수 있습니다.
$ wget http://mirror.apache-kr.org/tomcat/tomcat-9/v9.0.33/bin/apache-tomcat-9.0.33.tar.gz
$ tar xvfz apache-tomcat-9.0.33.tar.gz
tomcat 설치는 이 정도만 해 주면 됩니다. 이제 servlet 프로젝트를 만들어 보겠습니다.
IntelliJ에서 File -> New -> Project로 가서 maven 프로젝트를 생성합니다.
project name과 groupId 등은 적절히 입력합니다.
pom.xml 파일에 servlet api dependency를 추가해 줍니다. https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api에서 maven 공개 저장소에 있는 버전과 xml 설정을 확인할 수 있습니다. 현재 4.0.1이 최신 버전이네요.
4.0.1을 선택하면 maven 설정을 확인할 수 있습니다. 마우스로 클릭하면 자동으로 복사해줍니다.
프로젝트의 pom.xml 파일에 붙여 넣기 합니다.
우측의 Maven탭을 열고 Reimport를 눌러주면 servlet api 4.0.1을 가져온 것을 확인할 수 있습니다.
프로젝트를 웹 프로젝트로 만들어 줍니다. File -> Project Structure -> Modules에서 Web을 추가합니다.
우측 하단에 Create Artifact를 선택합니다.
src/main/java 에 New -> Create New Servlet을 선택합니다.
MyServlet 파일이 생성되었습니다.
doGet에 아래 코드를 추가합니다.
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<h1>Hello World!</h1>");
그리고 @WebServlet(name = "MyServlet")을 @WebServlet("/MyServlet")으로 수정합니다.
프로젝트를 구동해서 확인해 봅시다. 오른쪽 위에 Add Configuration을 선택합니다.
+ 버튼을 누르거나 Cmd + n을 누르고 Tomcat Server -> Local을 선택합니다.
Name에 적당히 이름을 넣어 줍니다. Tomcat 9를 선택합니다. 포트가 충돌한다면 다른 포트로 바꾸어 줍니다.
저는 8080을 쓰려니 충돌해서 28080으로 바꿨습니다. JMX포트도 21099로 바꿨습니다.
Tomcat 9 가 없을 수 있는데 그런 경우 Configure를 눌러서 Tomcat 9를 추가해 줍니다. 설치했던 경로로 추가해 줍니다.
이미 있어서 하나 더 추가했습니다.
아까 Run/Debug Configuration에서 우측 하단에
이런 게 있었는데 Fix 버튼을 눌러 줍니다.
Deployment탭에 simple-servlet:Web exploded 가 추가된 것을 볼 수 있습니다. Application context는 나중에 브라우저에서 확인할 때 기본 경로에 되는데요. 마음에 들지 않는다면 다른 것으로 수정해 줍니다.
자 이제 Tomcat을 구동해 봅시다. Run을 눌러줍니다.
브라우저가 뜨면서 "404 - 찾을 수 없음" (404 Not Found)가 뜨는 걸 볼 수 있는데요.
url이 완성되지 않았기 때문입니다. 뒤에 MyServlet을 추가합니다.
휴~ 프로젝트 세팅이 완료되었습니다. 이제 servlet을 추가해 주면서 작업하면 됩니다.
'개발이야기' 카테고리의 다른 글
워드프레스 계정 복구 (0) | 2020.04.02 |
---|---|
tomcat9, servlet4 옛 방식인 web.xml 로 페이지 추가하기 (0) | 2020.03.30 |
OSX - tomcat과 httpd를 같은 포트로. mod_jk 설정하기 2. mod_jk httpd에 설정하기 (0) | 2020.03.27 |
OSX - tomcat과 httpd를 같은 포트로. mod_jk 설정하기 1. mod_jk 빌드하기 (0) | 2020.03.26 |
MySQL - password 정책 낮춰서 단순한 패스워드 사용하기. ERROR 1819 (HY000): Your password does not satisfy the current policy requirements. (0) | 2020.03.25 |