티스토리 뷰
우선 servlet을 만들고 실행시키려면 java와 tomcat이 설치되어 있어야 한다.
1️⃣ servlet 만들기
- HttpServlet 을 상속 받아 생성한다.
- 저장 시 class이름과 동일하게 이름을 지정하고 java 확장자로 저장한다.
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class MyServlet extends HttpServlet {
public void service(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
System.out.println("Hello Servlet!");
}
}
2️⃣ 컴파일하기
- servlet-api.jar라는 라이브러리를 사용하여 컴파일 해준다.
- 라이브러리는 위치는 tomcat - lib - servlet-api.jar
$ javac -cp 라이브러리경로 파일이름

컴파일을 완료하면 아래처럼 class파일이 생긴 걸 확인 할 수 있다.

3️⃣ 실행시키기
- WEB_INF 폴더는 외부에서 요청할 수 있는 폴더가 아니다.
- 실행시키기 위해서는 apache-tomcat-9.0.60/webapps/ROOT/WEB-INF 에 classes 폴더를 생성 한 후, 그 안에 2번째 단계에서 만든 class 파일을 넣어준다.
- 위 class파일도 절대로 직접적으로 요청 할 수 없기 때문에, 약속 한 매핑 방식으로 요청을 해야한다.
- WEB_INF 의 web.xml 에 아래의 내용을 작성해준다.
<servlet>
<servlet-name>my</servlet-name>
<servlet-class>MyServlet</servlet-class> //사용자가 /hello라는 URI로 요청을 하면 실행시킬 class명
</servlet>
<servlet-mapping>
<servlet-name>my</servlet-name>
<url-pattern>/hello</url-pattern> //사용자는 /hello라는 URI로 요청을 한다.
</servlet-mapping>
작성 후 톰캣 재실행
#톰캣-bin으로 디렉토리 이동 후
$ ./shutdown.sh
$ ./startup.sh
그리고 localhost:8080/hello로 이동하면 하얀 페이지가 나오는데, 아직 사용자에게 돌려주는 어떤 처리를 한 것이 없기 때문에 정상 작동이라고 볼 수 있다 ! 오류가 안난다면 ok! 😆

그래도 정말 실행이 된건가 확인해보고 싶다면, 톰캣 로그에서 확인 해보면 된다! 그러면 작성한 대로 "Hello Servlet!"이 출력 된 것을 볼 수 있다.
$ cd tomcat/logs
$ cat catalina.out

'백엔드 > servlet' 카테고리의 다른 글
servlet filter 만들기 (0) | 2022.03.27 |
---|
- Total
- Today
- Yesterday
- 현대
- tomcat
- 오토에버코테
- 전자정부프레임워크
- 현대오토에버
- centos
- java
- 쿠버네티스
- 톰캣
- Kubernetes
- 자바스크립트
- 코테
- 코딩테스트
- react
- nginx
- 자바코테
- 스프링
- Spring
- mysql
- springboot
- Linux
- 도커
- 리액트
- 현대코테
- softeer
- 아파치카프카
- softeer java
- 자바
- Docker
- javascript
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |